Skip to main content
Glama
msvinth
by msvinth

Unfolded Circle Remote MCP

An independent Model Context Protocol server for reading and configuring an Unfolded Circle Remote Two or Remote 3 through the official Core REST API.

The server exposes activities, touchscreen pages, profiles, integration entities, physical-button mappings, and a generic Core API request tool to MCP clients such as GitHub Copilot CLI.

WARNING

This server uses an admin API key and includes write, replacement, delete, and unrestricted request tools. A mistaken tool call can change or remove remote configuration. Back up important setups and test with thecore simulator first.

Requirements

  • Python 3.10 or newer

  • uv for the examples below

  • An Unfolded Circle Remote or core simulator reachable from the MCP host

  • An admin API key for authenticated endpoints

Related MCP server: WHOOP MCP Server

Run directly from GitHub

UC_REMOTE_URL=http://192.168.1.50 \
UC_API_KEY=replace-me \
uvx --from git+https://github.com/msvinth/uc-remote-mcp uc-remote-mcp

For a local checkout:

uv run uc-remote-mcp

The server uses stdio transport. Configure environment variables in the MCP client rather than expecting the server to read a .env file automatically.

Create an API key

On the remote, generate a web-configurator PIN from the profile/settings view. Then run the helper from a clone:

./scripts/setup-api-key.sh 192.168.1.50

The PIN is read from a hidden prompt instead of a command-line argument. The new key is printed once; store it securely.

MCP client configuration

Add this entry under mcpServers:

{
  "mcpServers": {
    "unfolded-circle": {
      "type": "local",
      "command": "uvx",
      "args": [
        "--python",
        "3.12",
        "--from",
        "git+https://github.com/msvinth/uc-remote-mcp",
        "uc-remote-mcp"
      ],
      "env": {
        "UC_REMOTE_URL": "http://192.168.1.50",
        "UC_API_KEY": "replace-me"
      },
      "tools": ["*"]
    }
  }
}

Keep the configuration file private because it contains the API key.

Home Assistant Copilot Terminal

The Copilot Terminal app in /Users/msvinth/private/home-assistant-apps/copilot-terminal already includes uvx, uses Python 3.12 for MCP servers, starts in /config, and persists Copilot data at /data/home/.copilot/.

Its MCP config is:

/data/home/.copilot/mcp-config.json

Retain the existing home-assistant entry and add unfolded-circle beside it:

{
  "mcpServers": {
    "home-assistant": {
      "type": "local",
      "command": "uvx",
      "args": [
        "--index-strategy",
        "unsafe-best-match",
        "--python",
        "3.12",
        "ha-mcp"
      ],
      "env": {
        "HOMEASSISTANT_URL": "http://supervisor/core",
        "HOMEASSISTANT_TOKEN": "provided-by-the-app"
      },
      "tools": ["*"]
    },
    "unfolded-circle": {
      "type": "local",
      "command": "uvx",
      "args": [
        "--python",
        "3.12",
        "--from",
        "git+https://github.com/msvinth/uc-remote-mcp",
        "uc-remote-mcp"
      ],
      "env": {
        "UC_REMOTE_URL": "http://192.168.1.50",
        "UC_API_KEY": "replace-me"
      },
      "tools": ["*"]
    }
  }
}

The current Copilot Terminal setup-ha-mcp.sh regenerates this file at app startup with only the Home Assistant entry. A manual merge can therefore be overwritten on restart. Persistent automatic registration should be added later as an optional feature in that sibling project; this repository does not modify the app.

Configuration

Variable

Required

Description

UC_REMOTE_URL

Yes

Remote origin only, such as http://192.168.1.50; do not include /api.

UC_API_KEY

For authenticated tools

Admin API key created by the remote.

UC_TIMEOUT

No

Positive request timeout in seconds; defaults to 20.

Tools

Discovery and escape hatch: uc_ping, uc_ui_reference, uc_request, get_screen_layout.

Entities: list_entities, get_entity.

Integrations: list_integration_instances, list_available_entities, configure_entities.

Activities: list_activities, get_activity, get_activity_ui_pages, get_activity_ui_page, create_activity_ui_page, update_activity_ui_page, delete_activity_ui_page, reorder_activity_ui_pages, get_activity_buttons.

Profiles and groups: list_profiles, get_profile, get_profile_pages, get_profile_page, update_profile_page, get_profile_groups, list_activity_groups.

There are 25 tools in total. uc_request can call any Core REST API endpoint available to the configured key.

Suggested workflow

  1. Call uc_ping.

  2. Inspect the target activity, profile, or page.

  3. Call uc_ui_reference before constructing UI payloads.

  4. Make the smallest possible update.

  5. Read the object again to confirm the result.

An entity provided by Home Assistant or another integration must be configured on the remote before it can be placed on a page. Use list_integration_instances, list_available_entities, and configure_entities in that order.

Compatibility

The package targets the current MCP Python SDK v2 and Python 3.10+. Its endpoint coverage was reviewed against Unfolded Circle REST Core API 0.46.x. The Core API is pre-1.0 and may change between firmware releases.

Home Assistant entity support depends on the remote's integration driver: integration-home-assistant.

Development

uv sync
uv run ruff check .
uv run ruff format --check .
uv run pytest
uv build

See SECURITY.md before reporting credential or command-execution issues.

License and attribution

Original code and documentation in this repository are licensed under the MIT License.

Unfolded Circle API specifications and documentation have their own upstream licenses. This project links to those sources and does not relicense them. Unfolded Circle is a trademark of its respective owner. This community project is not affiliated with or endorsed by Unfolded Circle.

Available Tools

25 tools
configure_entitiesB

Configure integration entities so they can be used by the remote.

An empty entity_ids list asks the Core API to configure all available entities for the integration.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idsYes
integration_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the burden. It discloses that an empty entity_ids list configures all available entities, which is useful. However, it does not specify side effects (e.g., whether configuration is sent immediately, permissions needed, or if it is destructive). The added behavior is a positive, but more disclosure is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences. The first states the main purpose, and the second adds a key behavioral detail. No unnecessary words or redundancy. It is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so explaining return values is not required. However, as a configuration tool, it lacks information on idempotency, error cases, or whether configuration changes are immediately applied. With no annotations, the description is moderately complete but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It partially clarifies the 'entity_ids' parameter by describing the empty list behavior, but does not explain 'integration_id' or the format of entity_ids. The baseline for 0% coverage is 3, and the description provides some additional meaning for one parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it configures integration entities for use by the remote. The verb 'configure' and resource 'integration entities' are clear. It distinguishes from sibling tools like list_entities and get_entity by indicating a configuration action. However, it does not explicitly differentiate from other configuration-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description only explains the behavior of an empty entity_ids list but does not mention prerequisites, limitations, or scenarios where other tools are more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_activity_ui_pageC

Append a touchscreen page to an activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
itemsNo
entity_idYes
grid_widthNo
grid_heightNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must disclose side effects, required permissions, and behavioral traits. It only states 'append,' but doesn't explain what happens to existing pages, reordering behavior, or whether changes are reversible. The presence of an output schema is not reflected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but lacks structure. It leaves out crucial details, so the brevity comes at the expense of completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters, an output schema, and no annotations, the description is insufficient. It does not explain the function of items, grid dimensions, or what the tool returns, leaving significant gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanation for any of the 5 parameters (name, items, entity_id, grid_width, grid_height). The agent receives no semantic help beyond the schema's field names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'append' and identifies the resource as a 'touchscreen page' and target as 'activity', making the action clear. However, it doesn't differentiate from sibling tools like create, update, or delete, which could confuse selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like update_activity_ui_page or reorder_activity_ui_pages. No prerequisites, conditions, or exclusion criteria are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_activity_ui_pageB

Permanently delete a touchscreen page from an activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYes
entity_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description notes that deletion is permanent, which is a critical behavioral trait. However, it does not disclose other relevant behaviors like required permissions, impact on related data, or whether confirmation is needed. Annotations are absent, so the description carries the full burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, using a single clear sentence. It could be slightly expanded to cover key behavioral aspects without becoming verbose, but it is not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity and presence of an output schema, the description provides minimal but adequate information. However, it lacks parameter clarification and usage context, which are needed for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not elaborate on the parameters (page_id and entity_id). It does not add meaning beyond the schema's property names, which are self-explanatory but lack context (e.g., format, required relationship).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (permanently delete), resource (touchscreen page), and context (from an activity). It effectively distinguishes from sibling tools like create_activity_ui_page and update_activity_ui_page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as update_activity_ui_page for modifications or reorder_activity_ui_pages for rearranging. There is no mention of prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_activityC

Get an activity definition, including UI and button mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states what is returned (UI and button mappings) without mentioning any side effects, permissions, or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no filler. It front-loads the action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of sibling tools and an output schema, the description lacks details about the response format, any constraints, or how this tool fits into the broader context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'activity definition' but does not explain the 'entity_id' parameter or its relationship to activities.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'get' and the resource 'activity definition', and specifies that it includes UI and button mappings. However, it does not differentiate from sibling tools like 'get_activity_ui_pages' or 'get_activity_buttons'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It lacks any context about prerequisites or when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_activity_buttonsC

Get physical-button command mappings for an activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavioral traits. It implies read-only via 'Get', but doesn't mention permissions, side effects, or output structure. Minimal transparency beyond the verb.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. However, it could be slightly expanded without losing conciseness to improve other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists (reducing the need to explain return values), the description fails to provide context for the parameter, usage guidance, or behavioral details. It is incomplete for effective tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'entity_id' has no description in the schema (0% coverage) and the tool description does not explain its purpose or format. The description adds no value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'physical-button command mappings for an activity', which distinguishes it from sibling tools like 'get_activity' or 'get_activity_ui_pages'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as when to use 'get_activity' or 'get_activity_ui_pages'. The description lacks any contextual hints for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_activity_ui_pageC

Get one touchscreen UI page of an activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYes
entity_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits like read-only nature, authentication needs, or side effects. The single sentence gives no such information, leaving the agent unaware of safety or requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, but it is under-informative. Conciseness should maintain necessary details; here critical context is missing, making it too terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description fails to provide context about the tool's purpose relative to its parameters or expected behavior. For a tool with two required parameters and no schema descriptions, the description is severely inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain what 'entity_id' and 'page_id' represent (e.g., that entity_id identifies the activity). The parameters remain undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it gets one touchscreen UI page of an activity, using the verb 'get' and specifying the resource. It differentiates from siblings like 'get_activity_ui_pages' by using 'one' to imply singular retrieval. However, it does not explicitly clarify that it uses page_id and entity_id to identify the specific page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'get_activity_ui_pages' or other get_activity_* tools. There is no mention of prerequisites or typical workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_activity_ui_pagesB

List the touchscreen UI pages of an activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It implies a read-only operation but does not explicitly state lack of side effects, permissions needed, or other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single short sentence front-loads the purpose. No filler, but could be slightly expanded to include usage context without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of a list tool and existence of an output schema (not shown), description is adequate. However, it omits details like ordering, pagination, or whether all pages are returned at once.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, requiring description to explain parameters. Description only mentions 'of an activity' indirectly hinting that entity_id is an activity, but does not specify format, purpose, or required format for the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'List' and resource 'touchscreen UI pages', clearly indicating the action and scope. It distinguishes from sibling tool 'get_activity_ui_page' (singular) which would retrieve a single page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. Lacks context on prerequisites or conditions for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_entityC

Get the complete definition of a configured entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose behavioral traits such as whether it is read-only, required permissions, or potential errors (e.g., if entity_id is invalid).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is front-loaded with the action and resource. It contains no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter) and presence of an output schema, the description is adequate but fails to mention error scenarios or anything about the return structure beyond what the output schema provides.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'entity_id' lacks description, and the schema description coverage is 0%. The description does not specify what kind of identifier (UUID, name) or where it comes from.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves a complete definition of a configured entity using the verb 'Get' and specifying the resource, which distinguishes it from 'list_entities' and 'list_available_entities' that likely return summaries or lists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus siblings or alternatives. There is no mention of prerequisites, such as the entity needing to be configured or the source of the entity_id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_profileC

Get a profile definition.

ParametersJSON Schema
NameRequiredDescriptionDefault
profile_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states the purpose, omitting details like authentication needs, data scope, or side effects. A simple read operation is assumed but unconfirmed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise but sacrifices informativeness. It front-loads the purpose but lacks any additional structure or detail, making it borderline insufficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (not shown) and many sibling tools, the description should clarify the concept of 'profile definition' and how this tool fits. It fails to do so, leaving the context incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning for the profile_id parameter. The agent receives no hints about the format, expected values, or how the parameter relates to 'profile definition'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a profile definition' clearly indicates the action and resource. However, it does not distinguish from sibling tools like list_profiles or get_profile_pages, which also fetch profile-related data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. For instance, get_profile vs list_profiles or get_profile_pages is not addressed, leaving the agent to guess context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_profile_groupsC

List the entity groups of a profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
profile_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, required permissions, or any side effects. For a listing tool, the burden falls on the description to convey these details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no waste, but it is too terse. It could be expanded slightly without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description does not mention what the output contains (e.g., list of groups). For a simple tool, the description is barely adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and only one parameter, the description adds no meaning beyond the schema. The parameter 'profile_id' is not explained (e.g., format, source).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list', the resource 'entity groups', and the scope 'of a profile'. This effectively differentiates from siblings like 'list_activity_groups'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'list_activity_groups' or 'list_entities'. The description lacks context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_profile_pageC

Get one home-screen page of a profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYes
profile_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It only states 'Get', implying a read operation, but omits details on permissions, rate limits, or whether results are paginated. The existence of an output schema is not leveraged in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence that is concise. However, it could be slightly expanded to include parameter details without losing conciseness. Structure is adequate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (2 required parameters, no annotations, unknown output schema), the description is incomplete. It fails to explain what a 'home-screen page' is, how it fits with other profile tools, or what the response contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 0%, meaning no parameter descriptions exist. The tool description does not explain the purpose or constraints of 'page_id' and 'profile_id', such as how to obtain them or valid formats. This is a critical gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the resource ('one home-screen page of a profile'). However, it does not differentiate from sibling tools like 'get_profile_pages' (plural) or 'get_screen_layout', which might cause confusion about which tool to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With siblings like 'get_profile_pages' (list all pages) and 'update_profile_page', the agent has no criteria to decide which tool fits the context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_profile_pagesC

List the home-screen pages of a profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
profile_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as pagination, error handling, or ordering. It only states the basic action without additional context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it is too brief to provide sufficient guidance. It could be expanded without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the return structure is covered, but the description lacks context about what 'home-screen pages' are and any prerequisites or edge cases. The tool has one required parameter, and the description adds minimal value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%; the description adds no meaning beyond the parameter name 'profile_id.' No format, constraints, or examples are given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and resource 'home-screen pages of a profile,' clearly indicating the action and scope. It distinguishes from sibling tools like 'get_profile_page' (singular) and 'get_profile'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'get_profile_page' or 'get_profile.' The description does not mention context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_screen_layoutA

Get device screen metadata and the default activity UI grid.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It correctly implies a read operation but lacks details about what 'screen metadata' includes or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with purpose, no extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists, description need not detail return values. However, lacks context on how the screen is identified (e.g., device id) or scope, but acceptable for a simple getter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is trivial 100%. Baseline of 4 is appropriate for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it gets 'device screen metadata' and 'default activity UI grid', which is a specific verb-resource combination. It distinguishes from sibling tools that deal with activity UI pages or other entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'get_activity_ui_page' or 'get_profile_page'. No prerequisites or context mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_activitiesA

List activities configured on the remote.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure, but it only states what the tool does, not its effects, requirements, or constraints (e.g., read-only, authentication needs).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, appropriate for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema and no parameters, the description is mostly complete, though it could mention what aspects of activities are returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description cannot add meaning to parameters; however, the baseline for 0 parameters is 4, and the description is clear enough.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'List' and the resource 'activities configured on the remote', clearly differentiating it from siblings like list_activity_groups (which lists groups) and list_entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor are there any preconditions or exclusions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_activity_groupsB

List activity groups configured on the remote.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits (e.g., read-only nature, permissions, side effects). It only states the basic operation, failing to mention if it is safe, requires authentication, or has any limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It is front-loaded with the key action and resource. Minor improvement could add context, but it is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, output schema exists), the description adequately conveys the core functionality. The existence of an output schema compensates for any missing return value details, making it sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and schema description coverage is 100% by default. Per guidelines, baseline is 4. The description adds no parameter info, which is acceptable since no parameters exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'list' and the resource 'activity groups' with a qualifier 'configured on the remote', making the purpose unambiguous. However, it does not differentiate from sibling tools like 'list_activities' or 'list_available_entities', but the name itself provides some distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus its siblings (e.g., 'list_activities', 'get_activity'). There are no prerequisites, exclusions, or alternative suggestions, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_available_entitiesC

List entities an integration can provide to the remote.

Entities must be configured with configure_entities before they can be used on activity or profile pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
filterNoNEW
reloadNo
entity_typesNo
integration_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. It notes a prerequisite but does not mention if it is read-only, what happens if entities are not configured, or any side effects. Insufficient for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, concise and front-loaded with the main purpose. However, the omission of parameter details could be seen as under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters, no schema descriptions, and no output schema details in the description, the tool definition is severely incomplete. The agent cannot properly invoke the tool without guessing parameter semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanation for any of the 6 parameters (limit, query, filter, reload, entity_types, integration_id). The agent has no guidance on how to fill these parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states the tool lists entities for an integration, which is a clear verb+resource. However, it does not distinguish from sibling tools like 'list_entities', which may have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly mentions that entities must be configured with 'configure_entities' before use, but lacks explicit when-to-use guidance or alternatives. No contrast with similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_entitiesC

List configured entities, optionally filtered by remote entity type.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
entity_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided; the description does not disclose behavioral details such as pagination, limit behavior, or error conditions. Simply says 'List' without further transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. However, it lacks structure like bullets or sections, which is acceptable for such a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema, return values are covered, but the description omits important context about parameter defaults, behavior when no filter is applied, and any constraints, leaving gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'remote entity type' but does not explain what values entity_type can take or the range/effect of limit. Adds minimal meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and resource 'configured entities', and the optional filter by 'remote entity type' distinguishes it from the sibling tool 'list_available_entities' which likely lists available entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. Does not explain when to use list_entities instead of list_available_entities or any other sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_integration_instancesA

List configured integration instances such as Home Assistant.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not disclose any behavioral traits such as authentication requirements, rate limits, or the meaning of 'configured'. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded with verb and resource. Precisely concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple list tool with no parameters and an output schema. It could mention that it returns all configured instances or the output format, but the output schema likely covers that. Still somewhat vague.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (no parameters), so baseline is 3. The description adds no parameter information because there are none, but that is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'integration instances', with an example 'such as Home Assistant'. It is distinct from sibling tools like 'list_entities' or 'list_available_entities'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (to see configured instances) but does not explicitly state when to use this tool over alternatives or any prerequisites. No when-not-to-use guidance provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_profilesA

List user profiles configured on the remote.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It implies a read-only operation ('List') but does not explicitly state that it has no side effects or disclose any rate limits, authentication requirements, or pagination behavior. This is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It is front-loaded and efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and an output schema, the description is fairly complete. It explains what the tool does, though it could mention that the operation is read-only and lists all profiles. The existence of sibling tools like 'get_profile' provides context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description does not need to add parameter-level semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List'), the resource ('user profiles'), and the scope ('configured on the remote'). This distinguishes it from sibling tools like 'get_profile' which retrieves a single profile.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives (e.g., get_profile). However, the task is straightforward (listing all profiles), so the lack of explicit usage context is a minor gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reorder_activity_ui_pagesB

Replace an activity's page order with the supplied page IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes
page_orderYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description lacks behavioral details such as atomicity, validation, error handling, or effects on existing state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundancy, but could benefit from additional structure or a second sentence for completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values are covered, but the description omits essential context about the reorder operation's requirements and effects, making it incomplete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions 'page IDs' for page_order and implicitly ties entity_id to the activity, but does not clarify whether page_order must contain all page IDs or any format constraints, given 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool replaces an activity's page order with supplied page IDs, distinguishing it from sibling tools for individual page CRUD operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for reordering pages but provides no explicit guidance on when to use versus alternatives or any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

uc_pingA

Check public connectivity and authenticated access to the remote.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full disclosure burden but only states the basic purpose. It does not disclose behavioral traits like side effects (e.g., mutation, read-only), authentication requirements, or response format, leaving the agent uncertain about its safety and behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, lean sentence with no unnecessary words. It is front-loaded and efficient, earning its place entirely.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and an output schema, the description is adequate but could provide more context about what 'the remote' refers to or typical use cases. Still, it mostly covers the core functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so baseline is 4. The description adds no parameter semantics, but since there are none, it does not detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: checking 'public connectivity and authenticated access to the remote.' It uses specific verbs ('Check') and a specific resource ('remote'), distinguishing it from sibling tools which focus on UI references, activities, entities, and profiles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives or when not to use it. It lacks explicit context for usage, such as prerequisites or scenarios where other tools might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

uc_requestB

Call any Core REST API endpoint, including destructive admin endpoints.

Args: method: HTTP method such as GET, POST, PATCH, PUT, or DELETE. path: API path without the /api prefix, for example /activities. body: Optional JSON request object. query: Optional query parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
pathYes
queryNo
methodYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It warns about destructive endpoints but lacks details on side effects, reversibility, or authentication needs. For a tool capable of destructive actions, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is brief with one sentence and structured argument list. No wasted words, but could be slightly more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Core purpose is clear and destructive warning is helpful. However, with output schema present, description neither references nor explains return values. Missing context on error handling, rate limits, or pagination for a general API tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so description must compensate. It adds some meaning (e.g., path prefix removal, method examples) but for body and query it only repeats schema info without enrichment. More detail on format or constraints would improve.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool calls any Core REST API endpoint, specifying verb 'call' and resource 'Core REST API endpoint'. It distinguishes from siblings which are specific endpoint tools, making purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this general-purpose tool versus the many dedicated sibling tools. This omission risks misuse when a more specific tool exists.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

uc_ui_referenceB

Return concise guidance for safely reading and editing remote UI data.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as side effects, idempotency, or output format. It only mentions 'concise guidance' without elaborating on what that entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (one sentence) and front-loaded with key information. It could be slightly more informative without adding length, but it is not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description does not specify what the guidance covers, such as topics, format, or examples. The context is minimal given the tool's purpose as a reference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the schema coverage is complete. The description adds meaning by explaining the tool's purpose, which compensates for the lack of parameter details. Baseline score of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns guidance for safely reading and editing remote UI data. It distinguishes from sibling tools, which are concrete operations, by being a meta-reference tool. However, it could be more specific about the type of guidance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives. It implicitly suggests using it when needing 'guidance', but no exclusions or explicit context are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_activity_ui_pageC

Patch a page; supplied items replace that page's items array.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
itemsNo
page_idYes
entity_idYes
grid_widthNo
grid_heightNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description mentions it is a patch operation that replaces the items array, but does not discuss other parameters like name, grid_width, grid_height, or disclose potential side effects. No annotations are provided to supplement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but lacks structure (e.g., bullet points or parameter listing). It is under-informative rather than appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description provides no information about behavior beyond replacing items. The tool has 6 parameters, and the description covers only one aspect, making it inadequate for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any parameter beyond items. Parameters like name, grid_width, grid_height are not described, leaving the agent with no semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool name 'update_activity_ui_page' and description 'Patch a page; supplied items replace that page's items array' clearly indicate it updates a page by patching and replacing items. This distinguishes it from siblings like create_activity_ui_page and delete_activity_ui_page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as 'update_profile_page' or 'reorder_activity_ui_pages'. The description lacks context about prerequisites or scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_profile_pageC

Patch a profile page; supplied items replace that page's items array.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
page_idYes
profile_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It only states that the items array is replaced, but fails to disclose idempotency, error handling, permission requirements, or side effects. The limited transparency is insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While the description is a single sentence, it is too terse and omits crucial information. It is front-loaded with the action but sacrifices completeness for brevity, making it less useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema and three required parameters, the description provides no context on return values, error cases, or parameter constraints. It is grossly incomplete for a tool that mutates data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. However, it only mentions 'items array' indirectly and does not clarify the role of `body` (an arbitrary object), `page_id`, or `profile_id`. This severe lack of parameter semantics would confuse an AI agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action as 'Patch a profile page' and specifies that supplied items replace the page's items array. It distinguishes updates from reads (get_profile_page) and provides specific behavior, but could be more precise about what the body parameter may contain beyond items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or contrast with related tools like create_profile_page (if it exists) or get_profile_page.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 25 tool updatesv0.1.0
    • First observedconfigure_entities
    • First observedcreate_activity_ui_page
    • First observeddelete_activity_ui_page
    • First observedget_activity
    • First observedget_activity_buttons
    • First observedget_activity_ui_page
    • First observedget_activity_ui_pages
    • First observedget_entity
    • First observedget_profile
    • First observedget_profile_groups
    • First observedget_profile_page
    • First observedget_profile_pages
    • First observedget_screen_layout
    • First observedlist_activities
    • First observedlist_activity_groups
    • First observedlist_available_entities
    • First observedlist_entities
    • First observedlist_integration_instances
    • First observedlist_profiles
    • First observedreorder_activity_ui_pages
    • First observeduc_ping
    • First observeduc_request
    • First observeduc_ui_reference
    • First observedupdate_activity_ui_page
    • First observedupdate_profile_page

TDQS

B3.1/5.0
Disambiguation5/5

Each tool targets a distinct resource or action—entities, activities, profiles, integrations, UI pages, buttons—with clear naming. The only potential overlap is the generic uc_request, but its purpose is intentionally broad and does not conflict with the specific tools.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (e.g., list_activities, configure_entities). The few uc_ prefixed tools (uc_ping, uc_ui_reference, uc_request) are consistently named as general utilities, maintaining overall uniformity.

Tool Count4/5

With 25 tools, the set is slightly larger than the ideal 3-15 range but still appropriate for the domain's complexity. Each tool covers a distinct operation; some could be merged, but overall the count is reasonable.

Completeness3/5

The set covers core read operations well but misses create/delete for activities, profiles, and integration instances. Update operations are limited to UI pages. The presence of uc_request mitigates some gaps, but the specific tool surface feels incomplete for full CRUD workflows.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/msvinth/uc-remote-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server