Skip to main content

MCP server for Propel code review API - submit git diffs for AI-powered code review

Project description

MCP Server for Propel

Submit git diffs for AI-powered code review directly from Claude using the Propel code review platform.

Features

  • Submit git diffs for async code review
  • Automatically polls for results (reviews take 5-10 minutes)
  • Retrieve detailed review comments with file paths, line numbers, and severity
  • Quick status checks for in-progress reviews

Installation

uv pip install mcp-server-propel

Setup

  1. Get your Propel API token from propelcode.ai/settings/api

    • Your token needs reviews:write scope
    • Note: reviews:write automatically grants reviews:read, so a single scope is sufficient
  2. Add to your Claude Desktop config:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "propel": {
      "command": "mcp-server-propel",
      "env": {
        "PROPEL_API_TOKEN": "your-api-token-here"
      }
    }
  }
}
  1. Restart Claude Desktop

Tools

submit_review

Submit a git diff for code review. Returns immediately with a review ID, then instructs Claude to call get_review to poll for results.

Parameters:

  • diff (required): Unified git diff output
  • repository (required): Repository identifier (name, full name, or URL)
  • base_commit (optional): Base commit SHA for additional context

get_review

Get review results. Polls the API automatically every 12 seconds until the review completes or fails (~12 min max).

Parameters:

  • review_id (required): The review job identifier

check_review_status

Quick, non-polling status check. Returns only status and timing info without waiting.

Parameters:

  • review_id (required): The review job identifier

Usage Examples

Submit a diff for review:

Review this diff on Propel for repository myorg/myrepo:
<paste git diff output>

Check review status:

Check the status of Propel review abc-123

Get full review results:

Get the results of Propel review abc-123

Getting a Git Diff

# Uncommitted changes
git diff

# Between branches
git diff main..feature-branch

# Last commit
git diff HEAD~1 HEAD

# Staged changes
git diff --cached

Local Development

# Install with dev dependencies
cd mcp-server-propel
uv sync --group dev

# Run tests
uv run pytest -v

# Test against local Propel API
export PROPEL_API_TOKEN="your-token"
export PROPEL_API_URL="http://localhost:6060"
uv run mcp-server-propel

For testing with MCP Inspector:

uv run mcp dev src/mcp_server_propel/server.py

For local Propel API, add to Claude Desktop config:

{
  "mcpServers": {
    "propel": {
      "command": "mcp-server-propel",
      "env": {
        "PROPEL_API_TOKEN": "your-token",
        "PROPEL_API_URL": "http://localhost:6060"
      }
    }
  }
}

Troubleshooting

"PROPEL_API_TOKEN environment variable is required"

  • Add the token to your Claude Desktop config env section
  • Restart Claude Desktop after updating the config

"Invalid authorization token" / "Authorization token has expired"

  • Generate a new token at propelcode.ai/settings/api
  • Ensure it has reviews:write scope (reviews:write automatically includes reviews:read — you don't need both)

"Diff too large"

  • Your diff exceeds the 1 MB size limit
  • Try reviewing a smaller changeset (fewer files or commits)

"Repository not found"

  • The repository must be connected to your Propel workspace
  • Check the repository name matches what's configured in Propel

Support

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_server_propel-0.1.0.tar.gz (64.9 kB view details)

Uploaded Source

Built Distribution

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

mcp_server_propel-0.1.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_propel-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_server_propel-0.1.0.tar.gz
  • Upload date:
  • Size: 64.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcp_server_propel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a08cde4c81bb9cde6d4691bac97d8367aa5bb4a7ecde9ee2809a6b1872e28073
MD5 cd8abef41d4a0592ff059beffb2e8621
BLAKE2b-256 6eaecd0937a0c943135fd14d3bfab8cac5aa64c0ece6db70ff32eb3c570fec36

See more details on using hashes here.

File details

Details for the file mcp_server_propel-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_server_propel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcp_server_propel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a087ba12791933b6ec4550540596f108fb81356f75eabbfcee718ccef56dbd3
MD5 5645073d9af1c0d691cb0d71c41d1b63
BLAKE2b-256 259654894ae1ad6270296875154c7ab7d85e96a1102936c1c142dd9bb93f710d

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