Skip to main content

Otto MCP Server

Model Context Protocol (MCP) server for Otto cognitive safety layer.

Overview

This MCP server exposes Otto's cognitive state management to any MCP-compatible client (Claude Desktop, Cursor, VS Code, etc.). It enables cross-tool safety gating and cognitive state awareness.

Installation

pip install otto-mcp

Or install from source:

cd Otto/packages/otto-mcp
pip install -e .

Configuration

Claude Desktop

Add to your Claude Desktop config (~/.config/claude-desktop/config.json on Linux/macOS or %APPDATA%\Claude\config.json on Windows):

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

Cursor / VS Code

Add to your MCP settings:

{
  "mcp": {
    "servers": {
      "otto": {
        "command": "otto-mcp"
      }
    }
  }
}

Tools

otto_status

Get current cognitive state.

Burnout: GREEN | Energy: medium | Max Depth: deep

{
  "burnout_level": "green",
  "energy_level": "medium",
  "momentum_phase": "building",
  "mode": "focused",
  "max_thinking_depth": "deep",
  "should_intervene": false,
  ...
}

otto_check

Check if an operation is safe given current state.

Input:

{
  "operation": "deep architecture analysis",
  "thinking_depth": "ultradeep"
}

Output:

ADJUST DEPTH: Burnout at ORANGE - depth capped at standard

{
  "operation": "deep architecture analysis",
  "requested_depth": "ultradeep",
  "allowed": false,
  "recommended_depth": "standard",
  "reason": "Burnout at ORANGE - depth capped at standard"
}

otto_calibrate

Set focus and urgency calibration.

Input:

{
  "focus_level": "locked_in",
  "urgency": "deadline"
}

otto_expert

Get recommended intervention expert for a message.

Input:

{
  "message": "I'm so frustrated, nothing is working!"
}

Output:

Expert: VALIDATOR (priority 1)
Trigger: frustrated_detected

{
  "expert": "validator",
  "trigger": "frustrated_detected",
  "priority": 1,
  "safety_gate_pass": true
}

otto_set_burnout

Manually set burnout level.

Input:

{
  "level": "yellow"
}

otto_set_energy

Manually set energy level.

Input:

{
  "level": "low"
}

Safety Gating

The MCP server enforces Otto's safety invariants:

State Max Thinking Depth
energy=depleted minimal
energy=low standard
burnout>=ORANGE standard
burnout=RED minimal
energy=high ultradeep (if requested)

Rule: Safety state ALWAYS overrides requested depth. Can reduce, never increase.

Use Cases

  1. Cross-tool safety: Check cognitive state before starting complex operations in any tool
  2. Context awareness: Let AI assistants know your current capacity
  3. Intervention routing: Route messages to appropriate experts based on emotional signals
  4. Session calibration: Set focus/urgency at the start of work sessions

Development

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

# Run tests
pytest

# Run server directly
python -m otto_mcp.server

License

MIT License - see LICENSE for details.

References

Metadata

Release files for otto-mcp 1.0.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 otto-mcp 1.0.1
File Size Uploaded Provenance
otto_mcp-1.0.1.tar.gz 8.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for otto-mcp 1.0.1
File Interpreter ABI Platform
otto_mcp-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.8 kB

Release files / otto_mcp-1.0.1.tar.gz

Download URL otto_mcp-1.0.1.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
77de283dfa4bc52aa256e371a0f099531ee2e9fca483a5092cbf8f4b1fef99e3
BLAKE2b-256 checksum
How to use checksums
a8a5b8ed5d1ada01cee428beb80c5e59b2f3dc37b7c054562595ce41166203dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / otto_mcp-1.0.1-py3-none-any.whl

Download URL otto_mcp-1.0.1-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5131271b79635a313de03ca5f1b0bcaed0b7317862f406b202e0fbe0d2cc7838
BLAKE2b-256 checksum
How to use checksums
5d351921b0b805897c2fd6d64b3c4739d18456c846a30c9f2e21a52d8da48068
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Security for otto-mcp 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

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