Skip to main content
Glama
stelee410

linkyun-ops-mcp

by stelee410

linkyun-ops-mcp

MCP adapter for LinkYun operations metrics.

The server exposes MCP tools for Agents and forwards every request to the linkyun-agent Ops HTTP API. It does not connect to databases, generate SQL, define metrics, or make authorization decisions.

Tools

  • ops_list_metrics: list metrics available to the configured operator token.

  • ops_query_metric: query one backend metric with the backend query contract.

  • ops_get_home_recommendations: get home banner/platform/hot ranking config.

  • ops_preview_home_recommendations: validate partial home recommendation config.

  • ops_set_home_recommendations: replace supplied home recommendation modules with audit.

  • ops_list_agents: list/find workspace agents with operations fields.

  • ops_get_agent: get one workspace agent by code.

  • ops_list_agent_tags: list active tag library and discover categories.

  • ops_update_agent: update allowed Agent operations fields with audit.

  • ops_get_tracking_summary: query one campaign tracking funnel summary.

  • ops_get_tracking_breakdown: compare funnels by link_id, source, or campaign.

  • ops_get_tracking_trend: query hourly or daily campaign funnel trends.

  • ops_list_tracking_short_links: list short-link configs, optionally with metrics.

  • ops_create_tracking_short_link: create a short-link config with audit reason.

  • ops_update_tracking_short_link: update a short-link config with audit reason.

Related MCP server: opencode-cli-mcp

Configuration

LINKYUN_OPS_BASE_URL=http://localhost:8080
LINKYUN_OPS_TOKEN=ops_...
LINKYUN_OPS_CLIENT=linkyun-ops-mcp
LINKYUN_OPS_TIMEOUT_MS=10000

Development

npm.cmd install
npm.cmd run build
npm.cmd test
npm.cmd run lint
openspec validate ops-mcp-adapter-mvp --strict
openspec validate ops-agent-management-tools --strict
openspec validate ops-tracking-analytics-v2 --strict

Claude Desktop Example

{
  "mcpServers": {
    "linkyun-ops": {
      "command": "node",
      "args": ["D:/Projects/linkyun/linkyun-ops/linkyun-ops-mcp/dist/index.js"],
      "env": {
        "LINKYUN_OPS_BASE_URL": "http://localhost:8080",
        "LINKYUN_OPS_TOKEN": "ops_..."
      }
    }
  }
}

Agents must convert relative time phrases into explicit RFC3339 timestamps before calling ops_query_metric or tracking analytics tools.

Metric Notes

ops_query_metric forwards metric codes to the backend Ops API. Adding a new backend metric usually does not require an MCP tool schema change unless the query contract itself changes.

Common backend metric codes:

  • accounts_created

  • registered_users

  • agents_created

  • chat_messages

  • agent_assistant_messages

  • agent_likes

  • moment_likes

  • moment_favorites

agent_likes, moment_likes, and moment_favorites support rank in the backend. They also accept optional agent_code for aggregate, timeseries, and compare queries; for Moment metrics, agent_code means Moments belonging to that Agent.

Tracking Notes

Tracking analytics tools forward to backend Ops APIs and return backend JSON unchanged. Adding a new backend event count or conversion-rate field does not require an MCP schema change unless the request contract changes.

Supported event counts include:

  • click

  • landing_open

  • valid_open

  • register_start

  • register_success

  • create_idol_start

  • create_idol_success

  • chat_start

  • first_message_sent

  • first_agent_reply_received

  • discovery_view

  • agent_search

  • agent_design_sheet_view

  • add_friend_success

  • message_sent

  • agent_reply_received

  • chat_send_fail

  • agent_reply_timeout

  • group_chat_create_success

  • group_chat_upgrade_success

  • group_message_sent

  • group_agent_reply_received

  • group_reply_timeout

  • moments_view

  • agent_moments_view

  • moment_like

  • moment_comment

  • share_agent_open

  • guest_session_create_success

  • guest_message_sent

  • guest_reply_received

  • guest_enter_app

  • welcome_view

  • guest_explore_click

  • guest_home_view

  • guest_tab_click

  • auth_required_view

  • auth_required_source

  • auth_required_action

  • auth_required_close

  • auth_method_select

  • auth_success

  • auth_fail

  • redirect_after_auth_start

  • redirect_after_auth_success

  • redirect_after_auth_fail

  • pending_action_execute_success

  • pending_action_execute_fail

  • guest_to_auth_start

  • guest_to_auth_success

  • guest_create_intent

  • guest_companion_intent

  • guest_interaction_intent

Tracking responses may include these conversion-rate fields:

  • landing_open_rate = landing_open / click

  • valid_open_rate = valid_open / landing_open

  • register_start_rate = register_start / landing_open

  • register_success_rate = register_success / landing_open

  • create_idol_start_rate = create_idol_start / landing_open

  • create_idol_success_rate = create_idol_success / landing_open

  • register_to_create_success_rate = create_idol_success / register_success

  • chat_start_rate = chat_start / valid_open

  • first_message_sent_rate = first_message_sent / valid_open

  • first_agent_reply_received_rate = first_agent_reply_received / first_message_sent

Use ops_get_tracking_breakdown for channel or campaign comparison, and ops_get_tracking_trend for day/hour trend charts. Short-link writes require reason; disabling a link uses status: "disabled" rather than delete.

Use ops_list_tracking_short_links with include_metrics=true and explicit created_from / created_to values to return per-link funnel metrics.

Example tracking questions:

  • List short links with metrics for 2026-07-01T00:00:00+08:00 to 2026-07-08T00:00:00+08:00.

  • Compare ai_world_launch_202606 by source for an explicit date range.

  • Query daily funnel trend for one link_id.

  • Query whether campaign traffic reached chat activation using chat_start, first_message_sent, and first_agent_reply_received.

Available Tools

15 tools
ops_get_agentA

Get one workspace agent by agent_code, including status, hidden flag, category, and display tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_codeYes
workspace_codeYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states what the tool returns but does not disclose any side effects, authorization needs, error handling, or rate limits. For a read operation, it lacks confirmation of read-only 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, efficient sentence front-loaded with the main action. 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 the tool's simplicity and lack of output schema, the description covers the essential purpose and returned fields. It could mention error cases or permissions, but it is mostly complete.

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 should compensate. It only mentions 'by agent_code', leaving workspace_code unexplained. The listed return fields are helpful but do not address parameter meaning 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 'Get one workspace agent by agent_code', which is a specific verb and resource. It lists included fields (status, hidden flag, category, display tags) and distinguishes from sibling tools like ops_list_agents (multiple) and ops_update_agent (update).

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

Usage Guidelines4/5

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

The description says when to use it (to get a specific agent by code), but does not explicitly state when not to use it or mention alternatives. However, sibling names make the context clear.

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

ops_get_home_recommendationsC

Get current home banner, platform recommendation, and hot ranking configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_codeYes

TDQS

C2.7/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 only states the operation is a 'get' (read), but does not disclose any side effects, authentication requirements, or rate limits. Minimal behavioral disclosure beyond the obvious.

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 sentence that gets to the point. It is concise with no unnecessary words. However, it could be more structured with the purpose front-loaded.

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 existence of sibling tools (preview, set), the description should clarify how this tool fits. It does not mention return values or how the output relates to other tools. For a simple tool with one parameter, the description is too brief to be fully contextual.

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%, meaning parameters are not described in the schema. The tool description does not explain the 'workspace_code' parameter or its purpose. The description adds no meaning beyond what the parameter name implies.

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 three specific types of recommendations (home banner, platform recommendation, hot ranking). It uses the verb 'get' and specifies the resources, but does not differentiate from the sibling 'ops_preview_home_recommendations' which likely has similar purpose.

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 ops_preview_home_recommendations or ops_set_home_recommendations. No prerequisites or context provided.

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

ops_get_tracking_breakdownC

Compare campaign tracking funnels grouped by link_id, source, or campaign. Convert relative dates to explicit RFC3339 timestamps before calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
sourceNo
link_idNo
campaignNo
group_byYes
created_toNo
created_fromNo

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 tells to convert dates but omits read/write nature, pagination (limit/offset), filtering behavior, or whether it is destructive. Major gaps for a tool with 8 parameters.

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, no redundancy. Front-loaded with purpose, then a key instruction. Could be slightly more informative without adding length, but currently no wasted words.

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 no output schema, no annotations, and complex sibling context, description is too sparse. It doesn't explain what 'funnels' means, output format, or how to correctly set date ranges despite the hint. Leaves many functional questions.

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?

With 0% schema description coverage, description should compensate. Only group_by is explained implicitly via the purpose; date parameters get a format hint. Other parameters (limit, offset, source, link_id, campaign) are completely unexplained.

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 clearly states 'Compare campaign tracking funnels grouped by link_id, source, or campaign', specifying verb, resource, and grouping options. It differentiates from siblings like ops_get_tracking_summary and ops_get_tracking_trend by mentioning 'funnels', but lacks explicit contrast.

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?

Only usage hint is 'Convert relative dates to explicit RFC3339 timestamps before calling', which is helpful but doesn't explain when to use this tool versus siblings 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.

ops_get_tracking_summaryC

Query one LinkYun campaign tracking funnel summary. Convert relative dates to explicit RFC3339 timestamps before calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNo
link_idNo
campaignNo
created_toNo
created_fromNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, so the description must fully disclose behavior. It only mentions date format but omits read-only status, side effects, or error handling.

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?

Two sentences with no waste; purpose is front-loaded, and the critical instruction is placed second.

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?

Lacks details on return value, parameter combinations, and behavior. The agent cannot fully understand usage without further context, especially given no output schema.

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%, and the description does not explain individual parameters (source, link_id, campaign, created_to, created_from). The date hint is vague.

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 the tool queries a 'LinkYun campaign tracking funnel summary' with a specific verb and resource. It is clear but does not differentiate from sibling tools like ops_get_tracking_breakdown or ops_get_tracking_trend.

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 a conversion instruction for dates but offers no guidance on when to use this tool over alternatives or exclusions.

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

ops_get_tracking_trendC

Query campaign tracking funnel trends by hour or day. Requires explicit RFC3339 created_from and created_to.

ParametersJSON Schema
NameRequiredDescriptionDefault
grainYes
sourceNo
link_idNo
campaignNo
created_toYes
created_fromYes

TDQS

C2.7/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 read-only nature, rate limits, data limits, or side effects. It only mentions parameter requirements without broader behavioral context.

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 two sentences, front-loading the action and key constraints. No unnecessary words, but could benefit from more detail without being 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?

With 6 parameters, no output schema, and no annotations, the description is insufficient. It fails to explain the funnel concept, expected response, or how parameters like campaign/ source affect results. Basic required parameters are noted but overall context is lacking.

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%. The description adds meaning for created_from and created_to (RFC3339 format) but does not explain the other four parameters (source, link_id, campaign, grain) or map them to the tool's behavior. Grain's enum values are not elaborated.

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 tool queries campaign tracking funnel trends, specifying temporal granularity (hour/day). It distinguishes from siblings like ops_get_tracking_breakdown indirectly by named operation, but not explicitly.

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 mentions required parameters (created_from, created_to) and their format (RFC3339), but provides no guidance on when to use this tool vs alternatives like ops_get_tracking_breakdown or ops_get_tracking_summary, nor 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.

ops_list_agentsC

List or find agents in a workspace for operations management. Supports filters for agent_code, status, hidden, limit, and offset.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
hiddenNo
offsetNo
statusNo
agent_codeNo
workspace_codeYes

TDQS

C2.4/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 carry the full burden. It mentions listing with filters but lacks details on pagination behavior (e.g., default limit, max results), ordering, or error handling. The absence of behavioral traits leaves agents uncertain about side effects or performance.

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 concise, consisting of two sentences that front-load the core action. It avoids unnecessary words and clearly states the supported filters. However, it is not overly terse—it could benefit from minor structural improvements.

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?

Given the tool has 6 parameters, no output schema, and no annotations, the description is critically incomplete. It does not explain the return structure, pagination details, or any constraints beyond parameter names. An agent cannot fully understand the tool's behavior or output without additional context.

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%, meaning no parameter details are provided in the schema description. The tool description only names the filters generically without explaining their meaning, format, or typical values. For instance, it does not clarify that 'agent_code' is a unique identifier or that 'status' uses an enum. This is insufficient for correct invocation.

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 'list or find' and the resource 'agents in a workspace', and mentions supported filters, which distinguishes it from sibling tools like 'ops_get_agent' that likely target a single agent. However, it could be more specific about the primary use case.

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 guidance on when to use this tool vs. siblings like 'ops_get_agent' for single agent retrieval or 'ops_list_agent_tags' for tags. No explicit when-not or alternative usage is mentioned.

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

ops_list_agent_tagsB

List active frontend-visible Agent tag dimensions/tags and discover category mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations exist, so the description is the sole source. It implies a read-only operation ('List') but does not disclose side effects, authorization requirements, or data freshness. The additional 'discover category mappings' is vague and does not clarify 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?

The description is a single sentence that conveys the main purpose efficiently. It is front-loaded with the primary action, but the phrase 'and discover category mappings' adds a secondary goal without wasted words.

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 has no parameters and no output schema, the description provides the essential purpose but lacks detail on the structure of the returned data or the meaning of 'category mappings'. It is minimally complete but could improve by describing the output format.

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, so the description does not need to elaborate on parameter semantics. The schema coverage is 100%, and the description adds context about what the tool does without needing to explain parameters.

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 'active frontend-visible Agent tag dimensions/tags' and adds 'discover category mappings', making the purpose specific. It distinguishes from sibling tools like ops_list_agents which list agents, not tags.

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 ops_update_agent or ops_list_agents. The description lacks context for appropriate usage scenarios.

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

ops_list_metricsA

List LinkYun operations metrics available to the configured token.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations, so description carries burden. It discloses listing metrics scoped to token, but doesn't mention side effects, auth details beyond token, or rate limits. 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?

Single sentence with no fluff, directly states purpose. Perfectly concise for the operation.

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?

Tool is simple with 0 params and no output schema. Description covers the core purpose; though it doesn't specify return format, it's sufficient for listing metrics.

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?

Input schema has 0 parameters, so description adds no extra meaning. Baseline 4 applies as there are no parameters to document.

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 lists metrics (specific resource) and scopes to token. Verb 'List' and resource 'metrics' are precise, distinguishing it from siblings like ops_query_metric.

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?

Implied usage from name and description, but no explicit guidance on when to use vs alternatives like ops_query_metric. Context signals show simple operation, but guidelines are missing.

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

ops_preview_home_recommendationsA

Validate and preview a partial home recommendation config without writing changes. Only supplied modules are replaced; omitted modules are preserved.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
modulesYes
workspace_codeYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the burden is on the description. It clearly states the tool is non-destructive (no writes) and explains the partial update behavior. It lacks detail on what the preview returns (errors, success confirmation, etc.), but the core behavioral traits are well communicated.

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 two succinct sentences with no filler. It front-loads the key action and constraints, making it easy to parse quickly.

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 complexity of the nested modules schema and lack of output schema, the description adequately covers the tool's purpose and core behavior. It could be enhanced by mentioning the return type (e.g., validation errors or preview diff), but remains sufficient for an AI agent to understand the tool's role.

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 0%, but the description adds meaning beyond the raw schema by explaining that modules are replaced and others preserved. However, it does not explain workspace_code or reason parameters. The description adds context but not comprehensive parameter 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 tool validates and previews a partial home recommendation config without writing changes. It specifies that only supplied modules are replaced, omitted ones preserved. This differentiates it from sibling tools like ops_set_home_recommendations, making the 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 Guidelines4/5

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

The description implies usage for previewing/validating changes before committing, and clarifies that omitted modules are preserved. However, it does not explicitly contrast with ops_set_home_recommendations or specify when not to use this tool. The guidance is clear but not exhaustive.

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

ops_query_metricC

Query one LinkYun operations metric. Send explicit RFC3339 ranges and the backend query contract only.

ParametersJSON Schema
NameRequiredDescriptionDefault
grainNo
limitNo
rangeYes
scopeYes
metricYes
timezoneNo
operationYes
agent_codeNo
comparison_rangeNo

TDQS

C2.9/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 any behavioral traits such as idempotency, side effects, rate limits, or error handling. It only says to query a metric, which is insufficient for understanding the tool's behavior.

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 concise, consisting of two sentences with no redundant information. However, it could be better structured to list key parameters or usage notes without increasing length.

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 (9 parameters, nested objects, no output schema), the description is highly incomplete. It does not clarify required parameters, valid operations, or how to construct the scope object, leaving the agent with significant ambiguity.

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 input schema has 0% description coverage, and the tool description adds minimal semantic value—only hinting that ranges should be RFC3339. It does not explain the other 8 parameters, nor their purposes or constraints.

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 'query' and resource 'operations metric', and mentions sending explicit RFC3339 ranges. However, it does not specify the supported operations (aggregate, timeseries, etc.) listed in the schema, which would further clarify its purpose.

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 provides some guidance by instructing to send explicit RFC3339 ranges and the backend query contract. However, it does not mention when to use this tool over siblings like ops_list_metrics or ops_get_agent, nor does it state 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.

ops_set_home_recommendationsA

Replace supplied home recommendation modules for a workspace. Omitted modules are preserved. Requires a reason.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
modulesYes
workspace_codeYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the partial update behavior and the need for a reason, but does not mention side effects, rate limits, or the nature of the replacement (e.g., whether existing modules not in the input are preserved). The description is partially transparent.

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 two sentences long and directly conveys the core behavior. It is efficient, though the first sentence could be slightly clearer about the replacement nature. No wasted words.

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 complexity (nested objects, 3 parameters, no output schema), the description explains the key behavior (partial replacement) but lacks details on submodule semantics, return value, or error states. It is adequate but not complete.

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%, so the description must compensate. It mentions workspace_code implicitly ('for a workspace'), modules ('supplied home recommendation modules'), and reason ('Requires a reason'), but provides no detail on submodule structure (banner, platform_recommendation, hot_ranking) or the format of the reason. This adds minimal value beyond the schema's parameter names.

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 ('Replace') and resource ('home recommendation modules for a workspace'), and distinguishes the operation as a partial update ('Omitted modules are preserved'). It is distinct from sibling tools like ops_get_home_recommendations (read) and ops_preview_home_recommendations (preview).

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

Usage Guidelines4/5

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

The description implies when to use this tool (to replace recommendation modules) and mentions a prerequisite ('Requires a reason'). It does not explicitly list when not to use it or compare to siblings, but the context of sibling names provides some guidance.

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

ops_update_agentB

Update one workspace Agent operations fields: status, hidden flag, category_key, and display_tag_keys. Requires a reason.

ParametersJSON Schema
NameRequiredDescriptionDefault
hiddenNo
reasonYes
statusNo
agent_codeYes
category_keyNo
workspace_codeYes
display_tag_keysNo

TDQS

B3.3/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. Only discloses that a reason is required, but omits details on idempotency, side effects, permissions, or error conditions. Minimal disclosure for a mutation tool.

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?

Extremely concise, single sentence that directly states the tool's action and key requirement. No filler.

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?

No output schema, 7 parameters, zero annotations. Description lacks information on return value, errors, side effects, and parameter details. Incomplete for an update tool with many fields.

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 has 7 parameters with 0% coverage; description mentions 5 parameters by name but adds no additional meaning (e.g., enum values for status not explained, no constraints for display_tag_keys). Does not compensate for missing schema documentation.

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 updates specific fields of workspace agent operations, listing the fields (status, hidden, category_key, display_tag_keys). Differentiates from sibling tools which are get, list, query, preview, etc., as no other update tool exists.

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?

Description mentions that a reason is required, which is a usage requirement. However, no guidance on when to use this tool vs alternatives, no prerequisites or when-not conditions.

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.

  1. 6 tool updatesv0.1.1
    • Addedops_create_tracking_short_link
    • Addedops_get_tracking_breakdown
    • Addedops_get_tracking_summary
    • Addedops_get_tracking_trend
    • Addedops_list_tracking_short_links
    • Addedops_update_tracking_short_link
  2. 9 tool updatesv0.1.0
    • First observedops_get_agent
    • First observedops_get_home_recommendations
    • First observedops_list_agent_tags
    • First observedops_list_agents
    • First observedops_list_metrics
    • First observedops_preview_home_recommendations
    • First observedops_query_metric
    • First observedops_set_home_recommendations
    • First observedops_update_agent

TDQS

B3.4/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a distinct resource and action: agents, short links, home recommendations, tracking, and metrics are all clearly separated. There is no ambiguity between similar tools like list vs get or summary vs breakdown.

Naming Consistency5/5

All tools follow the consistent pattern 'ops_{verb}_{noun}' (e.g., ops_list_agents, ops_create_tracking_short_link). Verbs like get/list, create/update, and preview/query are used consistently for their respective operations.

Tool Count5/5

With 15 tools, the server covers multiple sub-domains (agents, short links, home recommendations, tracking, metrics) without being bloated. Each tool serves a clear purpose, and the count is well-scoped for the operations management domain.

Completeness4/5

The tool surface covers core CRUD and query operations for agents, short links, home recommendations, and tracking. Minor gaps exist, such as missing delete operations for short links or agent creation, but these are likely handled by other systems or are out of scope for this ops server.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers