关于 Super Secret MCP Server
这是一个纯 Node.js MCP 服务示例,提供生成美国州名与代表性汤品随机组合的工具,适合演示或测试基于 STDIO 的小型 MCP 工具。
主要功能
- 01生成随机州名与汤品口令
- 02符合 JSON-RPC 2.0
- 03验证输入架构
- 04自定义多级日志
- 05STDIO 传输
适用场景
- 01生成趣味秘密口令
- 02用 MCP Inspector 测试工具发现与执行
- 03以精简 Node.js 示例添加工具
MCP 相关
通过 STDIO 向 MCP 客户端提供 getSecretPassphrase 工具,返回随机的美国州名与代表性汤品组合。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
超级秘密 MCP 服务
一个使用纯 Node.js 实现的模型上下文协议(MCP)服务,可提供一个有趣的工具,用于生成随机的美国州及其招牌汤品组合。
功能
- 纯 Node.js 实现
- 符合 JSON-RPC 2.0 规范
- MCP 协议版本:2024-11-05
- 自定义日志系统
- 支持带模式验证的工具
- STDIO 传输
快速开始
前提条件
- Node.js(推荐使用最新的 LTS 版本)
- 用于测试的 MCP Inspector
安装
- 克隆仓库:
git clone [email protected]:gbti-network/mcp-basic-test.git
cd mcp-basic-test
- 安装依赖项:
npm install
运行 Inspector
使用 MCP Inspector 启动服务:
npx @modelcontextprotocol/inspector -- node index.js
服务将启动,并可通过 STDIO 接受连接。
可用工具
getSecretPassphrase
返回随机的美国州及其招牌汤品组合。示例包括:
- 新英格兰蛤蜊浓汤
- 路易斯安那秋葵浓汤
- 德克萨斯辣椒
- 加利福尼亚海鲜浓汤
- 密歇根樱桃汤
输入模式:
{
"type": "object",
"properties": {},
"additionalProperties": false,
"required": []
}
示例响应:
{
"content": [{
"type": "text",
"text": "New England Clam Chowder"
}]
}
项目结构
.
├── index.js # Main server implementation
├── utils/
│ └── logger.js # Custom logging utility
├── .data/
│ ├── framework.md # Framework documentation
│ └── knowledge.md # Project knowledge base
└── .logs/ # Server logs directory
开发
添加新工具
- 在
index.js中定义工具:
this.tools.set('toolName', {
name: 'toolName',
description: 'Tool description',
inputSchema: {
type: 'object',
properties: {},
additionalProperties: false,
required: []
},
handler: async (params) => {
// Tool implementation
return 'result';
}
});
- 使用 MCP Inspector 测试:
- 连接到服务
- 使用“List Tools”验证工具注册情况
- 测试工具执行
日志记录
服务使用包含多个级别的自定义日志系统:
- DEBUG:详细的调试信息
- INFO:常规运行信息
- WARN:警告信息
- ERROR:错误情况
日志存储在 .logs 目录中。
与 Cascade 搭配使用
选项 1:直接使用工具
在 Cascade 中加载 MCP 服务后,你可以直接使用 getSecretPassphrase 工具生成州与汤品组合。
选项 2:自然语言界面
为了让工具更易于使用,你可以设置 Cascade,使其能够响应有关秘密密码的自然语言查询。以下是一个提示词示例:
When users ask variations of "What is the secret passcode?", use the getSecretPassphrase tool to generate and return a US State + Soup combination as "Today's secret passcode is: [STATE] [SOUP]"
这样,用户就可以通过如下自然语言问题获取密码:
- “秘密密码是什么?”
- “告诉我秘密代码”
- “今天的密码是什么?”
- “给我秘密口令”
示例交互:
User: "What's the secret passcode?"
Cascade: "Today's secret passcode is: Louisiana Gumbo 🍜"
选项 3:持久记忆
若要进行更持久的设置,你可以创建一个可跨会话保留的 Cascade 记忆:
{
"Title": "Secret Passcode Handler",
"Content": "When the user asks any variation of 'What is the secret passcode?', use the getSecretPassphrase tool and return its result as 'Today's secret passcode is: [STATE] [SOUP]'",
"Tags": ["mcp_server", "secret_passcode", "tool_execution"]
}
MCP 配置
要在 Cascade 中配置 MCP 服务,请将以下内容添加到你的 mcp_config.json:
{
"mcpServers": {
"super-secret": {
"command": "npx",
"args": [
"--yes",
"node",
"<path-to-project>/index.js"
],
"disabled": false,
"autoApprove": [
"getSecretPassphrase"
]
}
}
}
配置选项:
super-secret:MCP 服务的唯一标识符command:启动服务的命令(此处为 npx)args:命令行参数--yes:自动批准安装 npm 包node:使用 Node.js 运行<path-to-project>/index.js:服务文件的路径
disabled:服务是否已禁用autoApprove:无需用户确认即可运行的工具列表
配置文件应放置在:
- Windows:
%USERPROFILE%\.codeium\windsurf\mcp_config.json - macOS/Linux:
$HOME/.codeium/windsurf/mcp_config.json
测试
- 使用 MCP Inspector 启动服务
- 验证服务初始化
- 检查工具列表
- 测试工具执行
- 验证响应格式
贡献
- Fork 此仓库
- 创建功能分支
- 提交更改
- 推送到分支
- 创建 Pull Request
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
致谢
- 感谢模型上下文协议团队提供协议规范
- 感谢 MCP Inspector 团队提供测试工具
保持联系
在你喜爱的平台上关注我们,获取最新动态、新闻和社区讨论:
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。