ERP MCP服务器
Arbisoft ERP系统的MCP(模型上下文协议)服务器。使AI助手能够通过OAuth身份验证的工具调用读取和写入项目时间日志。
快速开始
先决条件
- Python 3.12+
- 谷歌OAuth客户端ID和密码(谷歌工作区)
- 访问Arbisft ERP API
安装
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt配置
export GOOGLE_CLIENT_ID="your-client-id"
export GOOGLE_CLIENT_SECRET="your-client-secret"
export ERP_API_BASE_URL="http://127.0.0.1:8000/api/v1"
export MCP_BASE_URL="http://localhost:8100"跑
python server.py服务器在端口8100上启动(可通过以下方式配置 MCP_PORT).
连接AI客户端
克劳德代码
claude mcp add --transport http erp-mcp https://dev-workstream.arbisoft.com/mcp克劳德桌面/光标
添加到MCP配置中:
{
"mcpServers": {
"erp-mcp": {
"url": "https://dev-workstream.arbisoft.com/mcp"
}
}
}Codex/Gemini CLI
# Codex
codex mcp add --transport http erp-mcp https://dev-workstream.arbisoft.com/mcp
# Gemini CLI
gemini mcp add --transport http erp-mcp https://dev-workstream.arbisoft.com/mcp可用工具
阅读工具
| 工具 | 说明 |
|---|---|
get_active_projects | 列出已验证用户的活动项目/子项目 |
get_log_labels | 获取可用的日志标签以对条目进行分类 |
get_week_logs | 获取特定周的项目日志 |
get_day_logs | 获取特定日期的详细日志 |
get_logs_for_date_range | 获取日期范围的日志 |
get_month_logs | 获取一个月的所有日志 |
写入工具
| 工具 | 说明 |
|---|---|
create_or_update_log | 添加或更新时间日志条目 |
delete_log | 删除时间日志条目 |
complete_week_log | 将一周标记为已完成(或保存草稿) |
fill_logs_for_days | 日期范围内的批量填充日志(最多31天) |
诊断工具
| 工具 | 说明 |
|---|---|
check_person_week_project_exists | 检查日期/项目是否存在PersonWeekProject |
码头工人
docker build -t erp-mcp .
docker run -p 8100:8100 --env-file .env erp-mcp图像基于 python:3.12.8-slim-bookworm (~150MB)。无剧作家或浏览器依赖关系。
环境变量
| 变量 | 目的 | 默认值 |
|---|---|---|
GOOGLE_CLIENT_ID | Google OAuth客户端ID | (必填) |
GOOGLE_CLIENT_SECRET | Google OAuth客户端机密 | (必填) |
ERP_API_BASE_URL | ERP API根URL | https://erp.arbisoft.com/api/v1/ |
MCP_BASE_URL | OAuth回调的公共URL | https://erp.arbisoft.com |
MCP_PORT | 服务器端口 | 8100 |
ALLOWED_DOMAIN | Google工作区域限制 | arbisoft.com |
测试
pip install pytest pytest-asyncio respx
pytest tests/ -v许可证
内部Arbisoft项目。不适用于外部分发。
