MCP测试服务器
一组实现模型上下文协议(MCP)的测试服务器。
🚀 快速安装图库
访问我们的 **** 只需单击即可直接使用Cursor的安装按钮!
手动安装
npx -y @msfeldstein/mcp-test-servers 发展
直接使用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:服务器的JSON架构无效,在顶层使用了oneOf/allOf/anyOfbroken-schema-fastmcp:FastMCP服务器具有真正损坏的模式,在顶层使用oneOf/allOf/anyOfcrash-on-startup:服务器在启动时崩溃combined:配备工具和资源的服务器duplicate-names:资源名称重复的服务器elicitation:展示MCP启发功能的服务器-通过结构化表单请求用户信息(姓名、年龄、联系方式、偏好)enum-param:工具具有枚举字符串参数integer-anyof-bug:使用以下任一模式参数重现Cursor的整数验证错误{"anyOf": [{"type": "integer"}, {"type": "null"}]}验证失败,出现“获取编号”错误env-check:检查是否正确传递了SHOULD_RUN环境变量env-echo:与环境变量相呼应gpt5-breaker:使用复杂参数验证的SQL查询执行工具的服务器graphing:MCP应用服务器show-graphing-ui;UI使用chart.js呈现内联图表headers:安全返回HTTP标头信息的FastMCP服务器instructions:带有指令和makeRequest工具的服务器,该工具返回值为42的成功image:工具返回刺猬声波的图像long-description:公开通过env-var配置的非常长的描述long-running:对于20秒的任务,每2秒发送一次进度通知的服务器many-resources:具有多个资源的服务器many-tools:服务器有100个工具,每个工具返回“ack”math:具有基本数学函数工具(加、减、乘、除、幂、平方、阶乘)的服务器missing-type:带有工具的服务器缺少参数架构中必需的“type”字段missing-type-fastmcp:工具架构中确实缺少“类型”字段的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端点发现错误的OAuth回调测试服务器-在端口3005上运行oauth-edge-case:具有可配置边缘案例的OAuth服务器,用于触发发现错误-端口3006上的资源服务器,端口3007上的身份验证服务器oauth-bug-trigger:专门用于重现Cursor 1.4.x OAuth发现错误的服务器-端口3008上的资源服务器,端口3009上的身份验证服务器optional-param:工具有一个可选参数pattern-param:工具具有模式匹配的参数ping:一个用'pong'响应的简单服务器prompts:带有两个提示的服务器-一个静态问候语和一个带有角色名称和位置参数的动态故事生成器raw-broken:原始JSON-RPC MCP服务器,具有真正损坏的模式(无框架验证)resource:资源服务器实现resource-lister:发布5个资源并具有列出这些资源的工具的服务器roots-echo:通过回显客户端提供的根来演示MCP根功能的服务器session-inactivity:可流式HTTP服务器,在30秒不活动后使会话过期,以测试会话管理session-management:实现MCP会话管理行为的HTTP服务器-分配会话ID,在请求中要求它们,对于终止的会话返回404sse-timeout:可流式HTTP服务器,建立SSE连接,但在30秒后超时以测试客户端重新连接stderr:登录到stderr的服务器structured-output:使用简单的回显工具演示结构化内容响应ui:MCP应用服务器show-ui;渲染的UI按钮调用get-time工具并在线显示当前时间dual-content:演示结构化content和同一响应中的内容的不同输出everything:全面的服务器测试所有MCP功能-有/没有参数、资源、提示、启发、动态工具、根回声、环境变量的工具
🚀 快速入门:自动化测试
要进行即时全面测试,请使用内置的AI代理测试提示:
- 启动everything服务器:
npx @msfeldstein/mcp-test-servers everything - 在光标中,使用斜线命令:
/test-everything - AI将自动执行所有20个测试步骤,并提供完整的验证报告
Everything服务器测试计划
这 everything 服务器旨在全面测试所有MCP功能。以下是如何测试每个功能:
工具测试
0.安装程序
{
"mcpServers": {
"everything": {
"command": "npx @msfeldstein/mcp-test-servers everything",
"env": {
"MY_ENV_VAR": "My Special Token"
}
}
}
}1.带参数的工具
工具: echo_with_params 测试: 使用各种参数组合进行调用:
- message: "Hello World", repeat_count: 3, uppercase: true
- message: "Test", repeat_count: 1, uppercase: false
- message: "MCP" (using defaults)
预期: 应使用指定的重复和案例转换来回应消息。
2.无参数工具
工具: simple_ping 测试: 不带任何参数的调用 预期: 应该返回“pong”
3.工具返回混合内容
工具: get_mixed_resources 测试: 调用工具 预期: 应在同一响应中返回文本内容和一个小测试图像
4.启发式测试
工具: test_all_elicitations 测试: 调用工具并响应所有提示:
- 字符串输入(名称)
- 布尔输入(编程首选项)
- 数字输入(经验年限,0-50)
- 枚举输入(编程语言选择)
预期: 应收集所有输入并显示摘要
5.动态工具管理
工具: toggle_dynamic_tool 测试:
- 呼叫
toggle_dynamic_tool启用动态工具 - 验证
dynamic_feature工具可用 - 呼叫
dynamic_feature带有可选动作参数 - 呼叫
toggle_dynamic_tool再次禁用 - 验证
dynamic_feature工具不再可用
预期: 工具可用性应动态变化
6.MCP根回声
工具: echo_mcp_roots 测试: 调用工具 预期: 应返回客户端提供的MCP根的JSON表示
7.环境变量回声
工具: echo_env_var 测试: 提示:“调用echo_env_var MCP工具” 预期: 应返回“MY_ENV_VAR=我的特殊令牌”
8.长期运行进度工具
工具: long_running_progress 测试: 使用可选的task_name参数进行调用 预期: 应运行20秒,每2秒更新一次进度,显示:
- 从0到10的进度(总步骤数)
- 每个步骤的描述性消息
- 最终完成消息
- 客户端应收到进度通知
资源测试
9.文本资源
资源: everything://docs.txt 测试: 请求资源 预期: 应返回有关服务器的全面文档
10.图像资源
资源: everything://test-image.png 测试: 请求资源 预期: 应返回PNG格式的小测试图像
提示测试
11.无参数提示
提示: simple-greeting 测试: 建议使用/sim和/简单的问候语。提交。 预期: 应返回关于Everything服务器的友好问候消息
12.参数提示
提示: personalized-message 测试: 提交/个性化消息:
- 名字:“爱丽丝”
- 主题:“人工智能发展”
预期: 应返回一条提及Alice和AI Development的个性化消息
13.AI代理测试提示
提示: test-everything 测试: 在Cursor中使用斜线命令时使用此提示: /test-everything 预期: 应返回全面的分步测试说明,以便AI代理系统地测试所有MCP功能 用途: 非常适合自动化测试-AI将自动执行所有20个测试步骤,并提供完整的验证报告
完成测试顺序
- 设置: 集
MY_ENV_VAR="My Special Token"在环境中 - 基本工具: 测试
simple_ping以及“回声图”\\ - 混合内容: 测试
get_mixed_resources - 引语: 贯穿
test_all_elicitations完全 - 动态工具: 打开/关闭动态工具和测试可用性
- 系统信息: 测试
echo_mcp_roots和echo_env_var - 长期运行: 测试
long_running_progress带有进度通知 - 资源: 获取文本和图像资源
- 提示: 测试参数化和非参数化提示
此全面测试可确保所有MCP协议功能正常工作。
