员工数据管理API服务

一个基于MCP协议的REST API服务,提供员工数据的CRUD操作,适用于AI助手和其他MCP客户端。

  • by JoseGarayar
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 JoseGarayar/mcp_test

使用说明

MCP 员工API服务器

一个模型上下文协议(MCP)服务器,它通过REST API提供工具来管理员工数据。该服务器将员工管理操作作为MCP工具暴露出来,可供AI助手和其他MCP客户端使用。

特点/功能

  • 员工管理员工数据的完整CRUD操作(创建、读取、更新、删除)
  • REST API 集成连接到本地员工API服务器
  • MCP协议通过模型上下文协议暴露功能
  • 异步操作采用 async/await 构建以实现最佳性能
  • 错误处理针对API请求的健壮错误处理

可用工具

服务器提供以下MCP工具:

  • get_employees() - 获取所有员工信息
  • get_employee(id) - 通过ID获取特定员工
  • add_employee(name, age) - 创建一名新员工
  • update_employee(id, name, age) - 更新现有员工信息
  • delete_employee(id) - 按员工ID删除员工

先决条件

  • Python 3.13 或更高版本
  • 一个正在运行的员工API服务器位于 http://localhost:8000

安装

  1. 克隆仓库:

    git clone https://github.com/JoseGarayar/mcp_test.git
    cd mcp_test
    
  2. 克隆API员工仓库:

    git clone https://github.com/JoseGarayar/api_employees.git
    
  3. 使用 uv 安装依赖项:

    uv sync
    

用法

运行MCP服务器

使用stdio传输方式启动MCP服务器:

uv run python main.py

服务器将运行并监听通过标准输入/输出(stdin/stdout)接收的MCP协议消息。

API配置

服务器已配置为连接到本地API服务器,位于 http://localhost:8000你可以修改 URL_BASE 在……中保持不变 main.py 指向另一个不同的API端点。

示例API端点

服务器期望以下API端点可用:

  • GET /employees - 列出所有员工
  • GET /employees/{id} - 通过ID获取员工信息
  • POST /employees - 创建新员工
  • PUT /employees/{id} - 更新员工信息
  • DELETE /employees/{id} - 删除员工

发展

项目结构

mcp_test/
├── main.py          # Main MCP server implementation
├── pyproject.toml   # Project configuration and dependencies
├── README.md        # This file
└── uv.lock         # Lock file for dependencies

依赖项

  • httpx 用于API请求的异步HTTP客户端
  • mcp[cli] - 模型上下文协议实现

开发依赖项

  • ruff - Python 代码检查器和格式化工具

错误处理

服务器具备全面的错误处理功能:

  • 网络超时(30秒)
  • HTTP错误状态码
  • 无效的HTTP方法
  • 连接失败

所有错误都得到了优雅的处理并返回 None 对于操作失败的情况。

许可证

这个项目是MCP服务器开发测试实施的一部分。