一组实现模型上下文协议(MCP)的测试服务器。
访问我们的**GitHub 页面画廊**,获取可以直接与Cursor配合使用的单击安装按钮。
npx -y @msfeldstein/mcp-test-servers <server>
直接使用cli.js进行开发
{
"mcpServers": {
"test-server": {
"command": "/Users/feldstein/Source/mcp-test-servers/src/cli.js",
"args": [
"ping"
],
"env": {}
}
}
}
all-types: 展示MCP支持的各种工具参数类型bad-param: 故意带有畸形参数名的服务器big-response: 返回大量响应的服务器broken-tool: 故意损坏的工具服务器broken-schema: 使用顶级oneOf/allOf/anyOf的无效JSON模式服务器broken-schema-fastmcp: 使用顶级oneOf/allOf/anyOf的真实损坏模式FastMCP服务器crash-on-startup: 启动时崩溃的服务器combined: 包含工具和资源的服务器duplicate-names: 资源具有重复名称的服务器elicitation: 展示MCP引出功能的服务器 - 通过结构化表单请求用户信息(姓名、年龄、联系方式、偏好)enum-param: 工具具有枚举字符串参数integer-anyof-bug: 复现Cursor的整数验证bug,参数使用{"anyOf": [{"type": "integer"}, {"type": "null"}]}会因'got number'错误而失败env-check: 检查SHOULD_RUN环境变量是否正确传递env-echo: 回显环境变量gpt5-breaker: 具有复杂参数验证的SQL查询执行工具服务器headers: 安全返回HTTP头信息的FastMCP服务器instructions: 包含指令和makeRequest工具的服务器,该工具对值42返回成功image: 工具返回刺猬索尼克的图片long-description: 通过环境变量配置非常长的描述long-running: 每2秒发送一次进度通知,持续20秒的任务many-resources: 包含多个资源的服务器many-tools: 包含100个工具的服务器,每个工具都返回'ack'math: 基本数学函数工具服务器(加、减、乘、除、幂、平方根、阶乘)missing-type: 工具缺少参数模式中的必需'type'字段的服务器missing-type-fastmcp: 真正缺少'type'字段的工具模式FastMCP服务器named: 通过MCP_SERVER_NAME环境变量配置名称的服务器notion-gemini-repro: 在某些模型上会中断的复杂嵌套模式服务器(Notion API复现案例)- 内联模式notion-gemini-repro-raw: 在某些模型上会中断的复杂嵌套模式服务器(Notion API复现案例)- 精确原始模式对象number-param: 具有数字参数的工具oauth-repro: 复现OAuth 2.0流程问题,具有正确的发现端点 - 资源服务器运行在3001端口,认证服务器运行在3002端口oauth-debug: 具有全面日志和端点跟踪的OAuth调试服务器 - 资源服务器运行在3003端口,认证服务器运行在3004端口oauth-callback-test: 模拟Cursor 1.4.x端点发现bug的OAuth回调测试服务器 - 运行在3005端口oauth-edge-case: 可配置边缘情况以触发发现bug的OAuth服务器 - 资源服务器运行在3006端口,认证服务器运行在3007端口oauth-bug-trigger: 特别设计用于复现精确的Cursor 1.4.x OAuth发现bug的服务器 - 资源服务器运行在3008端口,认证服务器运行在3_009端口optional-param: 工具具有可选参数pattern-param: 工具具有模式匹配参数ping: 简单的服务器,响应'pong'prompts: 包含两个提示的服务器 - 一个静态问候和一个动态故事生成器,具有角色名称和位置参数raw-broken: 具有真正损坏模式的原始JSON-RPC MCP服务器(无框架验证)resource: 资源服务器实现resource-lister: 发布5个资源并具有列出它们的工具的服务器roots-echo: 通过回显客户端提供的roots来展示MCP roots功能的服务器session-inactivity: 会话在30秒不活动后过期的流式HTTP服务器,用于测试会话管理session-management: 实现MCP会话管理行为的HTTP服务器 - 分配会话ID,要求请求中包含它们,并在终止会话时返回404sse-timeout: 建立SSE连接但在30秒后超时的流式HTTP服务器,用于测试客户端重新连接stderr: 将日志记录到stderr的服务器structured-output: 通过简单的echo工具展示structuredContent响应dual-content: 展示同一响应中structuredContent和content的不同输出everything: 综合测试所有MCP特性的服务器 - 带有/不带参数的工具、资源、提示、引出、动态工具、roots回显、环境变量对于即时全面测试,请使用内置的AI代理测试提示:
npx @msfeldstein/mcp-test-servers everything/test-everythingeverything服务器旨在全面测试所有MCP特性。以下是测试每个特性的方法:
{
"mcpServers": {
"everything": {
"command": "npx @msfeldstein/mcp-test-servers everything",
"env": {
"MY_ENV_VAR": "My Special Token"
}
}
}
}
工具: echo_with_params
测试: 使用各种参数组合调用:
- message: "Hello World", repeat_count: 3, uppercase: true
- message: "Test", repeat_count: 1, uppercase: false
- message: "MCP"(使用默认值)
预期: 应该回显指定重复次数和大小写转换的消息。
工具: simple_ping
测试: 不带任何参数调用
预期: 应该返回"pong"
工具: get_mixed_resources
测试: 调用该工具
预期: 应该在同一响应中返回文本内容和一个小测试图像
工具: test_all_elicitations
测试: 调用该工具并响应所有提示:
工具: toggle_dynamic_tool
测试:
toggle_dynamic_tool启用动态工具dynamic_feature工具变得可用dynamic_feature并使用可选操作参数toggle_dynamic_tool禁用dynamic_feature工具不再可用
预期: 工具可用性应动态变化工具: echo_mcp_roots
测试: 调用该工具
预期: 应该返回客户端提供的MCP roots的JSON表示
工具: echo_env_var
测试: 提示:"调用echo_env_var MCP工具"
预期: 应该返回"MY_ENV_VAR = My Special Token"
工具: long_running_progress
测试: 使用可选任务名称参数调用
预期: 应该运行20秒,每2秒更新一次进度,显示:
资源: everything://docs.txt
测试: 请求该资源
预期: 应该返回关于服务器的综合文档
资源: everything://test-image.png
测试: 请求该资源
预期: 应该返回PNG格式的小测试图像
提示: simple-greeting
测试: 输入/sim和/simple-greeting应被建议。提交它。
预期: 应该返回关于Everything Server的友好问候消息
提示: personalized-message
测试: 提交/personalized-message:
提示: test-everything
测试: 在Cursor中使用斜杠命令:/test-everything
预期: 应该返回全面的分步测试说明,供AI代理系统地测试所有MCP特性
用途: 适用于自动化测试 - AI将自动执行所有20个测试步骤并提供完整的验证报告
MY_ENV_VAR="My Special Token"在环境中simple_ping和echo_with_paramsget_mixed_resourcestest_all_elicitationsecho_mcp_roots和echo_env_varlong_running_progress并接收进度通知此全面测试确保所有MCP协议特性正常工作。