mcp-test-stepfun
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., "@mcp-test-stepfunrun the full test suite"
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.
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) |
| 35/35 通过 |
UVX (stdio) |
| 35/35 通过 |
HTTP/SSE |
| 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 完整项目模板 |
使用方法
打包
skills/stepfun-mcp/文件夹为 zip在阶跃客户端中添加技能(导入 zip)
告诉阶跃你想实现的功能
示例对话:
"帮我写一个阶跃兼容的 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/ # 技术文档文档索引
必读
文档 | 说明 |
UVX 问题汇总(五层缓存) |
技术分析
文档 | 说明 |
FastMCP "流式"原理 | |
SDK 路由 Bug 分析 | |
阶跃流式限制 |
测试报告
文档 | 说明 |
NPX 模式测试报告 | |
UVX 模式测试报告 |
测试环境
平台: Windows 11 Pro
客户端: 阶跃 AI 桌面助手 v0.2.13
协议版本: MCP 2025-11-25
其他平台未测试。
Available Tools
9 toolscapture_screenC
Capture the screen of the device.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | jpg |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | auto | |
| device_id | No | Device ID (optional, auto-detect if not provided) | auto |
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 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| success | Yes | |
| device_name | No | |
| screen_width | No | |
| battery_level | No | |
| screen_height | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | jpg |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| audio | No | Enable audio | |
| video | No | Enable video | |
| persistent | No | Keep server running | |
| auto_connect | No | Connect immediately |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | No | |
| success | Yes | |
| device_ip | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| video | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| video | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | jpg |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date string in YYYY-MM-DD format |
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v0.1.0- First observed
capture_screen - First observed
connect_device - First observed
get_device_info - First observed
get_screen_image - First observed
push_server - First observed
push_server_onetime - First observed
push_server_persistent - First observed
take_screenshot - First observed
validate_date
TDQS
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.
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.
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.
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
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
MCP server for building and testing AI agents with multi-model experimentation and insights.
An MCP Server that provides identity verification and anti-fraud tools for AI agents via deepidv.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA 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
- AlicenseNot gradedqualityDmaintenanceA lightweight MCP test server for verifying client connectivity, providing tools, resources, and prompts for integration.19ISC
- FlicenseNot gradedqualityDmaintenanceA standardized MCP server designed for testing integration with the Des MCP Server Testing API. It allows AI agents to interact with testing endpoints using tools implemented via the Model Context Protocol.-

Konduktofficial
AlicenseNot gradedqualityCmaintenanceA developer toolkit for MCP servers that enables testing, validation, debugging, and scaffolding, and can be used as an MCP server for AI agents.145MIT
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/AIddlx/mcp-test-stepfun'
If you have feedback or need assistance with the MCP directory API, please join our Discord server