随机短语生成器

一个基于Node.js的MCP服务器实现,用于生成随机的美国州名和特色汤组合。

  • by gbti-network
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 gbti-network/mcp-whats-the-passphrase

使用说明

超级秘密MCP服务器

纯Node.js中的模型上下文协议(MCP)服务器实现,提供了一个有趣的工具来生成随机的US状态和签名汤组合。

特性

  • 纯Node.js实现
  • 符合JSON-RPC 2.0标准
  • MCP协议版本:2024-11-05
  • 自定义日志记录系统
  • 支持模式验证的工具
  • STDIO传输

入门指南

先决条件

  • Node.js(推荐最新LTS版本)
  • MCP测试检验员

安装

  1. 克隆存储库:
git clone git@github.com:gbti-network/mcp-basic-test.git
cd mcp-basic-test
  1. 安装依赖项:
npm install

运行检查器

使用MCP检查器启动服务器:

npx @modelcontextprotocol/inspector -- node index.js

服务器将启动,并可通过STDIO进行连接。

可用工具

getSecretPassphrase

返回一个美国州及其标志性汤的随机组合。示例包括:

  • 新英格兰蛤蜊浓汤
  • 路易斯安那州Gumbo
  • 得克萨斯辣椒
  • 加利福尼亚州乔皮诺
  • 密歇根樱桃汤

输入架构:

{
  "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

发展

添加新工具

  1. 在中定义您的工具 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';
    }
});
  1. 使用MCP检查器进行测试:
    • 连接到服务器
    • 使用“列出工具”验证工具注册
    • 测试工具执行

日志记录

服务器使用具有多个级别的自定义日志记录系统:

  • 调试:详细的调试信息
  • 信息:一般操作信息
  • 警告:警告信息
  • 错误:错误条件

日志存储在 .logs 目录。

与Cascade一起使用

选项1:直接使用工具

当MCP服务器加载到Cascade中时,您可以直接使用 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:无需用户确认即可运行的工具列表

配置文件应放置在:

  • 窗户: %USERPROFILE%\.codeium\windsurf\mcp_config.json
  • macOS/Linux: $HOME/.codeium/windsurf/mcp_config.json

测试

  1. 使用MCP检查器启动服务器
  2. 验证服务器初始化
  3. 检查工具列表
  4. 测试工具执行
  5. 验证响应格式

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 提交您的更改
  4. 推到分支
  5. 创建拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢

  • 协议规范的模型上下文协议团队
  • 测试工具的MCP检查员团队

保持联系

在您最喜欢的平台上关注我们,以获取更新、新闻和社区讨论: