TE

tangaratta-engineering/openproject-mcp-server

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

15 stars 11 forks Качество 65 Тренд 25

A FastMCP-powered server that enables AI assistants like Claude to interact with OpenProject installations.

Обзор

A Model Context Protocol (MCP) server that enables AI assistants to interact with OpenProject installations. Create projects, manage work packages, assign team members, and generate Gantt charts through natural language commands. - : Create and manage OpenProject projects - : Create, update, and assign work packages with dates - : Create relationships between work packages for Gantt charts - : Find and assign users by email address - : Manage project members and their roles - : Automatically loads work package types, statuses, and priorities - : Project status reports and team workload analysis - OpenProject instance (local or cloud) - API key from your OpenProject profile - Python 3.8+ or Docker Create a .env file with your OpenProject details: 1. Login to your OpenProject instance 2. Go to → 3. Click 4. Enter a name (e.g., "MCP Server") 5.

README

Показан фрагмент оригинального README. Открыть оригинал.

OpenProject MCP Server

A Model Context Protocol (MCP) server that enables AI assistants to interact with OpenProject installations. Create projects, manage work packages, assign team members, and generate Gantt charts through natural language commands.

Features

  • Project Management: Create and manage OpenProject projects
  • Work Package Operations: Create, update, and assign work packages with dates
  • Dependency Management: Create relationships between work packages for Gantt charts
  • User Management: Find and assign users by email address
  • Team Collaboration: Manage project members and their roles
  • Dynamic Configuration: Automatically loads work package types, statuses, and priorities
  • Comprehensive Reporting: Project status reports and team workload analysis

Installation

Prerequisites

  • OpenProject instance (local or cloud)
  • API key from your OpenProject profile
  • Python 3.8+ or Docker
  1. Clone the repository:

    git clone 
    cd openproject-mcp-server
    
  2. Configure environment:

    cp env.example .env
    # Edit .env with your OpenProject details
    
  3. Deploy with Docker:

    ./scripts/deploy.sh deploy 39127
    

Method 2: Python

  1. Clone and setup:

    git clone 
    cd openproject-mcp-server
    python3 -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -r requirements.txt
    
  2. Configure environment:

    cp env.example .env
    # Edit .env with your OpenProject details
    
  3. Test configuration:

    python3 scripts/test_mvp.py
    

Configuration

Create a .env file with your OpenProject details:

# OpenProject Instance URL (include protocol)
OPENPROJECT_URL=http://localhost:8080

# OpenProject API Key (from your user profile)
OPENPROJECT_API_KEY=your_40_character_api_key_here

# MCP Server Configuration (optional)
MCP_HOST=localhost
MCP_PORT=39127
MCP_LOG_LEVEL=INFO

Getting your OpenProject API Key

  1. Login to your OpenProject instance
  2. Go to My Account → Access Tokens
  3. Click + New token
  4. Enter a name (e.g., “MCP Server”)
  5. Copy the generated 40-character token

Usage

Starting the Server

Docker:

./scripts/deploy.sh deploy 39127

Python:

python3 scripts/run_server.py

MCP Client Configuration

Claude Desktop

Add to your claude_desktop_config.json:

For Docker deployment:

{
  "mcpServers": {
    "openproject": {
      "transport": "sse",
      "url": "http://localhost:39127/sse"
    }
  }
}

For local Python:

{
  "mcpServers": {
    "openproject": {
      "command": "python3",
      "args": ["/full/path/to/openproject-mcp-server/scripts/run_server.py"],
      "env": {
        "OPENPROJECT_URL": "http://localhost:8080",
Открыть полный README на GitHub

Установка

docker run -d \
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "openproject": { "transport": "sse", "url": "http://localhost:39127/sse" } } }