服务台工单管理服务器

一个基于FastMCP的Model Context Protocol服务器,用于ManageEngine ServiceDesk Plus,使AI代理能够与SDP交互以获取请求和创建工单。

  • by sk04062025
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sk04062025/sdp_mcp

使用说明

ServiceDesk Plus MCP服务器

这是一个用于ManageEngine ServiceDesk Plus(SDP)的模型上下文协议(MCP)服务器,由以下组件构建 FastMCP它使AI代理能够与SDP交互以获取请求并创建票证。

特性

  • 模块化架构:组织成 app/ 配置、工具、模型和路由都有单独的模块。
  • FastMCP:使用FastMCP框架,便于MCP工具定义和SSE传输。
  • Docker化:具体 Dockerfile 和 docker-compose.yml 便于部署。

先决条件

  • Python 3.12+
  • Docker和Docker Compose(可选但推荐)
  • ServiceDesk Plus API密钥

配置

应用程序使用环境变量进行配置。您可以在 .env 文件或直接在您的环境中。

变量 描述 默认值
SDP_URL ServiceDesk Plus实例的URL http://localhost:8080
SDP_API_KEY 您的SDP技术员API密钥 必需
VERIFY_SSL 验证SSL证书 true
LOG_LEVEL 日志记录级别 INFO

安装与运行

使用Docker Compose(推荐)

  1. 创建一个 .env 使用您的凭据文件:

    SDP_URL=https://your-sdp-instance.com
    SDP_API_KEY=your-api-key-here
    VERIFY_SSL=true
    
  2. 构建并启动容器:

    docker-compose up --build
    

服务器将在端口上启动 8000 (苏格兰和南方能源公司运输)。

本地Python设置

  1. 创建虚拟环境:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 运行服务器:

    # Set env vars first or use a .env file loader
    python run.py
    

可用工具

以下工具目前已在 app/mcp_tools/tickets.py:

  • list_requests(row_count=10):获取最新的帮助台工单。
  • get_request(request_id):获取门票的完整细节。
  • update_request(request_id, subject, description, status, priority):更新票证字段。
  • close_request(request_id, closure_comments):关闭带有评论的工单。

项目结构

sdp_mcp/
├── app/
│   ├── config.py           # Configuration loading
│   ├── server.py           # MCP instance creation
│   ├── utils.py            # Helper functions
│   ├── mcp_tools/          # MCP Tools definition
│   ├── models/             # Pydantic models
│   └── routes/             # HTTP routes (if needed)
├── run.py                  # Entry point
├── Dockerfile
└── docker-compose.yml