关于 FelixYifeiWang-felix-mcp-smithery
Felix MCP (Smithery) 是部署在 Smithery 上的小型 MCP 服务,可供 Claude Desktop 等客户端使用。它通过 Streamable HTTP 提供问候、随机数、天气查询和 OpenAI 文本摘要工具。
主要功能
- 01按姓名生成问候
- 02生成随机整数
- 03按城市查询当前天气
- 04使用 OpenAI 摘要文本
适用场景
- 01在 MCP 客户端中添加问候工具
- 02生成不超过指定上限的随机数
- 03查询某个城市的当前天气
- 04配置 OpenAI API 密钥后摘要文本
MCP 相关
通过 `/mcp` 上的 Streamable HTTP 端点向 MCP 客户端提供四种工具。支持会话管理以及 POST、GET 和 DELETE 请求。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://server.smithery.ai/@FelixYifeiWang/felix-mcp-smithery/mcpclaude mcp add --transport http ai-smithery-felixyifeiwang-felix-mcp-smithery https://server.smithery.ai/@FelixYifeiWang/felix-mcp-smithery/mcp{"mcpServers":{"ai-smithery-felixyifeiwang-felix-mcp-smithery":{"type":"http","url":"https://server.smithery.ai/@FelixYifeiWang/felix-mcp-smithery/mcp"}}}在 Cursor 中打开{"servers":{"ai-smithery-felixyifeiwang-felix-mcp-smithery":{"type":"http","url":"https://server.smithery.ai/@FelixYifeiWang/felix-mcp-smithery/mcp"}}}在 VS Code 中打开{"mcpServers":{"ai-smithery-felixyifeiwang-felix-mcp-smithery":{"type":"http","url":"https://server.smithery.ai/@FelixYifeiWang/felix-mcp-smithery/mcp"}}}{"mcpServers":{"ai-smithery-felixyifeiwang-felix-mcp-smithery":{"serverUrl":"https://server.smithery.ai/@FelixYifeiWang/felix-mcp-smithery/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://server.smithery.ai/@FelixYifeiWang/felix-mcp-smithery/mcp需要授权工具
详细介绍
Felix MCP(Smithery)
一个小巧的 Model Context Protocol 服务,提供几个实用工具,部署在 Smithery 上,已在 Claude Desktop 中测试,并已收录到 NANDA。
包含的工具
hello(name)– 快速问候randomNumber(max?)– 随机整数(默认值为 100)weather(city)– 通过 wttr.in 获取当前天气summarize(text, maxSentences?, model?)– 由 OpenAI 提供支持的摘要 (需要OPENAI_API_KEY)
公开服务页面
https://smithery.ai/server/@FelixYifeiWang/felix-mcp-smithery
MCP 端点(可流式传输的 HTTP)
https://server.smithery.ai/@FelixYifeiWang/felix-mcp-smithery/mcp
(在 Smithery/NANDA 中,身份验证通过查询参数 api_key 和可选的 profile 附加,并在平台界面中配置;请勿在此处硬编码密钥。)
演示
在 Claude Desktop 中(推荐)
-
打开 Settings → Developer → mcpServers 并添加:
{ "mcpServers": { "felix-mcp-smithery": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "@FelixYifeiWang/felix-mcp-smithery", "--key", "YOUR_SMITHERY_API_KEY", "--profile", "YOUR_PROFILE_ID" ] } } } -
开始新聊天并运行:
- “列出 felix-mcp-smithery 中的工具”
- “使用
{ "name": "Felix" }调用 hello” - “用此文本调用 summarize(2 句话):…”
功能
- 可流式传输的 HTTP MCP – 在
/mcp上使用 Express 和 MCP SDK 的StreamableHTTPServerTransport(POST/GET/DELETE)。 - 支持会话 – 正确处理
Mcp-Session-Id(不会递归关闭)。 - OpenAI 摘要生成 – 通过聊天补全生成简洁摘要(默认模型为
gpt-4o-mini)。 - 轻松托管 – 打包为容器并部署在 Smithery 上。
安装(本地)
需要 Node 18+(已在 Node 20 上测试)。
git clone https://github.com/FelixYifeiWang/felix-mcp-smithery
cd felix-mcp-smithery
npm install
设置环境变量(仅在本地调用 summarize 时需要):
export OPENAI_API_KEY="sk-..."
运行:
node index.js
# ✅ MCP Streamable HTTP server on 0.0.0.0:8081 (POST/GET/DELETE /mcp)
本地 curl:
curl -s -X POST "http://localhost:8081/mcp" \
-H 'Content-Type: application/json' \
-H 'Mcp-Protocol-Version: 2025-06-18' \
--data '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2025-06-18"}}'
用法(工具)
hello
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"hello","arguments":{"name":"Felix"}}}
randomNumber
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"randomNumber","arguments":{"max":10}}}
weather
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"weather","arguments":{"city":"Boston"}}}
summarize (需要在服务端设置 OPENAI_API_KEY)
{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"summarize","arguments":{"text":"(paste long text)","maxSentences":2}}}
工作原理
-
服务核心: 使用来自
@modelcontextprotocol/sdk的McpServer,并在buildServer()中注册工具。 传输:在/mcp上使用StreamableHTTPServerTransport,处理:POST /mcp— JSON-RPC 请求(以及首次initialize)GET /mcp— 服务端到客户端的通知(SSE)DELETE /mcp— 结束会话
-
**CORS:**允许所有来源;公开
Mcp-Session-Id标头(适用于托管客户端)。 -
**OpenAI 摘要生成:**通过精简的
fetch封装调用/v1/chat/completions,并使用简短的“简洁摘要生成器”系统提示词。
部署(Smithery)
-
GitHub 仓库包含:
-
index.js(Express + MCP) -
package.json(@modelcontextprotocol/sdk、express、cors、zod) -
Dockerfile -
smithery.yaml:kind: server name: felix-mcp-smithery version: 1.0.0 runtime: container startCommand: type: http transport: streamable-http port: 8081 path: /mcp ssePath: /mcp health: /
-
-
在 Smithery 中:
- 从仓库创建服务。
- 添加 环境变量:
OPENAI_API_KEY(summarize可选)。 - 部署 → 确认日志显示:
✅ MCP Streamable HTTP server on 0.0.0.0:8081 (POST/GET/DELETE /mcp)
NANDA 索引
-
前往 join39.org → Context Agents → Add
- Agent 名称:
Felix MCP (Smithery) - MCP 端点:
https://server.smithery.ai/@FelixYifeiWang/felix-mcp-smithery/mcp?api_key=YOUR_KEY&profile=YOUR_PROFILE - 描述:
托管在 Smithery 上的可流式传输 HTTP MCP。工具:hello、randomNumber、weather、summarize(OpenAI)。
- Agent 名称:
-
在 NANDA 中测试:
initialize→tools/list→ 调用hello。
项目结构
.
├─ index.js # Express + Streamable HTTP + tools
├─ package.json # sdk/express/cors/zod
├─ Dockerfile # container build for Smithery
└─ smithery.yaml # Smithery project config
作业评分标准对应项
- ✅ **查找/构建:**自定义 MCP 服务,包含 4 个工具
- ✅ **部署:**托管在 Smithery 上(已链接公开服务页面)
- ✅ **在宿主端测试:**已在 Claude Desktop 中验证(包含截图/录屏)
- ✅ **NANDA 索引:**已添加为 Context Agent(包含截图)
- ✅ **交付物:**仓库链接 + 可用端点 + 宿主端截图
成功之处
- 避开关闭循环的陷阱后,带会话管理的 Streamable HTTP 传输稳定可靠。
- Smithery 让部署和身份验证密钥分发变得简单明了。
- Claude Desktop 可通过
@smithery/cli run …顺利连接。
AI 致谢
本项目的部分内容(工具脚手架、错误修复和文档润色)是在 AI 的协助下完成的。 最终代码、部署和测试步骤均由我实现并验证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。