Skip to main content

Otter MCP — Engineering Intelligence Layer

Official Model Context Protocol stdio server. External AI agents (Cursor, Claude Desktop, Claude Code) get a repository brain: impact, architecture guard, verification, and approval-gated tasks.

Install (no monorepo clone)

pip install otter-mcp
# or: uv pip install otter-mcp

Or run without a permanent install:

uvx otter-mcp

Cursor / Claude (mcp.json)

{
  "mcpServers": {
    "otter": {
      "command": "uvx",
      "args": ["otter-mcp"],
      "env": {
        "OTTER_REPO_ROOT": "${workspaceFolder}"
      }
    }
  }
}

If you prefer pip’s console script:

{
  "mcpServers": {
    "otter": {
      "command": "otter-mcp",
      "env": {
        "OTTER_REPO_ROOT": "${workspaceFolder}"
      }
    }
  }
}

Optional API persistence

{
  "env": {
    "OTTER_REPO_ROOT": "${workspaceFolder}",
    "OTTER_API_URL": "http://127.0.0.1:8000",
    "OTTER_SESSION": "your-web-otter-session-cookie",
    "OTTER_REPOSITORY_ID": "imported-repo-id"
  }
}

Auth note: CLI otter login (GitHub) is not an API session. Export the Web/Docker otter_session cookie as OTTER_SESSION.

Requirements

  • Python 3.11+
  • A local checkout via OTTER_REPO_ROOT and/or an imported repo under REPOSITORY_DATA_DIR/{repository_id}
  • Optional: running Otter API for memory / code-tasks

Tools

Tool Purpose
otter_understand Targeted context (retrieval + neighbors)
otter_impact Blast radius from a focus path
otter_change_radar Pre-write scope / risk / complexity
otter_dependency_impact Reverse consumers of a file/module/dep
otter_guard Proposal vs inferred constitution
otter_why Evidence-backed “why does this exist?”
otter_memory List/add memory via API
otter_verify Allowlisted tests/lint + architecture
otter_review_gate PASS / REVIEW / BLOCKED
otter_task_create Plan + optional API code-task (no writes)
otter_task_status Task status from API
otter_task_validate Review gate vs objective
otter_task_execute generate / approve / apply — apply only when approved

Writes never apply silently: otter_task_execute with apply returns approval_required until status is approved.

Resources & prompts

  • Resources: otter://repo/overview, architecture, constitution, health, dependencies, otter://task/{id}…
  • Prompts: otter-investigate, otter-plan, otter-review, otter-debug, otter-security-review, otter-architecture-review

Developer install (from this monorepo)

pip install -e apps/mcp
export OTTER_REPO_ROOT=/path/to/repo
otter-mcp

Security

  • No general execute_shell tool — only allowlisted npm scripts / pytest / ruff
  • Path traversal rejected on repository_id and relative paths
  • Oversized tool JSON is truncated in responses

MCP Registry

Package metadata: server.json. Registry name: io.github.manasdutta04/otter.

See also: https://otter.manasdutta.com/docs/mcp

Metadata

Release files for otter-mcp 0.2.0

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

Source distribution (sdist)

Source distribution for otter-mcp 0.2.0
File Size Uploaded
otter_mcp-0.2.0.tar.gz 28.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for otter-mcp 0.2.0
File Interpreter ABI Platform
otter_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 66.6 kB

Release files / otter_mcp-0.2.0.tar.gz

Download URL otter_mcp-0.2.0.tar.gz
Size 28.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e5f99562b6561ff7dc06305b4c13de2dd138e7070bde8dd8439e6ef43150c770
BLAKE2b-256 checksum
How to use checksums
850689783987e8884ac11744bb4edc35eea0cb61a63ca7d5fdbc2b529bb25c00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.4

Release files / otter_mcp-0.2.0-py3-none-any.whl

Download URL otter_mcp-0.2.0-py3-none-any.whl
Size 37.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
db8e2de25399259eb9687feb84a28ba58065895858f4c5029c9964377a183a97
BLAKE2b-256 checksum
How to use checksums
c4eae5213c10fbad1ab49603fd44613436eb028f99abe6bf9e041a444089b93e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.4

Release history Release notifications | RSS feed

This release

0.2.0 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