uc-remote-mcp
Allows configuration of entities provided by Home Assistant integration on the Unfolded Circle Remote, enabling control of Home Assistant entities through the remote's interface.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@uc-remote-mcplist all activities on the remote"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
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
uvfor the examples belowAn 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-mcpFor a local checkout:
uv run uc-remote-mcpThe 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.50The 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.jsonRetain 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 |
| Yes | Remote origin only, such as |
| For authenticated tools | Admin API key created by the remote. |
| No | Positive request timeout in seconds; defaults to |
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
Call
uc_ping.Inspect the target activity, profile, or page.
Call
uc_ui_referencebefore constructing UI payloads.Make the smallest possible update.
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 buildSee 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 toolsconfigure_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.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_ids | Yes | ||
| integration_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| items | No | ||
| entity_id | Yes | ||
| grid_width | No | ||
| grid_height | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| entity_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| entity_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| profile_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| filter | No | NEW | |
| reload | No | ||
| entity_types | No | ||
| integration_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| entity_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes | ||
| page_order | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| path | Yes | ||
| query | No | ||
| method | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| items | No | ||
| page_id | Yes | ||
| entity_id | Yes | ||
| grid_width | No | ||
| grid_height | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| page_id | Yes | ||
| profile_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
25 tool updates
v0.1.0- First observed
configure_entities - First observed
create_activity_ui_page - First observed
delete_activity_ui_page - First observed
get_activity - First observed
get_activity_buttons - First observed
get_activity_ui_page - First observed
get_activity_ui_pages - First observed
get_entity - First observed
get_profile - First observed
get_profile_groups - First observed
get_profile_page - First observed
get_profile_pages - First observed
get_screen_layout - First observed
list_activities - First observed
list_activity_groups - First observed
list_available_entities - First observed
list_entities - First observed
list_integration_instances - First observed
list_profiles - First observed
reorder_activity_ui_pages - First observed
uc_ping - First observed
uc_request - First observed
uc_ui_reference - First observed
update_activity_ui_page - First observed
update_profile_page
TDQS
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.
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.
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.
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
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
Access Kernel's cloud-based browsers and app actions via MCP (remote HTTP + OAuth).
Query, browse, and automate OmegaAI workspaces from any MCP client. Streamable HTTP with OAuth 2.0.
Remote MCP for 1,500+ APIs. Vault-managed credentials; OAuth or API key. Search, load, and execute.
An authenticated remote MCP server for user-owned devices and one-shot capability invocation.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes the UniFi Network Integration API as MCP tools, dynamically loaded from JSON manifests, with read-only mode by default.MIT
- AlicenseAqualityDmaintenanceEnables querying WHOOP biometric data (recovery, strain, sleep, workouts, heart rate) from any MCP-compatible AI client, supporting remote and direct modes.16163MIT
- FlicenseNot gradedqualityBmaintenanceEnables control of external Home Assistant devices via an MCP control layer and frontend system page.-
- AlicenseAqualityCmaintenanceMCP server for Hubitat Elevation hubs that controls devices via the Maker API, with optional gated access to undocumented admin routes, supporting device listing, command sending, virtual device and hub variable automation for Rule Machine, and hub management features.8MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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