OpenProject MCP服务

一个TypeScript开发的MCP服务器,用于AI助手与OpenProject实例交互,支持项目管理、工作包操作、评论管理等功能。

  • by billmal071
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 billmal071/openproject-mcp-server

使用说明

OpenProject MCP服务器

TypeScript MCP(模型上下文协议)服务器 打开项目 这使得像Claude Code这样的人工智能助手能够与您的OpenProject实例进行交互。

特征

  • 项目 --列出项目,获取包含状态/受让人细分的项目摘要
  • 工作包 --通过筛选(受让人、状态、类型、优先级、搜索)列出、创建、更新工作包
  • 评论 --添加并列出对工作包的评论
  • 用户 --获取当前用户、列出用户、查看团队工作负载分布
  • 关系 --创建、列出和删除工作包关系(跟踪、阻止、关联等)
  • 时间条目 --记录时间,列出/更新/删除带有日期和用户过滤器的时间条目
  • 元数据 --使用缓存列出状态、类型和优先级

设置

先决条件

  • Node.js 18+
  • pnpm(或npm/yarn)
  • 具有API访问权限的OpenProject实例

安装

git clone https://github.com/billmal071/openproject-mcp-server.git
cd openproject-mcp-server
pnpm install
pnpm build

配置

复制示例env文件并填写您的OpenProject凭据:

cp .env.example .env
OPENPROJECT_BASE_URL=https://your-openproject-instance.com
OPENPROJECT_API_KEY=your-api-key-here

要获得API密钥,请转到您的OpenProject配置文件> 我的账户 > 访问令牌 > API.

添加到克劳德代码

将此添加到您的Claude Code MCP设置中(~/.claude/settings.json 或项目级别):

{
  "mcpServers": {
    "openproject": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/openproject-mcp-server/dist/index.js"],
      "env": {
        "OPENPROJECT_BASE_URL": "https://your-openproject-instance.com",
        "OPENPROJECT_API_KEY": "your-api-key-here"
      }
    }
  }
}

可用工具

工具 说明
get_me 获取经过身份验证的用户的个人资料
list_projects 列出所有项目
get_project_summary 按状态、受让人和逾期项目获取工作包计数
list_work_packages 列出带有筛选器的工作包(受让人、状态、类型、优先级、搜索)
get_work_package 获取特定工作包的详细信息
create_work_package 创建新的工作包
update_work_package 更新现有工作包(状态、受让人、日期等)
add_comment 向工作包添加注释
list_comments 列出工作包上的所有评论
list_users 列出用户,可选择按电子邮件过滤
get_team_workload 在团队成员之间分配工作负载
create_relation 在两个工作包之间创建关系
list_relations 列出工作包的所有关系
delete_relation 删除关系
log_time 记录在工作包上花费的时间
list_time_entries 使用筛选器列出时间条目
update_time_entry 更新时间条目
delete_time_entry 删除时间条目
list_statuses 列出所有可用状态
list_types 列出所有工作包类型
list_priorities 列出所有优先级

建筑

src/
  index.ts          # MCP server setup and tool registration
  client.ts         # OpenProject API client (HAL+JSON, pagination, error handling)
  cache.ts          # In-memory TTL cache for metadata
  types.ts          # TypeScript interfaces for OpenProject entities
  tools/
    metadata.ts     # Status, type, priority tools
    projects.ts     # Project listing and summary
    work-packages.ts # Work package CRUD with filtering
    comments.ts     # Comment management
    users.ts        # User and workload tools
    relations.ts    # Work package relation management
    time-entries.ts # Time tracking tools

许可证

麻省理工学院