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
- Cross-tool safety: Check cognitive state before starting complex operations in any tool
- Context awareness: Let AI assistants know your current capacity
- Intervention routing: Route messages to appropriate experts based on emotional signals
- 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| otto_mcp-1.0.1.tar.gz | 8.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.