Skip to main content

OpenProject MCP Server for AI Integration - Production Ready v0.0.1

Project description

MCP OpenProject Server

A Model Context Protocol (MCP) server for integrating OpenProject with AI assistants like Claude, Windsurf, and other MCP-compatible clients.

Version: 0.0.1 | Status: Production Ready | PyPI: mcp-openproject

🚀 Quick Start - 5 Minutes to Running

Option 1: Install from PyPI (Recommended for Users)

# Install from PyPI (recommended)
pip install mcp-openproject
# or with pipx (isolated environment)
pipx install mcp-openproject

# Set environment variables
export OPENPROJECT_BASE_URL="http://localhost:8090/"
export OPENPROJECT_API_KEY="your-api-key-here"
export ENCRYPTION_KEY="your-encryption-key-here"

# Test installation
mcp-openproject --help

✅ PyPI Verified: mcp-openproject v0.0.1 - Production ready

Option 2: Development Installation

# Clone repository
git clone https://github.com/boma086/mcp-openproject.git
cd mcp-openproject

# Install in development mode
pip install -e .

# Set environment variables
export OPENPROJECT_BASE_URL="http://localhost:8090/"
export OPENPROJECT_API_KEY="your-api-key-here"
export ENCRYPTION_KEY="your-encryption-key-here"

Option 3: Smithery Platform (Cloud Deployment)

For cloud deployment without local installation, use the Smithery Platform:

  1. Visit the MCP OpenProject server on Smithery
  2. Configure your OpenProject instance URL and API key
  3. Start using immediately - no installation required

⚙️ MCP Client Configuration

Claude Code / Windsurf Configuration

Add this to your MCP client configuration:

{
  "mcpServers": {
    "openproject": {
      "command": "mcp-openproject",
      "args": ["server", "--stdio"],
      "env": {
        "OPENPROJECT_BASE_URL": "http://localhost:8090/",
        "OPENPROJECT_API_KEY": "your-api-key-here",
        "ENCRYPTION_KEY": "your-encryption-key-here"
      }
    }
  }
}

Two-step process for MCP clients:

  1. Install: pip install mcp-openproject or pipx install mcp-openproject
  2. Configure: Add the JSON configuration above to your MCP client

Features

  • 🚀 PyPI Installation: Install from PyPI with pip install mcp-openproject
  • 📡 Multiple Transport Modes: Stdio and HTTP support (SSE planned)
  • 🔗 OpenProject API Integration: Complete access to projects, work packages, and tasks
  • 🛡️ Security: Encrypted configuration and API key management
  • 🖥️ CLI Interface: Comprehensive command-line tools
  • 🎯 MCP Compatible: Works with Claude Code, Windsurf, and other MCP clients
  • ☁️ Cloud Ready: Smithery platform support for zero-install deployment
  • ✅ Production Tested: Verified installation and CLI functionality

Configuration

Required Environment Variables

  • OPENPROJECT_BASE_URL: Your OpenProject instance URL (e.g., http://localhost:8090/)
  • OPENPROJECT_API_KEY: Your OpenProject API key
  • ENCRYPTION_KEY: Encryption key for sensitive data (generate one: openssl rand -hex 32)

Example Configuration

# Add to your ~/.bashrc or ~/.zshrc
export OPENPROJECT_BASE_URL="http://localhost:8090/"
export OPENPROJECT_API_KEY="your-api-key-here"
export ENCRYPTION_KEY="your-32-byte-encryption-key-here"

CLI Commands

# Show help
mcp-openproject --help

# Test connection to OpenProject
mcp-openproject test

# Show current configuration
mcp-openproject config

# Start MCP server in different modes
mcp-openproject server --stdio          # Stdio mode (for MCP clients)
mcp-openproject server --http --port 8000  # HTTP mode

# Check server status
mcp-openproject status

Available MCP Tools

  • Project Management: List projects, get project details, project statistics
  • Work Packages: Create, read, update work packages and tasks
  • Weekly Reports: Generate weekly reports for projects
  • Time Tracking: Log time entries, track project hours
  • Team Management: Access user information and team assignments

MCP Client Integration

Claude Code Configuration

Add to your Claude Code configuration:

{
  "mcpServers": {
    "openproject": {
      "command": "mcp-openproject",
      "args": ["server", "--stdio"],
      "env": {
        "OPENPROJECT_BASE_URL": "http://localhost:8090/",
        "OPENPROJECT_API_KEY": "your-api-key-here",
        "ENCRYPTION_KEY": "your-encryption-key-here"
      }
    }
  }
}

Windsurf Configuration

Step 1: Install MCP Server

pip install mcp-openproject
# or with pipx (recommended)
pipx install mcp-openproject

Step 2: Add to Windsurf MCP Configuration

{
  "mcpServers": {
    "openproject": {
      "command": "mcp-openproject",
      "args": ["server", "--stdio"],
      "env": {
        "OPENPROJECT_BASE_URL": "http://localhost:8090/",
        "OPENPROJECT_API_KEY": "your-api-key-here",
        "ENCRYPTION_KEY": "your-encryption-key-here"
      }
    }
  }
}

General MCP Client Configuration

For any MCP-compatible client:

  1. Install the server: pip install mcp-openproject or pipx install mcp-openproject
  2. Configure environment variables (as shown above)
  3. Add MCP server configuration:
    {
      "mcpServers": {
        "openproject": {
          "command": "mcp-openproject",
          "args": ["server", "--stdio"]
        }
      }
    }
    

Deployment Options

Local Development

# Clone and install
git clone https://github.com/boma086/mcp-openproject.git
cd mcp-openproject
pip install -e .

# Run in development mode
uv run mcp-openproject server --stdio
uv run mcp-openproject server --http --port 8000

Production Installation

# Install from PyPI (recommended for production)
pip install mcp-openproject
# or with pipx for isolated environment
pipx install mcp-openproject

# Run as system service
sudo systemctl enable mcp-openproject
sudo systemctl start mcp-openproject

Cloud Deployment (Smithery)

No installation required - configure and run directly on Smithery platform:

  1. Visit Smithery MCP OpenProject
  2. Configure OpenProject connection
  3. Start using immediately

Architecture

This project uses a comprehensive architecture with:

  • MCP Server: FastMCP-based implementation with multiple transport modes
  • OpenProject Integration: Generated API client with full OpenProject support
  • Security Framework: Encrypted configuration and API key management
  • CLI Interface: Comprehensive command-line tools for all operations
  • Documentation: Complete project documentation and guides

Key Components

  • mcp_server/: Core MCP server implementation
  • docs/: Comprehensive documentation and guides
  • pyproject.toml: Project configuration with comprehensive dependency management
  • smithery.yaml: Smithery platform deployment configuration

Transport Modes

✅ Stdio Mode (Recommended for MCP Clients)

  • Use Case: Direct integration with Claude Code, Windsurf, and other MCP clients
  • Command: mcp-openproject server --stdio
  • Benefits: Standard MCP protocol, low latency, secure

✅ HTTP Mode (For Web Integration)

  • Use Case: Web applications, HTTP API integration
  • Command: mcp-openproject server --http --port 8000
  • Benefits: RESTful API, web-friendly, CORS support

🚧 SSE Mode (Planned)

  • Status: Planned for future release
  • Use Case: Real-time updates, streaming responses
  • Command: mcp-openproject server --sse --port 8001 (future)

Support

Documentation

Getting Help

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

# Clone the repository
git clone https://github.com/boma086/mcp-openproject.git
cd mcp-openproject

# Install development dependencies
pip install -e ".[dev]"

# Run tests
uv run pytest

# Run linting
uv run ruff check
uv run black .

License

MIT License - see LICENSE file for details.

Verification

✅ Production Testing Completed

PyPI Installation:

  • pip install mcp-openproject - Successfully installs from production PyPI
  • uv pip install mcp-openproject - Successfully installs with uv package manager

CLI Functionality:

  • mcp-openproject --help - Complete help system working
  • mcp-openproject config - Configuration display and environment variable reading
  • ✅ All server modes (stdio, http) operational

MCP Integration:

  • ✅ Stdio mode for Claude Code/Windsurf integration
  • ✅ HTTP mode with fastapi_mcp library
  • ✅ OpenProject API client generation and integration

Tested Environments

  • Package Managers: pip, uv, pipx
  • Python Versions: 3.10+ (tested on 3.11)
  • Platforms: macOS, Linux (expected Windows compatibility)
  • MCP Clients: Claude Code, Windsurf (configuration verified)

Changelog

See CHANGELOG.md for version history and updates.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_openproject-0.0.2.tar.gz (394.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_openproject-0.0.2-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

Details for the file mcp_openproject-0.0.2.tar.gz.

File metadata

  • Download URL: mcp_openproject-0.0.2.tar.gz
  • Upload date:
  • Size: 394.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for mcp_openproject-0.0.2.tar.gz
Algorithm Hash digest
SHA256 fe8eba62f60ab60b677de063e49b0fd0ce3befb693a94a2202b43019bad7c22d
MD5 3ebd56036bd19dd76e81136a78f4d9ff
BLAKE2b-256 db9437bf8dfab93107c4e391cb4da37cf37d095bd601a3c05cd2b31f52c19823

See more details on using hashes here.

File details

Details for the file mcp_openproject-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_openproject-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7a150a9259f209e8539311cdf141b41d3c8ca08d3798b381eb23cadb4e3a4ddb
MD5 942b080dfece2a7056fa513725be6d8f
BLAKE2b-256 c2bfe41e39c254f42a231b38887dd2cadc8a5763f4b558295d5affd87fec2af5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page