Minimum Viable MCP Project
A starter template for building Model Context Protocol (MCP) servers using Node.js and TypeScript. It provides sample implementations for tools, resources, and prompts, designed to help developers test and integrate MCP capabilities into clients like Codex.
README
最小可用 MCP 项目(Node.js + TypeScript)
这个项目是一个可直接跑通的 MCP 学习样例,包含完整链路:
- 写 MCP Server(Tool / Resource / Prompt)
- 本地用 MCP Client 调用并验证
- 接入 Codex,让 Codex 直接调用你的 MCP 能力
1. 环境要求
- Node.js
>= 22(用--experimental-strip-types直接运行 TS) - npm
>= 9
2. 项目结构
.
├── src
│ ├── server.ts # MCP server (stdio)
│ └── smoke-client.ts # 本地全流程验证客户端
├── tsconfig.json
├── package.json
└── README.md
3. 安装依赖
npm install
4. 运行方式
4.1 开发模式(直接跑 TS)
npm run dev
4.2 启动服务
npm run start
4.3 全流程 Smoke Test(推荐先跑)
npm run smoke
这个命令会:
- 在同一个进程内创建 MCP server/client(
InMemoryTransport) - 用
src/smoke-client.ts依次调用:listToolscallTool(sum_numbers)readResource(note://quickstart)getPrompt(review_snippet)
5. 这个 Server 暴露了什么
Tools
ping: 健康检查sum_numbers: 两数求和,返回文本 + 结构化结果
Resource
note://quickstart: 学习提示文本
Prompt
review_snippet(language, snippet): 生成可复用的 code review prompt
6. 接入 Codex(重点)
推荐使用 Codex CLI 命令直接添加 MCP server。
6.1 添加到 Codex
codex mcp add learning-mcp -- node --experimental-strip-types /home/fezhang/mcp/src/server.ts
6.2 检查是否生效
codex mcp list
codex mcp get learning-mcp
6.3 在 Codex 会话里验证
你可以直接对 Codex 说:
列出 learning-mcp 的工具调用 sum_numbers,a=12,b=30读取资源 note://quickstart
6.4 删除配置(可选)
codex mcp remove learning-mcp
7. 常见问题
Q1: 为什么 server 日志写到 stderr,而不是 stdout?
MCP stdio 协议使用 stdin/stdout 传输 JSON-RPC。
如果把日志写到 stdout,会污染协议消息,导致调用失败。
Q2: 改了 src/server.ts 之后,Codex 什么时候生效?
这个样例是直接执行 src/server.ts。
下次启动新的 MCP server 进程就会生效,不需要构建。
8. 下一步建议
- 给
sum_numbers增加输入边界校验(如最大值)。 - 增加一个会访问真实 API 的 Tool(例如天气查询)。
- 再加一个
ResourceTemplate学习动态资源模式。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。