positioning-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IPE_ROOT | No | Path to the engine checkout. If the two repositories are checked out side by side, the server finds the engine on its own. | |
| IPE_BUILD | No | Path to the engine build directory (default $IPE_ROOT/build). | $IPE_ROOT/build |
| IPE_WORKDIR | No | Scratch space for traces and runs (default ~/.cache/positioning-agent-tools). | ~/.cache/positioning-agent-tools |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_scenariosA | List simulation scenarios with the venue they use and the real-world effect each one injects. |
| describe_venueC | Floor size, wall count, mapped wall attenuation and beacon positions of a venue (e.g. 'office_floor'). |
| engine_configA | Effective engine configuration for a preset (pf, pf-nomap, ekf, wcl), optionally with a JSON merge patch. Use this to discover tunable parameter names before writing a config_patch. |
| simulate_scenarioC | Generate a synthetic trace (IMU, BLE, ground truth) for a scenario.
|
| run_replayA | Run one scenario (simulated in memory) or a recorded trace file through a filter. Returns accuracy metrics (CEP50/CEP95/mean/convergence) and a run_id for error_breakdown and plot_run. One run is one sample: use ab_test or compare_filters for conclusions. |
| error_breakdownB | Time windows where the error stayed above a threshold, with the true and estimated position at the peak and the beacons nearest to each. Useful for spotting moved beacons and divergence. |
| plot_runA | Render the floor plan with the true and estimated tracks, plus error over time, as a PNG. |
| compare_filtersB | Mean CEP50/CEP95/convergence of several filters on one scenario, averaged over seeds.
|
| ab_testB | A/B test a configuration change across scenarios on identical seeds. A = current defaults, B = defaults + config_patch (JSON merge patch, e.g. {"pf": {"num_particles": 500}}). Returns per-scenario CEP deltas with a verdict for B (better, worse, mixed or same) and a summary. "mixed" means CEP50 and CEP95 moved in opposite directions; treat it as a trade-off, not a win. |
| run_regressionC | Run the CI accuracy gate: every scenario and preset against tests/regression/baseline.json. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| agents_md | The engine repository's AGENTS.md: build commands and evaluation rules. |
| formats_md | Venue, scenario, trace and replay output formats. |
| latest_results | Last published benchmark (docs/results.json in the engine repo). |
TDQS
Scored across 10 tools
Each tool targets a distinct stage or artifact in the positioning workflow: scenario discovery, venue metadata, engine config, simulation, replay, diagnostics, plotting, filter comparison, regression, and A/B testing. The closest pairs (simulate_scenario vs run_replay and compare_filters vs ab_test) are explicitly differentiated in their descriptions by input type and comparison scope.
All names use snake_case consistently and are readable. Most are verb_noun or clear action phrases, but a few noun phrases such as engine_config, error_breakdown, and ab_test deviate from a strict verb_noun pattern.
Ten tools is well within the expected range for a simulation and analysis server. Each tool covers a meaningful workflow step and none appears redundant or trivial.
The surface covers the core workflow well: discover scenarios and venues, simulate or replay, diagnose errors, visualize, compare filters/configs, and run regression checks. Minor gaps exist around explicit scenario/trace management or historical run listing, but these are not blocking for the stated analysis purpose.