# RTK Motion — Motion Capture, Biomechanics, Threat & Fleet Intelligence (remote · api.rtkmotion.io)

Mocap, rehab biomechanics, threat intel, fleet vision. 21 MCP tools, 10 free. x402/USDC paid.

- Trust score: 54/100 (low)
- Change this week: +1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.rtkmotion.io`: 54/100 (this document), [markdown](https://verifymcp.io/servers/io-rtkmotion-data/api.md), [page](https://verifymcp.io/servers/io-rtkmotion-data/api)

## Channel facts

- Endpoint: `https://api.rtkmotion.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.3.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 21 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 33/100
  - AI-judged instruction clarity (fair).
  - Context-footprint check failed: tool/resource definitions use about 4878 tokens (~232/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http io-rtkmotion-data https://api.rtkmotion.io/mcp
```

### Codex

```toml
[mcp_servers.io-rtkmotion-data]
url = "https://api.rtkmotion.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-rtkmotion-data": {
      "type": "remote",
      "url": "https://api.rtkmotion.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-rtkmotion-data --url https://api.rtkmotion.io/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-rtkmotion-data:
    url: "https://api.rtkmotion.io/mcp"
```

### Other

```json
{
  "mcpServers": {
    "io-rtkmotion-data": {
      "type": "http",
      "url": "https://api.rtkmotion.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 54, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 53, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 52, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 52, −2)

- [security] Tool “get_spotter_cv_sample” rewrote its description, which is the text the model reads
- [security] Tool “get_spotter_carrier” rewrote its description, which is the text the model reads
- [security] Tool “get_spotter_cv” rewrote its description, which is the text the model reads

### 2026-07-28 (score 54, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 53, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 53)

First indexed and scored.

## MCP tools (21)

### `browse_catalog` (~96 tokens)

Browse hierarchical catalog of motion-capture, threat-intel, and rehab-biomechanics datasets. No path → root categories. Category path → children. Lesson path → file inventory, pricing, and MCP tool names. Free, no payment required.

Input parameters:

- `path` (string): Catalog path to browse, e.g. 'BJJ' or 'BJJ/Training/KimuraFromSideControl/Lesson001'. Omit for root.

### `get_bvh` (~330 tokens)

BVH skeletal animation for robotic_grappling_training or imitation_learning. 60 fps, 56-joint hierarchy with 3-segment finger chains, latency <500ms. Pay $10 USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402. Cheaper $0.25 trial sample: call get_trial_bvh.

Input parameters:

- `lesson_path` (string): Lesson path, e.g. 'BJJ/Training/KimuraFromSideControl/Lesson001'. Defaults to first available lesson.
- `payment_tx` (string): USDC transaction hash. Send $10 USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `subject` (string, required): Subject name (e.g. 'subject_1' or 'subject_2')
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for this tool's USDC price to our wallet. Redeemable only by its signer; no gas needed.

### `get_video_url` (~297 tokens)

Multi-view grappling video for pose_estimation_training or technique_analysis. 1080p synced cameras, 15-min signed streaming URL with Range support. Pay $5 USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402.

Input parameters:

- `lesson_path` (string): Lesson path, e.g. 'BJJ/Training/KimuraFromSideControl/Lesson001'. Defaults to first available lesson.
- `payment_tx` (string): USDC transaction hash. Send $5 USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `view` (integer, required): Camera view number
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for this tool's USDC price to our wallet. Redeemable only by its signer; no gas needed.

### `get_robotarget` (~454 tokens)

Multi-robot joint trajectories (NPZ) for sim_to_real_retargeting or imitation_learning. Platforms: Unitree G1 (43 DOF: 29 body + 14 hand), Unitree H1 (19 DOF), Apptronik Apollo (32 DOF) — specify via robot= param. MoveIt/ROS and Isaac Sim compatible, 60 fps, latency <500ms. Pay $15 USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402. Cheaper $0.25 trial sample: call get_trial_robotarget.

Input parameters:

- `lesson_path` (string): Lesson path, e.g. 'BJJ/Training/KimuraFromSideControl/Lesson001'. Defaults to first available lesson.
- `payment_tx` (string): USDC transaction hash. Send $15 USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `robot` (string): Target robot platform: 'g1' (Unitree, 43 DOF = 29 body + 14 hand), 'h1' (Unitree, 19 DOF), or 'apollo' (Apptronik, 32 DOF). Defaults to 'g1'. Future platforms appear in the lesson's files.robotarget.…
- `subject` (string, required): Subject name (e.g. 'subject_1' or 'subject_2')
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for this tool's USDC price to our wallet. Redeemable only by its signer; no gas needed.

### `get_trial_bvh` (~295 tokens)

TRIAL — 5-second BVH skeletal sample (300 frames @ 60fps) from the Kimura side-control trial lesson. Same format as full $10 get_bvh — use to evaluate data quality before committing. Pay $0.25 USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402.

Input parameters:

- `payment_tx` (string): USDC transaction hash. Send $0.25 USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `subject` (string): Subject name: 'subject_1' (default) or 'subject_2'
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for this tool's USDC price to our wallet. Redeemable only by its signer; no gas needed.

### `get_trial_robotarget` (~395 tokens)

TRIAL — 5-second robot-trajectory sample (300 frames @ 60fps NPZ) from the Kimura side-control trial lesson. Same format as full $15 get_robotarget — use to evaluate retargeting quality before committing. Platforms: Unitree G1 (43 DOF: 29 body + 14 hand), Unitree H1 (19 DOF), Apptronik Apollo (32 DOF). Pay $0.25 USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402.

Input parameters:

- `payment_tx` (string): USDC transaction hash. Send $0.25 USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `robot` (string): Target robot: 'g1' (default, Unitree, 43 DOF = 29 body + 14 hand), 'h1' (Unitree, 19 DOF), or 'apollo' (Apptronik, 32 DOF)
- `subject` (string): Subject name: 'subject_1' (default) or 'subject_2'
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for this tool's USDC price to our wallet. Redeemable only by its signer; no gas needed.

### `search_catalog` (~148 tokens)

Full-text search across motion-capture, threat-intel, and rehab-biomechanics datasets. Matches labels, paths, subject names, techniques. Returns full lesson detail with pricing so you can immediately call purchase tools. Free.

Input parameters:

- `query` (string, required): Search terms, e.g. 'kimura', 'culpeper', 'labrum'. Matched against lesson labels, path segments, and subject names.
- `subject` (string): Filter by subject name, e.g. 'subject_1' or 'subject_2'.
- `vertical` (string): Filter by top-level vertical: 'BJJ', 'ThreatIntel', or 'PhysicalRehab'. Matches the first path segment.

### `get_threat_summary` (~387 tokens)

Location threat assessment for risk_underwriting, facility_security_audit, or insurance_risk_modeling. Lite ($0.50): confidence-scored alerts, event distribution. Full ($1.00): + enriched entities, temporal context, corroboration scoring. Latency <200ms. Pay USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402. Browse ThreatIntel via browse_catalog first.

Input parameters:

- `location` (string, required): Location slug, e.g. 'culpeper-town' or 'fbcl-longwood'
- `payment_tx` (string): USDC transaction hash. Send $0.50 (lite) or $1.00 (full) USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `region` (string): Region, e.g. 'Virginia' or 'Florida'. Required to resolve the R2 path.
- `tier` (string): 'lite' ($0.50 USDC) = summary only; 'full' ($1.00 USDC) = summary + enriched flagged items
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for this tool's USDC price to our wallet. Redeemable only by its signer; no gas needed.

### `get_threat_profile` (~81 tokens)

Monitored location profile — assets, feed types, scan interval, term sets. Free — evaluate coverage and data freshness before purchasing threat assessments for risk_underwriting or security_operations.

Input parameters:

- `location` (string, required): Location slug, e.g. 'culpeper-town'
- `region` (string): Region, e.g. 'Virginia' or 'Florida'

### `get_rehab_summary` (~303 tokens)

Cross-exercise biomechanical summary for insurance_claim_validation or rehab_progress_tracking. Bilateral asymmetry indices, ROM for all major joints, fatigue markers, clinical synthesis identifying persistent deficits. JSON + TXT formats. Latency <300ms. Pay $0.50 USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402.

Input parameters:

- `case_path` (string, required): Case path, e.g. 'PhysicalRehab/40-50/Male/LabrumTear'
- `payment_tx` (string): USDC transaction hash. Send $0.50 USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for this tool's USDC price to our wallet. Redeemable only by its signer; no gas needed.

### `get_rehab_report` (~332 tokens)

Per-exercise biomechanical report for PT_outcome_measurement or medical_insurance_review. CoM stability, rep detection, joint load, bilateral asymmetry, ROM, fatigue markers. JSON + TXT formats. Latency <200ms. Pay $0.25 USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402.

Input parameters:

- `case_path` (string, required): Case path, e.g. 'PhysicalRehab/40-50/Male/LabrumTear'
- `exercise` (string, required): Exercise name, e.g. 'Burpees', 'Pushups', 'Squats', 'HeadRotation'
- `payment_tx` (string): USDC transaction hash. Send $0.25 USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for this tool's USDC price to our wallet. Redeemable only by its signer; no gas needed.

### `get_rehab_profile` (~73 tokens)

Patient demographics, injury history, and medications for a rehab case. Free — evaluate case relevance before purchasing biomechanical reports for insurance_claim_validation or PT_outcome_measurement.

Input parameters:

- `case_path` (string, required): Case path, e.g. 'PhysicalRehab/40-50/Male/LabrumTear'

### `get_threat_sample` (~102 tokens)

FREE live threat assessment sample — current threat level, confidence score, event distribution, and scan freshness for a monitored location. Proves data is live and continuously updated. No flagged items or entities (upgrade to get_threat_summary for full detail). Try location='culpeper-town' or browse_catalog path='ThreatIntel' for all locations.

Input parameters:

- `location` (string): Location slug, e.g. 'culpeper-town'. Defaults to showcase location.

### `get_rehab_sample` (~86 tokens)

FREE rehab biomechanics sample — shows the structure and metric categories of a clinical summary without numeric values. Demonstrates data quality and coverage. Upgrade to get_rehab_summary ($0.50) for full numeric data. Try case_path='PhysicalRehab/40-50/Male/LabrumTear'.

Input parameters:

- `case_path` (string): Case path. Defaults to showcase case.

### `get_mocap_sample` (~107 tokens)

FREE motion capture sample — first 5 seconds of BVH skeletal animation (frame count = 5 × lesson fps). Enough to validate format, joint hierarchy, and data quality for sim_to_real_retargeting or action_recognition. Full files are 20–120 seconds ($10 USDC via get_bvh).

Input parameters:

- `lesson_path` (string): Lesson path. Defaults to first available lesson.
- `subject` (string): Subject name. Defaults to 'subject_1'.

### `get_calibration` (~88 tokens)

FREE multi-camera calibration parameters — intrinsics and extrinsics for the capture rig. Required for any pipeline that reprojects, retriangulates, or renders against the original capture geometry. Returns the .calib file as text.

Input parameters:

- `lesson_path` (string): Lesson path, e.g. 'BJJ/Training/KimuraFromSideControl/Lesson001'. Defaults to first available lesson.

### `get_spotter_carrier_profile` (~82 tokens)

Commercial-carrier sighting profile — USDOT, FMCSA carrier name, carrier class, sighting + image counts, geo coverage. Free — evaluate a carrier's sighting bundle before purchasing for carrier_identity_verification or cargo_fraud_investigation.

Input parameters:

- `usdot` (string, required): USDOT number, e.g. '054283'

### `get_spotter_carrier` (~383 tokens)

Full commercial-carrier sighting bundle for carrier_identity_verification, fleet_movement_corroboration, or cargo_fraud_investigation. Returns the structured sighting trail (USDOT, carrier, equipment, geo, timestamp) plus time-limited signed URLs to every de-identified truck crop (faces + bystander plates blurred). Where the subject truck is confirmed by its own USDOT/carrier markings, its plate is left visible; on any frame we cannot tie a plate to that confirmed truck, every plate is blurred. No plate interpretation is distributed in the records. Commercial carriers only — owner-operators excluded by disclosure policy. Pay $5 USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402. Free evaluation: get_spotter_carrier_profile.

Input parameters:

- `payment_tx` (string): Legacy flow: USDC transaction hash. Send $5 USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `usdot` (string, required): USDOT number, e.g. '054283'
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for $5 USDC to our wallet. Redeemable only by its signer; no gas needed.

### `get_spotter_cv_profile` (~46 tokens)

Commercial-truck detection corpus profile — image count, label coverage, de-identification posture. Free — evaluate the training corpus before purchasing for detection_or_ocr_model_training.

### `get_spotter_cv` (~414 tokens)

Geo-stripped commercial-truck image corpus for detection_or_ocr_model_training. 1877 de-identified crops, every one a verified truck (equipment=truck on all 1877). FMCSA-public identity labels (usdot + carrier) are resolved on 90 crops (4.8%) and null on the rest — treat them as a bonus, not the basis of the corpus. Returns labels (JSONL, one row per crop — no plate read, no geo, no timestamp) plus time-limited signed URLs to the de-identified truck crops (faces/persons + non-subject text + burned-in GPS blurred; truck markings + plate pixels retained). Pay $50 USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402. Images are paged — use offset to page through the corpus with the same payment_tx.

Input parameters:

- `limit` (integer): Max image URLs to return per call (default 500).
- `offset` (integer): Image offset for paging through the corpus (default 0).
- `payment_tx` (string): USDC transaction hash. Send $50 USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for this tool's USDC price to our wallet. Redeemable only by its signer; no gas needed.

### `get_spotter_cv_sample` (~379 tokens)

TRIAL — a 10-crop slice of the geo-stripped commercial-truck detection corpus, to evaluate crop + de-identification quality before the full corpus (get_spotter_cv, $50). The corpus sells on verified truck crops; FMCSA-public usdot/carrier are resolved on only 90 of 1877 crops (4.8%) and this fixed trial slice lands in the unlabeled majority, so expect usdot/carrier to be null here — judge the IMAGES, not the identity fields. Returns 10 label rows + time-limited signed URLs to those 10 de-identified crops (faces/persons + non-subject text + burned-in GPS blurred). Pay $0.25 USDC on Base (chain 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to RTK wallet 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C; pass tx hash as payment_tx. Eth/Solana: /.well-known/x402. Free preview: get_spotter_cv_profile.

Input parameters:

- `payment_tx` (string): USDC transaction hash. Send $0.25 USDC on Base to 0x6C11F8a21f7ca922F483Ed21C3b6c2d9B305B10C, then pass tx hash here.
- `x_payment` (string): Preferred (x402 exact / gasless): base64 X-PAYMENT payload — a signed EIP-3009 transferWithAuthorization for this tool's USDC price to our wallet. Redeemable only by its signer; no gas needed.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-rtkmotion-data/api#diagnostics

## Score history

- 2026-08-03: 54
- 2026-08-02: 53
- 2026-08-01: 53
- 2026-07-31: 53
- 2026-07-30: 52
- 2026-07-29: 52
- 2026-07-28: 54
- 2026-07-27: 53
- 2026-07-26: 53

## Links

- Remote endpoint: https://api.rtkmotion.io/mcp
- Repository: https://github.com/RTKMotion/motion-intelligence
- Website: https://www.rtkmotion.io/
- Changelog RSS feed: https://verifymcp.io/servers/io-rtkmotion-data/api/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-rtkmotion-data/api/changelog.json
- HTML version of this page: https://verifymcp.io/servers/io-rtkmotion-data/api
