Skip to main content
Glama
AIddlx

mcp-test-stepfun

by AIddlx

MCP Test Server

MCP 协议测试服务器 + 阶跃 AI 桌面助手开发 Skill。


项目价值

本项目提供两份核心资产:

资产

价值

兼容性测试

35 个测试工具 + 3 种传输模式,验证阶跃客户端 MCP 兼容性

开发 Skill

6 条致命规则 + 17 条约束 + 3 套模板,让 AI 帮你写 MCP 服务器


Related MCP server: mcp-test-server

一、兼容性测试

测试覆盖

类别

数量

说明

A - 核心能力

5

协议版本、能力声明、工具调用、全类型参数

B - 复杂参数

6

嵌套对象、大数据、长操作、并发、Unicode

C - 高级能力

4

进度通知、取消、批量请求、自动补全

D - 边界条件

8

空参数、超长字符串、特殊字符、幂等性

E - 极端条件

1

超时边界

G - GUI Agent

7

截图、鼠标、键盘、自动化演示

H - Elicitation

2

表单式、URL 式

I - Sampling

2

基础、带工具

传输模式

模式

目录

状态

NPX (stdio)

stdio/npx/

35/35 通过

UVX (stdio)

stdio/uvx/

35/35 通过

HTTP/SSE

http/

35/35 通过

快速开始

HTTP 模式(推荐开发调试):

cd http
python full_test_server.py

阶跃客户端配置:

{
  "mcpServers": {
    "mcp-http-test": {
      "url": "http://127.0.0.1:3372/mcp"
    }
  }
}

NPX 模式(推荐 stdio 测试):

{
  "mcpServers": {
    "mcp-npx-test": {
      "command": "npx",
      "args": ["-y", "<项目路径>/stdio/npx"]
    }
  }
}

UVX 模式(不推荐开发时用):

{
  "mcpServers": {
    "mcp-uvx-test": {
      "command": "uvx",
      "args": ["--from", "<项目路径>/stdio/uvx", "mcp-uvx-test"]
    }
  }
}

⚠️ UVX 模式有严重的缓存问题,每次修改源码都需要清理缓存 + 更新版本号。详见 docs/stdio/uvx/ISSUES.md


二、开发 Skill

什么是 Skill

Skill 是阶跃 AI 桌面助手的扩展能力包。加载后,AI 获得"编写阶跃兼容 MCP 服务器"的专业知识。

Skill 内容

内容

说明

致命规则 TOP 6

违反必崩(outputSchema、async main、命令格式...)

17 条约束

设计/编码/部署/排查全覆盖

决策树

Connection closed 5 种原因排查

3 套模板

NPX / UVX / HTTP 完整项目模板

使用方法

  1. 打包 skills/stepfun-mcp/ 文件夹为 zip

  2. 在阶跃客户端中添加技能(导入 zip)

  3. 告诉阶跃你想实现的功能

示例对话:

"帮我写一个阶跃兼容的 MCP 服务器,提供文件读写功能"


项目结构

mcp-test-stepfun/
├── stdio/                     # stdio 传输模式
│   ├── npx/                   # Node.js (NPX)
│   └── uvx/                   # Python (UVX)
├── http/                      # HTTP/SSE 传输模式
├── sdk/                       # SDK 测试服务器
│   ├── npx/                   # TypeScript SDK
│   ├── http/                  # Python SDK (HTTP)
│   └── uvx/                   # Python SDK (stdio)
├── skills/stepfun-mcp/        # 开发 Skill
│   ├── SKILL.md               # 主文件
│   ├── references/            # 参考文档
│   └── assets/                # 项目模板
└── docs/                      # 技术文档

文档索引

必读

文档

说明

docs/stdio/uvx/ISSUES.md

UVX 问题汇总(五层缓存)

技术分析

文档

说明

docs/FASTMCP_STREAMING_ANALYSIS.md

FastMCP "流式"原理

docs/SSE_PROGRESS_DESIGN_NOTES.md

SDK 路由 Bug 分析

docs/STEPFUN_STREAMING_LIMITATION.md

阶跃流式限制

测试报告

文档

说明

docs/stdio/npx/TEST_REPORT.md

NPX 模式测试报告

docs/stdio/uvx/TEST_REPORT.md

UVX 模式测试报告


测试环境

  • 平台: Windows 11 Pro

  • 客户端: 阶跃 AI 桌面助手 v0.2.13

  • 协议版本: MCP 2025-11-25

其他平台未测试。

Available Tools

9 tools
capture_screenC

Capture the screen of the device.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojpg

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, and the description offers only a generic statement about capturing the screen. It does not disclose what the output is (e.g., image data, file path), potential side effects, or any permissions required. The behavioral information is minimal.

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

Conciseness4/5

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

The description is very short and free of filler, which is efficient. However, it is so minimal that it borders on under-specification, but for a simple tool it is still readable.

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?

The tool lacks an output schema and annotations, and the description does not explain return values or usage context. With several similar sibling tools, the description is incomplete for an agent to know when to invoke this specific tool.

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

Parameters2/5

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

The sole parameter 'format' is defined in the schema with an enum and default, but the description does not mention it or explain its meaning. Since schema description coverage is 0%, the description should compensate, but it does not.

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 a clear action ('Capture the screen') and resource ('the device'), which is specific. However, it does not differentiate from sibling tools such as take_screenshot and get_screen_image, which appear synonymous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like take_screenshot or get_screen_image. The description gives no context on selection criteria or exclusions.

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

connect_deviceB

Connect to a device. Auto-detects if no device_id provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoauto
device_idNoDevice ID (optional, auto-detect if not provided)auto

TDQS

B3/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 of behavioral disclosure. It only mentions that connection auto-detects, but does not reveal whether the operation is read-only, establishes a persistent connection, has side effects, or requires prerequisites. This is a significant gap for a 'connect' action.

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 sentences with no filler. It is front-loaded with the primary purpose and includes the most important nuance (auto-detection) without extraneous detail.

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?

For a tool with no annotations, no output schema, and a 2-parameter schema, the description is too thin. It does not explain what 'connect' entails, how modes differ, success/error conditions, or how it relates to sibling tools like push_server or capture_screen. The agent would lack essential context for correct invocation.

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 schema description coverage is 50% (only device_id has a description, mode does not). The description's only param-related note ('Auto-detects if no device_id provided') essentially repeats the schema's description for device_id and adds no new meaning. It does not clarify the mode parameter or its enum values.

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 'Connect to a device' with a specific verb and resource, and adds the scope of auto-detection when no device_id is provided. This is clear and distinct from sibling tools like capture_screen or get_device_info, but it does not explicitly contrast with them.

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 phrase 'Auto-detects if no device_id provided' gives a hint about when this tool can be used without explicit identification, implying a default behavior. However, it does not explain when to choose this tool over alternatives or when to use different modes like usb vs wireless.

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

get_device_infoA

Get device information including name, battery, and screen size.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
successYes
device_nameNo
screen_widthNo
battery_levelNo
screen_heightNo

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 the full transparency burden. It identifies the tool as a read operation ('Get device information') and lists specific data fields, which implies no side effects. However, it does not explicitly state safety, permissions, or any other behavioral traits, leaving some ambiguity.

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

Conciseness5/5

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

The description is a single, concise sentence (10 words) that front-loads the core action and key data fields. It contains no redundant information, making it highly efficient.

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

Completeness5/5

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

For a simple getter with no parameters and an output schema present, the description is sufficiently complete. It states what information is retrieved, and since the output schema exists, it does not need to describe return values. No additional context is necessary.

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

Parameters4/5

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

The tool has zero parameters, and the schema confirms this with an empty properties object. The description does not need to elaborate on parameter semantics since there are none; the baseline score for 0 params is 4.

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

Purpose5/5

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

The description clearly states the tool's purpose with a specific verb 'Get' and resource 'device information', and lists distinct fields (name, battery, screen size). This effectively distinguishes it from sibling tools like capture_screen or connect_device, which target other aspects.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool instead of alternatives. The description does not mention any context, prerequisites, or comparisons to sibling tools, leaving the agent to infer usage solely from the tool name.

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

get_screen_imageC

Get the current screen image from the device.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojpg

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the operation and does not mention return format, side effects, permissions, or any other behavioral traits beyond the basic 'get' action.

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

Conciseness5/5

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

The description is a single sentence with no redundant words, directly stating the action. It is appropriately concise for a simple tool.

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

Completeness2/5

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

The description is minimal: it lacks information about the output format, whether the image is returned as data or a reference, any prerequisites, and how it differs from sibling screenshot tools. Given no output schema or annotations, this is insufficient for confident invocation.

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 schema defines one optional 'format' parameter with enum values 'jpg' and 'png', but the description does not mention it or explain when to use each format. With 0% schema description coverage, the description fails to compensate for the missing semantic guidance.

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 uses the specific verb 'Get' and resource 'current screen image from the device', clearly stating the action. However, it does not distinguish from sibling tools like capture_screen or take_screenshot, which likely serve similar purposes.

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

Usage Guidelines2/5

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

The description provides no information on when to use this tool versus alternatives such as capture_screen or take_screenshot. No context, exclusions, or alternative mentions are given.

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

push_serverA

Deploy scrcpy server for wireless control. Requires USB first. Auto-connects by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
audioNoEnable audio
videoNoEnable video
persistentNoKeep server running
auto_connectNoConnect immediately

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
successYes
device_ipNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It discloses the USB prerequisite and auto-connect default, which is valuable, but omits other behavioral traits such as whether the server persists by default, side effects on existing servers, or the meaning of the persistent parameter. This is useful but incomplete.

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

Conciseness5/5

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

The description consists of three short sentences, each adding distinct and relevant information: purpose, prerequisite, and default behavior. There is no fluff, repetition, or irrelevant detail, making it highly efficient.

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

Completeness3/5

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

The tool has four parameters and an output schema, but the description omits any guidance on choosing between this and the sibling push_server variants (onetime/persistent). It also does not clarify the role of the persistent parameter, leaving the agent to infer. The core action is clear, but the sibling ambiguity prevents a higher score.

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?

The input schema already describes all four boolean parameters with defaults and descriptions (100% coverage), so the schema does the heavy lifting. The description adds minimal additional meaning beyond the auto_connect default, which is not enough to raise the score above baseline.

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 uses a specific verb ('Deploy') and names a concrete resource ('scrcpy server') with its purpose ('for wireless control'), making the core action clear. It does not explicitly contrast with sibling tools like push_server_onetime or push_server_persistent, so it misses a small opportunity to differentiate, but remains distinct enough.

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 gives a clear prerequisite ('Requires USB first') and a default behavior ('Auto-connects by default'), which helps establish when the tool should be used. However, it does not explain when to prefer this tool over the sibling variants (onetime vs persistent) or provide explicit exclusions, leaving the agent to infer.

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

push_server_onetimeC

[DEPRECATED] Use push_server instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
videoNo

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are provided, and the description offers no behavioral details such as side effects, permissions, or return values. The deprecation notice does not disclose anything about how the tool behaves.

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

Conciseness5/5

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

The description is a single concise sentence that immediately conveys its essential message. It is perfectly sized and front-loaded with the deprecation status and the alternative.

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?

For a deprecated tool, the description is adequate as a warning to avoid it and points to a replacement. However, it lacks any information about what the tool actually does, which might be needed if the agent still has to interact with it.

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

Parameters1/5

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

The schema has one boolean parameter 'video' with zero description coverage, and the description makes no mention of it. The parameter's meaning is completely unexplained.

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

Purpose1/5

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

The description does not state what the tool does. It only marks the tool as deprecated and directs to use push_server instead, providing no verb or resource for the tool's function.

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

Usage Guidelines5/5

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

The description explicitly says 'Use push_server instead,' providing a clear alternative and implicitly telling the agent not to use this deprecated tool. This is excellent usage guidance.

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

push_server_persistentC

[DEPRECATED] Use push_server instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
videoNo

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are provided, so the description must disclose behavior. It only mentions deprecation but does not explain what happens on invocation (e.g., whether it still works, errors, or is read-only). This is insufficient for an agent to predict 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.

Conciseness3/5

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

The description is a single sentence and well-structured with the [DEPRECATED] prefix. However, it is so brief that it under-specifies the tool's purpose and parameters, making it barely adequate.

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

Completeness2/5

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

For a deprecated tool, the presence of an alternative is helpful, but the description does not explain the tool's functionality, parameters, or return behavior. Given the lack of output schema and annotations, this is incomplete for safe agent use.

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

Parameters1/5

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

The schema has one parameter 'video' with no description, and the description does not mention it. There is zero parameter documentation, so the agent has no guidance on the meaning or usage of the boolean flag.

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

Purpose2/5

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

The description does not state what the tool does; it merely says it is deprecated and to use push_server. This gives no verb or resource, leaving the agent to infer functionality from the name and schema.

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

Usage Guidelines5/5

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

Explicitly instructs 'Use push_server instead,' which is a direct alternative recommendation. This makes it unambiguous that this tool should be avoided and provides a clear replacement.

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

take_screenshotC

Take a screenshot from the device.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojpg

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description must carry the burden of behavioral disclosure, but it only states the action. It does not disclose what happens with the screenshot (e.g., return path, base64, file saving), possible side effects, or any permission requirements.

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

Conciseness4/5

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

The description is a single concise sentence with no filler, and the key verb and object are front-loaded. It is not as bloated as typical descriptions, though it is under-specified in content.

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 closely related sibling tools and the absence of an output schema or annotations, the description is too thin to fully contextualize the tool's behavior. It does not clarify return values, file types, or how it differs from capture_screen/get_screen_image.

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 single 'format' parameter is described in the schema with an enum and default, making its syntactic meaning clear. However, the description provides no semantic context (e.g., why choose png over jpg), and with 0% schema description coverage, the description fails to compensate for the lack of parameter explanation.

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's action ('Take a screenshot') and target ('from the device'), so the purpose is understandable. However, it does not distinguish this tool from similar siblings like capture_screen or get_screen_image, which prevents a higher score.

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?

There is no guidance on when to use this tool versus the alternative capture tools. No context is given about prerequisites, platform support, or situations where one sibling would be more appropriate.

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

validate_dateB

Validate a date string. Must be in YYYY-MM-DD format.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate string in YYYY-MM-DD format

TDQS

B3.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 disclose behavior. It states the validation rule but does not explain what the tool returns (e.g., boolean, error message) or what happens on invalid input. The agent is left unclear about the tool's output 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 two short sentences, front-loaded with the purpose and immediately followed by the critical format constraint. Every word contributes to the meaning; no redundancy or 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?

The tool is simple with one parameter and no output schema, so the description should explain the return value/behavior. It does not, leaving a notable gap. The agent cannot predict what 'validate' actually outputs. The bare minimum is provided.

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

Parameters3/5

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

Schema coverage is 100% and the parameter description already states 'Date string in YYYY-MM-DD format.' The tool description repeats the same format constraint, adding no new meaning beyond the schema. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's function: 'Validate a date string.' It specifies the exact format requirement, which also differentiates it from any sibling tools that handle dates. The verb 'validate' is specific and the resource is clearly defined.

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

Usage Guidelines3/5

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

The description implies usage: use this tool when you need to check if a date string is in YYYY-MM-DD format. However, it does not explicitly state when to use it versus alternatives, though no date-related sibling tools exist. There is no guidance on when to use it in a broader workflow.

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

Tool Schema Changelog

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

  1. 9 tool updatesv0.1.0
    • First observedcapture_screen
    • First observedconnect_device
    • First observedget_device_info
    • First observedget_screen_image
    • First observedpush_server
    • First observedpush_server_onetime
    • First observedpush_server_persistent
    • First observedtake_screenshot
    • First observedvalidate_date

TDQS

C2.6/5.0
Disambiguation1/5

Three tools (capture_screen, take_screenshot, get_screen_image) appear to do the same thing, and push_server_onetime and push_server_persistent are deprecated duplicates of push_server. This creates significant ambiguity, making it hard for an agent to choose the correct tool.

Naming Consistency2/5

Tool names use snake_case but verb choice is inconsistent: 'capture', 'take', 'get' are used interchangeably for similar actions. Additionally, 'validate_date' is an unrelated utility that breaks the device-management naming pattern.

Tool Count3/5

At 9 tools, the count is within a reasonable range, but several tools are redundant or deprecated, making the set feel padded. The effective number of distinct, useful tools is smaller, so the scope is borderline.

Completeness2/5

The device-management domain is partially covered (connect, info, screen capture), but there are missing lifecycle operations like disconnect or file transfer, plus an unrelated date validation tool. Deprecated tools are left in, indicating an incomplete cleanup and an unclear domain boundary.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A test server implementing all features of the MCP protocol, including prompts, tools, resources, and sampling, designed for testing MCP clients rather than practical applications.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A developer toolkit for MCP servers that enables testing, validation, debugging, and scaffolding, and can be used as an MCP server for AI agents.
    14
    5
    MIT

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIddlx/mcp-test-stepfun'

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