使用说明
GLPI MCP服务器
MCP服务器,用于GLPI集成OAuth 2.1身份验证和文档处理功能。
特性
- 🔐 OAuth 2.1身份验证 使用PKCE进行安全的API访问
- 📄 文档处理 合同和发票(PDF/Word)
- 🔧 GLPI集成 用于合同、发票和票证
- 🤖 人工智能驱动的提取 使用LLM解析文档
- 📊 MCP资源 用于查询GLPI数据
- 🔄 工作流提示 用于制导作战
安装
先决条件
- Python 3.10或更高版本
- GLPI实例
- API访问LLM(OpenAI、Anthropic或本地Ollama)
设置
- 克隆存储库:
cd /home/gokushan/proyectos-mcp/glpi-mcp/server
- 安装依赖项:
pip install -e .
- 配置环境变量:
cp .env.example .env
# Edit .env with your configuration
- 在GLPI中配置OAuth 2.1:
- 前往“设置”>“常规”>“API”
- 启用OAuth 2.1
- 创建新的OAuth客户端
- 将客户端ID和客户端密钥复制到.env
配置
编辑 .env 使用您的设置文件:
# GLPI OAuth 2.1
OAUTH_CLIENT_ID=your-client-id
OAUTH_CLIENT_SECRET=your-client-secret
OAUTH_AUTHORIZATION_URL=https://your-glpi.example.com/oauth/authorize
OAUTH_TOKEN_URL=https://your-glpi.example.com/oauth/token
# GLPI API
GLPI_API_URL=https://your-glpi.example.com/apirest.php
GLPI_APP_TOKEN=your-app-token
# LLM Provider
LLM_PROVIDER=openai
OPENAI_API_KEY=your-api-key
用法
运行服务器
glpi-mcp-server
或者用Python:
python -m glpi_mcp_server.server
与Claude Desktop一起使用
添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"glpi": {
"command": "python",
"args": ["-m", "glpi_mcp_server.server"],
"env": {
"GLPI_API_URL": "https://your-glpi.example.com/apirest.php",
"OAUTH_CLIENT_ID": "your-client-id"
}
}
}
}
可用工具
文档处理
process_contract-从合同文件中提取数据process_invoice-从发票文档中提取数据
合同管理
create_glpi_contract-在GLPI中创建新合同update_glpi_contract-更新现有合同get_contract_status_by_id-按ID查询合同明细search_contracts-按名称或编号搜索合同delete_glpi_contract-删除合同及其文件attach_document_to_contract-将文件附加到现有合同
发票管理
create_glpi_invoice-在GLPI中创建新发票update_glpi_invoice-更新现有发票get_invoice_status-查询发票明细
票务管理
create_ticket-创建支持票update_ticket-更新工单或添加跟进get_ticket_status-查询机票详细信息
文件夹和批处理操作
list_folders-列出允许根目录内的目录(支持路径转换)read_path_allowed-在允许的路径中列出文件(支持路径转换)tool_batch_contracts-批量处理多个合同
可用资源
glpi://contracts/{id}-合同详细信息(JSON)glpi://contracts/list-所有有效合同列表glpi://invoices/{id}-发票明细glpi://invoices/list-发票清单glpi://tickets/{id}-门票详细信息glpi://tickets/list-门票列表
可用提示
process-and-create-contract-提取和创建合同的工作流process-and-create-invoice-提取和创建发票的工作流update-contract-from-document-指导更新现有合同find-contract-搜索和检索合同信息create-ticket-workflow-引导支持票创建process-batch-contracts-协调文件夹的批处理delete-contract-安全删除流程(带确认)
文档
有关更多详细信息,请参阅以下指南:
发展
运行测试
pytest tests/ -v
代码质量
# Format code
black src/
# Lint code
ruff check src/
# Type checking
mypy src/
建筑
服务器遵循SOLID原则,明确分离关注点:
- auth/ -OAuth 2.1身份验证
- 处理器/ -文档解析和AI提取
- glpi/ -GLPI API客户端和模型
- 工具/ -MCP工具实现
- 资源/ -MCP资源实现
- 提示/ -MCP提示实现
- config/ -配置管理
安全
- OAuth 2.1,使用PKCE进行授权
- 加密的安全令牌存储
- 自动令牌刷新
- API请求验证
- 输入净化
许可证
MIT许可证
支持
有关问题和疑问,请在GitHub上打开问题。