Skip to content
Conduit

mcp server

maap-mcp

hitl-systems/maap-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • Node.js 20 or newer
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "maap-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "maap-mcp"
      ],
      "env": {
        "MAAP_API_KEY": "<your MAAP_API_KEY>"
      }
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 24, 2026

maap-mcp

maap over MCP: ask for a number, get a calibrated distribution — a median, the range the true value should fall inside, and the probability of crossing a threshold you name.

Two tools:

ToolDoes
list_targetsSearch the 104 trained targets. Call this first — a target id is not guessable
estimateOne case, one target → median, quantiles, intervals, P(value > t), and how calibrated the answer is

Install

Get a key at dash.hitl.systems/keys, then add the server to your client.

Claude Desktop — claude_desktop_config.json:

{
  "mcpServers": {
    "maap": {
      "command": "npx",
      "args": ["-y", "maap-mcp"],
      "env": { "MAAP_API_KEY": "apikey_..." }
    }
  }
}

Claude Code:

claude mcp add maap --env MAAP_API_KEY=apikey_... -- npx -y maap-mcp

Not on npm yet — until it is, install straight from this repo by swapping maap-mcp for github:hitl-systems/maap-mcp in any of the above. The built bundle is committed, so there is nothing to compile.

Cursor — ~/.cursor/mcp.json: the same mcpServers block as Claude Desktop.

VariableRequiredDefault
MAAP_API_KEYyes—
MAAP_BASE_URLnohttps://dash.hitl.systems

Using it

Which maap target predicts flight prices? Estimate the fare for a Vistara economy ticket Delhi → Mumbai, non-stop, booked 9 days out, and tell me the chance it is over ₹10,000.

The agent calls list_targets for the id, then estimate with your case as the state.

Read the median as the answer and the range as what to plan against. For a threshold question, pass thresholds and read P(value > t) — do not compare the median to the threshold yourself; the median says where the middle is, not how likely the threshold is.

An answer also carries how much to trust it: regime (in_domain, or new_target when the model only knows what your examples taught it), calibration ("none" means no correction survived its check, so the range carries no coverage promise), and novelty_flag when the case is unlike anything in training. Known limits are published: dash.hitl.systems/docs/calibration.

Notes

  • One question per call. The HTTP API takes up to 32 under names you choose; a flat tool is the one an agent fills in correctly.
  • The first call after an idle period starts a GPU container and can take tens of seconds. The server waits 120 s and tells the agent to retry rather than failing silently.
  • Each question counts against your allowance. A rejected call costs nothing.
  • Pricing, limits and the full wire format: dash.hitl.systems/docs/api.

MIT.

↑↓ navigate openesc close