Maap

io.github.codecraf8Published by GitHub account codecraf8v0.1.1Updated Oct 29, 2026

Calibrated numeric estimates with uncertainty from messy records

VerifiedSTDIODesktop onlyData & AnalyticsAI & ML

Overview

AI-generated overview

Maap lets an assistant look up trained numeric targets and produce calibrated estimates with uncertainty ranges and threshold probabilities.

What you can do
  • Search the catalogue of trained targets by keyword and kind of number, to find the target id needed for a query
  • Estimate a single case against one target, returning a median, requested quantiles, an 80% range and the probability of crossing a named threshold
  • Report how far to trust each answer through regime, calibration and novelty indicators
When to use it
Useful when you want a numeric answer with an explicit uncertainty range rather than a plain guess, for example predicting a price or quantity from a described case, or asking how likely a value is to exceed a threshold.
Requirements
Runs locally as an npm package via npx, so Node.js is needed. Requires an API key in MAAP_API_KEY, obtained from the provider's dashboard, and network access to the default API endpoint; MAAP_BASE_URL can override that endpoint. The first call after idle time may take tens of seconds while a GPU container starts.
Before you install
The API key is a secret passed in the environment and should be kept out of shared config files. Each question counts against a paid allowance, and the case details you submit are sent to the provider's API. Answers can be flagged as out of domain, uncalibrated or novel, so the range may carry no coverage promise.

Installation

In SourceWeft

  1. Open Maap in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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:

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

Claude Code:

bash
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.

Source: README.md at commit e26fd58

Tools

2

list_targets

Search the maap catalogue of trained targets. A target is one specific number the model can predict, named by id. Call this FIRST to find the id to pass to `estimate`; ids cannot be guessed. Filter by keyword and by kind of number.

Parameterslimitqueryprimitive

estimate

Estimate a number for one case, with calibrated uncertainty. Returns a median (the answer), an 80% range the true value should fall inside about 80 times in 100, the quantiles you asked for, and the probability of crossing any threshold you name. Use the median as the answer, and the range when the decision depends on how wrong it could be. Needs a `target` id from `list_targets`. The first call after an idle period can take tens of seconds.

Parametersstaterequiredlevelstargetrequiredexamplesreturn_pmfthresholdsinterval_levels

Version history

1
  1. v0.1.1LatestOct 21, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts