Skip to main content

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

Metadata

Release files for delimit-mcp 3.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for delimit-mcp 3.2.1
File Size Uploaded
delimit_mcp-3.2.1.tar.gz 334.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for delimit-mcp 3.2.1
File Interpreter ABI Platform
delimit_mcp-3.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 573.4 kB

Release files / delimit_mcp-3.2.1.tar.gz

Download URL delimit_mcp-3.2.1.tar.gz
Size 334.7 kB
Tags Source
SHA-256 checksum
How to use checksums
30a2870ca51da5bb98e2f6596443f7126a5dac76de9972db7e0d20597a798ec2
BLAKE2b-256 checksum
How to use checksums
4524d34d1694551098f5b58b3e54156b4fbe5351e4f88cac1ff2d1c3937c2c73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / delimit_mcp-3.2.1-py3-none-any.whl

Download URL delimit_mcp-3.2.1-py3-none-any.whl
Size 238.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f246d426f0acceb8e52e30372c8fb5c8c03b128b85606f91f77925328b61017
BLAKE2b-256 checksum
How to use checksums
8081bb2eb1b568c6b8bd265c80cee7e7cef20fd78fad2a4e5ccecbf2f69a2cd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

3.2.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page