Skip to main content

Unify Claude Code, Codex, Cursor, and Gemini CLI with persistent context, governance, and multi-model debate.

Project description

Delimit MCP Server

Unify Claude Code, Codex, Cursor, and Gemini CLI with persistent context, governance, and multi-model debate.

API governance, persistent ledger, multi-model deliberation, security audit, and test verification — all shared across AI coding assistants.

CI PyPI License: MIT OpenAPI GitHub Marketplace

Quick Install (10 seconds)

- uses: delimit-ai/delimit-action@v0

What Delimit Catches

Breaking Change Detected in Pull Request

+-------------+----------------------------------------+-----------------+
| Severity    | Change                                 | Location        |
+-------------+----------------------------------------+-----------------+
| HIGH        | Field removed: email                   | User schema     |
| HIGH        | Type changed: age (integer -> string)  | User.age        |
| HIGH        | Endpoint removed                       | GET /users/{id} |
+-------------+----------------------------------------+-----------------+

Why Delimit

APIs evolve, but your consumers depend on stability. One accidental breaking change can cascade into hours of debugging and frustrated users. Delimit catches these changes before they reach production.


Installation

GitHub Action (CI)

Add this workflow to .github/workflows/api-check.yml:

name: API Contract Check
on: pull_request

jobs:
  delimit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: delimit-ai/delimit-action@v0

Zero configuration required. Delimit auto-detects your OpenAPI specs.

No broken builds on day one -- Delimit never fails on existing issues, only new violations in pull requests.

CLI

npm install -g delimit-cli
delimit lint openapi.yaml

MCP Server (for AI Assistants)

Install from PyPI:

pip install delimit-mcp

Claude Code / Claude Desktop

Add to your MCP config (.mcp.json or Claude Desktop settings):

{
  "mcpServers": {
    "delimit": {
      "command": "delimit-mcp"
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "delimit": {
      "command": "delimit-mcp"
    }
  }
}

Codex CLI

Add to your MCP configuration:

{
  "mcpServers": {
    "delimit": {
      "command": "delimit-mcp"
    }
  }
}

The server communicates over stdio. No API keys or external services required.


MCP Tools

Tool Description
delimit_lint Diff + policy evaluation in one call. Returns pass/fail with violations.
delimit_diff Structural diff between two OpenAPI specs. 23 change types detected.
delimit_policy Evaluate changes against configurable rule sets.
delimit_impact Business and technical impact assessment of detected changes.
delimit_ledger Audit trail of governance decisions.

Example agent usage:

> delimit_lint(old_spec="api/v1.yaml", new_spec="api/v2.yaml")

{
  "passed": false,
  "violations": [
    {"type": "endpoint_removed", "severity": "error", "path": "GET /users/{id}"},
    {"type": "field_removed", "severity": "error", "path": "User.email"}
  ],
  "summary": "2 breaking changes detected"
}

Detected Breaking Changes

Delimit identifies 23 change types across these categories:

  • Removed endpoints -- Endpoints that existed but are now gone
  • Type changes -- Fields that changed type (string -> integer)
  • Removed required fields -- Required response fields that were removed
  • New required parameters -- Request parameters that became required
  • Method removals -- HTTP methods removed from endpoints
  • Schema changes -- Incompatible modifications to request/response schemas

The action automatically compares your PR API spec against the base branch.

What Happens on First Run

  1. Auto-detection (2 seconds): Scans for OpenAPI/Swagger files
  2. Baseline creation (3 seconds): Establishes current state without failing
  3. Analysis (5 seconds): Compares changes and evaluates policies
  4. Feedback: Posts clear, actionable comments on your PR

First run output:

Auto-detected: api/openapi.yaml
Baseline established
Running in advisory mode (non-blocking)

Supports

  • OpenAPI 3.0, 3.1
  • Swagger 2.0
  • Multiple specs in monorepos
  • JSON and YAML formats

Advanced Usage

Configure Detection

If auto-detection does not work for your setup:

- uses: delimit-ai/delimit-action@v1
  with:
    old_spec: api/v1/openapi.yaml
    new_spec: api/v2/openapi.yaml
    mode: enforce  # Fail CI on breaking changes

Custom Policies

Create .delimit/policies.yml to define custom governance rules:

rules:
  - id: no_endpoint_removal
    change_types: [endpoint_removed]
    severity: error
    message: "Endpoints cannot be removed without deprecation"

Policy Presets

Three built-in presets:

Preset Behavior
strict All detected changes are errors
default Breaking changes are errors, others are warnings
relaxed All changes are warnings only
delimit lint --policy strict openapi.yaml

Examples

Example Description Key Learning
breaking-change-demo How Delimit catches breaking changes Endpoint removal, field deletion
safe-change-demo Backward-compatible changes Adding fields, new endpoints
monorepo-demo Multi-service API validation Matrix builds, service isolation

Support

License

MIT

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

delimit_mcp-3.2.1.tar.gz (334.7 kB view details)

Uploaded Source

Built Distribution

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

delimit_mcp-3.2.1-py3-none-any.whl (238.7 kB view details)

Uploaded Python 3

File details

Details for the file delimit_mcp-3.2.1.tar.gz.

File metadata

  • Download URL: delimit_mcp-3.2.1.tar.gz
  • Upload date:
  • Size: 334.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for delimit_mcp-3.2.1.tar.gz
Algorithm Hash digest
SHA256 30a2870ca51da5bb98e2f6596443f7126a5dac76de9972db7e0d20597a798ec2
MD5 ab65050685d9cc9c2ac76049e85ea823
BLAKE2b-256 4524d34d1694551098f5b58b3e54156b4fbe5351e4f88cac1ff2d1c3937c2c73

See more details on using hashes here.

File details

Details for the file delimit_mcp-3.2.1-py3-none-any.whl.

File metadata

  • Download URL: delimit_mcp-3.2.1-py3-none-any.whl
  • Upload date:
  • Size: 238.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for delimit_mcp-3.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6f246d426f0acceb8e52e30372c8fb5c8c03b128b85606f91f77925328b61017
MD5 8b82cb40474c4415debd2cfeb6325e8b
BLAKE2b-256 8081bb2eb1b568c6b8bd265c80cee7e7cef20fd78fad2a4e5ccecbf2f69a2cd5

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