用户管理系统

基于Model Context Protocol (MCP)的用户管理系统,提供用户管理的RESTful API和MCP工具封装,支持与Claude等大模型集成。

  • by ZoraZora59
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 ZoraZora59/MCP_who_am_i

使用说明

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:8080

2. 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

快速体验

完整流程

  1. 启动 biz 服务(终端1):
cd biz
go run cmd/server/main.go
  1. 启动 MCP 服务(终端2):
cd mcp
./mcp-server -mode sse
  1. 运行测试(终端3):
cd mcp
./test_sse.sh

与 Claude Desktop 集成

  1. 编译 MCP 服务:
cd mcp
go build -o mcp-server cmd/server/main.go
  1. 配置 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"}
    }
  }
}
  1. 重启 Claude Desktop

  2. 在 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 服务实现
  • ✅ 完成文档编写
  • ✅ 完成测试验证