MCP Who Am I - 用户管理系统
基于 Model Context Protocol (MCP) 的用户管理系统,包含业务服务和 MCP 服务两部分。
项目结构
MCP_who_am_i/
├── biz/ # 业务服务 - 用户管理HTTP API
└── mcp/ # MCP服务 - 将biz服务封装为MCP工具项目组成
1. biz - 用户管理业务服务
提供基于内存的用户管理 RESTful API。
功能:
- GET /api/users - 列出所有用户
- GET /api/users/:name - 查询用户
- POST /api/users - 创建用户
- PUT /api/users/:name - 更新用户
详细文档: biz/README.md
快速启动:
cd biz
go run cmd/server/main.go
# 服务运行在 http://localhost:80802. mcp - MCP协议服务
将 biz 服务的功能封装为 MCP 工具,让大模型(如 Claude)能够调用。
功能:
- 支持 stdio 和 SSE 两种通信模式
- 提供 4 个用户管理工具
- 基于 JSON-RPC 2.0 的 MCP 协议
- 可直接集成到 Claude Desktop
MCP工具:
list_users- 列出所有用户get_user- 查询用户create_user- 创建用户update_user- 更新用户
详细文档: mcp/README.md
快速启动:
cd mcp
go build -o mcp-server cmd/server/main.go
# stdio模式
./mcp-server -mode stdio
# SSE模式
./mcp-server -mode sse快速体验
完整流程
- 启动 biz 服务(终端1):
cd biz
go run cmd/server/main.go- 启动 MCP 服务(终端2):
cd mcp
./mcp-server -mode sse- 运行测试(终端3):
cd mcp
./test_sse.sh与 Claude Desktop 集成
- 编译 MCP 服务:
cd mcp
go build -o mcp-server cmd/server/main.go- 配置 Claude Desktop(
~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"user-management": {
"command": "/Users/didi/CodeBase/GithubCode/MCP_who_am_i/mcp/mcp-server",
"args": ["-mode", "stdio"],
"env": {"BIZ_URL": "http://localhost:8080"}
}
}
}- 重启 Claude Desktop
- 在 Claude 中使用自然语言操作用户数据:
- "帮我创建一个用户,名叫张三,年龄25岁" - "查询张三的信息" - "列出所有用户"
技术栈
biz 服务
- 语言: Go 1.21+
- 框架: Gin
- 存储: 内存(Map + sync.RWMutex)
mcp 服务
- 语言: Go 1.21+
- 协议: MCP (JSON-RPC 2.0)
- 依赖: github.com/google/uuid
- 通信: stdio / SSE
文档索引
biz 服务
mcp 服务
架构图
┌──────────────────┐
│ Claude LLM │ 大模型
└────────┬─────────┘
│ MCP Protocol (JSON-RPC 2.0)
│
┌────────▼─────────┐
│ MCP Service │ MCP服务
│ (stdio/SSE) │ - 工具定义
│ │ - 协议转换
└────────┬─────────┘
│ HTTP REST API
│
┌────────▼─────────┐
│ Biz Service │ 业务服务
│ (Port 8080) │ - 用户管理
│ │ - 内存存储
└──────────────────┘特性亮点
- ✅ 标准协议: 完整实现 MCP 协议规范
- ✅ 双模式: 支持 stdio 和 SSE 两种通信方式
- ✅ 即插即用: 可直接集成到 Claude Desktop
- ✅ 类型安全: Go 语言强类型保证
- ✅ 并发安全: 完善的并发控制
- ✅ 完整文档: 详细的使用和开发文档
- ✅ 测试脚本: 自动化测试验证
测试验证
测试 biz 服务
curl http://localhost:8080/api/users测试 MCP 服务
# SSE模式
cd mcp
./test_sse.sh
# stdio模式
cd mcp
./test_stdio.sh开发指南
环境要求
- Go 1.21 或更高版本
- macOS / Linux / Windows
安装依赖
# biz服务
cd biz && go mod download
# mcp服务
cd mcp && go mod download代码格式化
# 使用gofmt格式化代码
gofmt -w .项目状态
✅ 已完成
- biz 服务完整实现
- MCP 服务完整实现
- 文档完善
- 测试验证通过
许可
MIT License
作者
didi
更新日志
2025-10-17
- ✅ 完成 biz 服务实现
- ✅ 完成 MCP 服务实现
- ✅ 完成文档编写
- ✅ 完成测试验证
