Skip to main content

MCP server — let any LLM agent identify an appliance and pull its grounded, safety-checked, robot-executable operation package from OPERANDI.

Project description

OPERANDI MCP Server — operate real appliances from any agent

operandi_mcp_server.py exposes OPERANDI over the Model Context Protocol so any MCP-capable agent host (Claude Desktop, Claude Code, or your own agent runtime) can identify an appliance and pull its grounded, safety-checked, robot-executable operation package as native tools.

This is the "build for agents" surface: the customer is a robot's planner / an LLM agent, not a human reading PDFs.

Tools

Tool What it does
identify_appliance Resolve observed nameplate text / panel labels / model → a catalog object (call first).
get_operation_package The robot-executable package: model-exact procedures, control map + grounding, per-step verification signals, recovery state machine, safety envelope.
list_appliances Browse operable appliances (optionally by category).
find_by_capability Find appliances by function (heat / wash / brew / defrost …).

Why an agent wants this

A general model, cold, gives confidently-wrong physical instructions on ordinary appliances a large fraction of the time (OPERANDI Stage A: 24% of cold instructions were would-fail, including invented buttons and cycles). Grounded in the package these tools return, that fell to 0 hallucinations, 96% exact. The tools turn "guess the buttons" into "read the manufacturer's ground truth". See ../docs/BUSINESS_MODEL.md.

Setup

No SDK to install — the server is stdlib JSON-RPC over stdio (uses requests, already present). Point it at a running OPERANDI API and give it a key:

export OPERANDI_API_URL=https://api.operandi.example   # or https://api.operandi.cc for local dev
export OPERANDI_API_KEY=ok_live_...                     # from the dev portal / /v1/keys
python mcp/operandi_mcp_server.py                        # an MCP host spawns this over stdio

Claude Desktop / Claude Code config

Add to your MCP servers config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "operandi": {
      "command": "python",
      "args": ["/Users/archieshouse/Operandi/mcp/operandi_mcp_server.py"],
      "env": {
        "OPERANDI_API_URL": "https://api.operandi.cc",
        "OPERANDI_API_KEY": "ok_live_your_key_here"
      }
    }
  }
}

Then ask the agent: "Identify the Samsung ME20H705MSS and give me the safe procedure to defrost 0.5 kg of mince." — it will call identify_appliance then get_operation_package and answer from grounded data.

Notes

  • The server is a thin, API-key-authenticated REST client — the same binary works against local dev or the hosted service by changing OPERANDI_API_URL.
  • Auth is Authorization: Bearer <key>; a missing/invalid key surfaces as a tool error, not a crash.
  • Transport is newline-delimited JSON-RPC 2.0 (the MCP stdio transport). Offline protocol tests: pytest tests/test_mcp_server.py.

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

operandi_mcp-1.0.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

operandi_mcp-1.0.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for operandi_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 827d1b872003bb3e2cd8cdbe7ad2e387e4852c4fb2b81831b5d7860c95371a49
MD5 c35ef7330a40e7730e0d0182918cc963
BLAKE2b-256 39782f220b48aadece05f51e9c33abfb1b2441bcf18592b844741d322af2a6c3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for operandi_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d3d7d7609939840f397bfa20b878bb1771c132579fa0bb60e57b7261c5f237c
MD5 5fde169e741617049e973226b62f0da1
BLAKE2b-256 cc45e696eaf5583c8fa13d67f3d06fc738ce5436fd56f477806064faa023b5b5

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