ERP时间日志服务器

用于Arbisoft ERP系统的MCP服务器,通过OAuth认证工具调用,使AI助手能够读写项目时间日志。

  • by Atabic
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Atabic/project-logs-mcp

使用说明

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项目。不适用于外部分发。