使用说明
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(推荐)
-
创建一个
.env使用您的凭据文件:SDP_URL=https://your-sdp-instance.com SDP_API_KEY=your-api-key-here VERIFY_SSL=true -
构建并启动容器:
docker-compose up --build
服务器将在端口上启动 8000 (苏格兰和南方能源公司运输)。
本地Python设置
-
创建虚拟环境:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
安装依赖项:
pip install -r requirements.txt -
运行服务器:
# 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
