用户CRUD服务

一个基于MCP协议的用户管理服务,提供完整的CRUD操作,支持HTTP/SSE传输,适用于n8n集成和程序化访问。

  • by OkanKerem
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 okankerem/mcp_server

使用说明

用户CRUD MCP服务器

一种模型上下文协议(MCP)服务器,通过HTTP/SSE传输为用户管理提供CRUD操作。此服务器连接到BasicRud API以执行数据库操作,并将其公开为MCP工具,供n8n和其他MCP客户端使用。

特性

  • 完成CRUD操作:创建、读取、更新、删除用户
  • MCP协议支持:MCP通信的HTTP/SSE传输
  • 会话管理:具有自动清理功能的多客户端支持
  • Docker集成:与容器化BasicRud API和PostgreSQL配合使用
  • 土耳其身份验证:为用户验证11位TC编号

可用工具

  1. setup_database -初始化/重置数据库表
  2. create_user -创建新用户(需要:姓名、年龄、TC编号)
  3. 获取所有用户 -从数据库中检索所有用户
  4. update_user -更新现有用户信息(需要:ID、姓名、年龄、TC编号)
  5. 删除用户 -按ID删除用户

先决条件

  • Node.js 18+
  • Docker和Docker Compose
  • BasicRud API(包含在docker-compose中)
  • PostgreSQL数据库(包含在docker compose中)

安装

  1. 克隆存储库:
git clone <repository-url>
cd user-crud-mcp-server
  1. 安装依赖项:
npm install
  1. 启动数据库和BasicRud API:
docker-compose up -d
  1. 构建TypeScript代码:
npm run build
  1. 启动MCP服务器:

选项A:标准MCP服务器(用于n8n/编程用途):

npm start

选项B:带Web界面的MCP服务器(便于测试):

npm run start:web

配置

环境变量:

  • CRUD_API_URL:BasicRud API URL(默认值:http://localhost:3000)
  • HTTP_PORT:MCP服务器端口(默认值:8080)

Docker服务

这 docker-compose.yaml 包括:

  • PostgreSQL数据库 (端口5433)
  • API基础原油 (端口3000)

MCP服务器在本地运行并连接到这些服务。

API终点

  • GET/sse -为MCP建立SSE连接
  • POST/消息?会话ID= -发送MCP JSON-RPC消息
  • GET/健康 -健康检查和服务器状态

使用选项

选项1:Web界面(易于测试)

使用时 npm run start:web,您可以访问漂亮的web界面 http://localhost:8080 它提供:

  • 视觉形式 对于每个CRUD操作
  • 实时结果 显示
  • 输入验证 TC编号和年龄范围
  • 颜色编码的成功/错误消息
  • 响应式设计 适用于台式机和移动设备

这非常适合测试MCP工具和演示功能。

选项2:程序化访问(n8n集成)

使用时 npm start,您将获得用于编程的标准MCP服务器:

  1. 连接到SSE端点: http://localhost:8080/sse
  2. 将JSON-RPC消息发送到: http://localhost:8080/messages?sessionId=<session_id>
  3. 使用可用的工具进行用户管理操作

工具使用示例

创建用户

{
  "method": "tools/call",
  "params": {
    "name": "create_user",
    "arguments": {
      "isim": "John Doe",
      "yas": 30,
      "tc": "12345678901"
    }
  }
}

获取所有用户

{
  "method": "tools/call",
  "params": {
    "name": "get_all_users",
    "arguments": {}
  }
}

发展

脚本

  • npm run build -编译TypeScript
  • npm start -启动标准MCP服务器(适用于n8n)
  • npm run start:web -使用web界面启动MCP服务器
  • npm test -运行测试(未实现)

项目结构

├── src/
│   ├── index.ts          # Standard MCP server (for n8n)
│   └── indexNew.ts       # MCP server with web interface
├── public/
│   └── index.html        # Web interface for testing tools
├── basicCrud/            # BasicCrud API source
├── docker-compose.yaml   # Docker services
├── Dockerfile           # MCP server container (unused in current setup)
├── package.json         # Dependencies and scripts
└── tsconfig.json        # TypeScript configuration

故障排除

  1. 端口冲突:更改 HTTP_PORT 环境变量
  2. 数据库连接问题:确保Docker服务正在运行
  3. API错误:使用检查BasicRud API日志 docker-compose logs basiccrud

许可证

国际协调委员会

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求