Skip to main content

MCP server for Otto cognitive safety layer - ThinkingMachines [He2025] compliant

Project description

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

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

otto_mcp-1.0.0.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

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

otto_mcp-1.0.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file otto_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: otto_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for otto_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 88e3b4a496865b3274a766afbe3050bb126f3744147357e6f82125d666807c02
MD5 b854f37d99ae02475b68bfd54670b6fc
BLAKE2b-256 a28d14326fb86821d103b59cbc3588da9c5bb78712a84fc572e618986be45839

See more details on using hashes here.

File details

Details for the file otto_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: otto_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for otto_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d98aecf33b256bce771a9fc4445b0f641b6dbf201554a0362ac32919942712a4
MD5 96ab9ab90931d1e5e5ccab2dcaecf3ab
BLAKE2b-256 937f09e21295f368862c1e5f0f680de218aae941ef16971ed1adc17ac9ab54af

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