内容
# 简单的MCP服务器
使用Cloudflare和Hono构建的最简单的远程MCP服务器。
## 概要
该项目是[MCP(模型上下文协议)](https://modelcontextprotocol.io/) 服务器在Cloudflare Workers上运行的示例实现。它使用Hono框架,展示了如何用最少的代码构建MCP服务器。
## 提供工具
### 因数分解
对正整数进行素因数分解的工具。
**输入**:
- `number`: 要进行素因数分解的正整数(1以上,15位以下)
**输出**:
- 素因数列表
- 除法次数
**示例**:
```
输入: 12
输出: 12的素因数分解结果:
素因数: [2, 2, 3]
除法次数: 3次
```
## 前提条件
- Node.js v18以上
- Cloudflare账户(用于部署)
## 设置
```bash
# 克隆仓库
git clone <仓库URL>
cd simple-mcp-server
# 安装依赖
npm install
```
## 本地运行
```bash
npm run dev
```
服务器将在 `http://localhost:8787` 启动。MCP端点是 `http://localhost:8787/mcp`。
## 测试
```bash
npm test
```
## 部署到Cloudflare
```bash
# 登录Cloudflare(仅需首次)
npx wrangler login
# 部署
npm run deploy
```
部署后,您可以通过 `https://<您的Worker>.workers.dev/mcp` 访问。
## 连接MCP客户端
### Claude Desktop
在 `claude_desktop_config.json` 中添加以下内容:
```json
{
"mcpServers": {
"simple-mcp-server": {
"url": "http://localhost:8787/mcp"
}
}
}
```
部署后,请将 `url` 更改为Cloudflare Workers的URL。
### Claude Code
```bash
claude mcp add simple-mcp-server http://localhost:8787/mcp --transport http
```
## 验证
使用curl验证:
```bash
# 获取工具列表
curl -X POST http://localhost:8787/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'
# 执行素因数分解
curl -X POST http://localhost:8787/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "params": {"name": "factorize", "arguments": {"number": 12}}, "id": 2}'
```
## 技术栈
- [Hono](https://hono.dev/) - 轻量级Web框架
- [@hono/mcp](https://github.com/honojs/middleware/tree/main/packages/mcp) - Hono的MCP支持
- [Cloudflare Workers](https://workers.cloudflare.com/) - 无服务器执行环境
- [Vitest](https://vitest.dev/) - 测试框架
- [zod](https://zod.dev/) - 模式验证
## 许可证
MIT
## 许可声明
Claude Code相关文档(`.claude/`、`.steering/`等)参考了 [GenerativeAgents/claude-code-book-chapter8](https://github.com/GenerativeAgents/claude-code-book-chapter8) (MIT License)。