# io.github.collapseindex/ci1t-mcp (npm · @collapseindex/ci1t-mcp)

CI-1T prediction stability engine. Detect ghosts, evaluate drift, monitor fleets. 20 tools.

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

## Components

- npm · `@collapseindex/ci1t-mcp`: 62/100 (this document), [markdown](https://verifymcp.io/servers/collapseindex-ci1t-mcp/collapseindex-ci1t-mcp.md), [page](https://verifymcp.io/servers/collapseindex-ci1t-mcp/collapseindex-ci1t-mcp)

## Channel facts

- Registry: `npm`
- Package: `@collapseindex/ci1t-mcp`
- Version: `1.7.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, 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.

- **Supply Chain Security**: 86/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 6/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license (SEE LICENSE IN LICENSE) isn't a recognized OSI-approved license.
  - Actively maintained (last published 155 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 81/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2424 tokens (~115/item across 21 items; 20 tools + 1 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 collapseindex-ci1t-mcp -- npx -y @collapseindex/ci1t-mcp
```

### Codex

```bash
codex mcp add collapseindex-ci1t-mcp -- npx -y @collapseindex/ci1t-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "collapseindex-ci1t-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@collapseindex/ci1t-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add collapseindex-ci1t-mcp --command npx --arg -y --arg @collapseindex/ci1t-mcp
```

### Hermes

```yaml
mcp_servers:
  collapseindex-ci1t-mcp:
    command: "npx"
    args: ["-y", "@collapseindex/ci1t-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "collapseindex-ci1t-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@collapseindex/ci1t-mcp"
      ]
    }
  }
}
```

## 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-02 (score 62, +62)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [functional regression] License: unverified → fail
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Schema quality: unverified → good
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100
- [functional] Licence: SEE LICENSE IN LICENSE

### 2026-07-31 (score 0, −18)

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

### 2026-07-30 (score 18, −28)

- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (20)

### `onboarding` (~47 tokens)

Welcome guide for new users. Returns setup instructions, available tools, pricing, and links. No auth required. Call this when someone is new to CI-1T or asks how to get started.

### `evaluate` (~233 tokens)

Evaluate prediction stability. Sends scores to the CI-1T engine and returns per-episode stability metrics. Accepts floats (0.0–1.0) or Q0.16 integers (0–65535) — auto-converts. Response: { episodes: [{ ci_out, ci_ema_out, al_out, warn, fault, ghost_confirmed, ghost_suspect_streak, ... }], credits_used, credits_remaining }. CI values are Q0.16 (0–65535; divide by 65535 for %). Classification: ≤0.15=Stable, ≤0.45=Drift, ≤0.70=Flip, >0.70=Collapse. Chain results → visualize (chart), alert_check (threshold alerts), compare_windows (drift detection), or interpret_scores (stats).

Input parameters:

- `n` (integer): Episode length (default: 3)
- `scores` (array, required): Array of prediction scores — floats (0.0–1.0) or Q0.16 integers (0–65535), auto-detected. Max 10,000.

### `fleet_evaluate` (~193 tokens)

Evaluate a fleet of model nodes for prediction stability. Each node provides a score stream. Returns per-node episodes and aggregate fleet stats. Accepts floats (0.0–1.0) or Q0.16 integers (0–65535) — auto-converts per node. Response: { nodes: [{ node_id, episodes: [{ ci_out, ci_ema_out, al_out, warn, fault, ghost_confirmed, ... }] }], fleet_summary, credits_used, credits_remaining }. Chain per-node episodes → visualize, alert_check, or compare_windows. For persistent multi-round fleet monitoring, use fleet_session_create instead.

Input parameters:

- `n` (integer): Episode length (default: 3)
- `nodes` (array, required): Array of node score arrays — each inner array is one node's scores (floats or Q0.16). Max 16 nodes, 10,000 scores per node.

### `probe` (~317 tokens)

Probe an LLM for prediction instability. Sends the same prompt 3 times and compares responses using the specified similarity method. Two modes: (1) Default — routes through CI-1T backend (costs 1 credit, uses Grok). (2) BYOM (Bring Your Own Model) — provide base_url + model_api_key + model to probe any OpenAI-compatible API directly (no credits, no CI-1T auth needed). Response: { scores: [u16, u16, u16], normalized: [f64, f64, f64], responses: [str, str, str], method, mode }. The returned scores array can be passed directly to evaluate for full stability classification.

Input parameters:

- `base_url` (string): OpenAI-compatible API base URL for BYOM mode (e.g. http://localhost:11434/v1, https://api.openai.com/v1). When set, probes this endpoint directly instead of CI-1T backend.
- `method` (string): Similarity method (default: jaccard)
- `model` (string): Model name for BYOM mode (e.g. gpt-4o, claude-sonnet-4-20250514, llama3, mistral). Required when base_url is set.
- `model_api_key` (string): API key for the target LLM provider (BYOM mode). Sent as Bearer token in Authorization header.
- `prompt` (string, required): The prompt to send 3 times to the LLM

### `health` (~38 tokens)

Check CI-1T engine health. Response: { status, version, latency_ms }. Call before evaluate/fleet operations to verify the engine is reachable.

### `fleet_session_create` (~103 tokens)

Create a new persistent fleet monitoring session. Returns a session ID for subsequent rounds. Max 16 nodes. Response: { session_id, node_count, node_names, created_at }. Workflow: fleet_session_create → fleet_session_round (repeat) → fleet_session_state (check) → fleet_session_delete (cleanup).

Input parameters:

- `node_count` (integer, required): Number of nodes in the fleet
- `node_names` (array): Optional names for each node (must match node_count)

### `fleet_session_round` (~105 tokens)

Submit a scoring round to an existing fleet session. Each node's scores array is evaluated and the cumulative fleet snapshot is returned. Response: { round, nodes: [{ episodes: [...] }], fleet_summary }. Episodes in the response can be passed to visualize, alert_check, or compare_windows.

Input parameters:

- `scores` (array, required): Per-node score arrays for this round. Max 16 nodes, 10,000 scores per node.
- `session_id` (string, required): Fleet session ID

### `fleet_session_state` (~67 tokens)

Get the current state of a fleet session without submitting new scores. Response: { session_id, round_count, nodes: [{ node_id, node_name, episodes: [...] }], fleet_summary }. Use to inspect accumulated results between rounds.

Input parameters:

- `session_id` (string, required): Fleet session ID

### `fleet_session_list` (~35 tokens)

List all active fleet sessions. Response: { sessions: [{ session_id, node_count, round_count, created_at }] }.

### `fleet_session_delete` (~49 tokens)

Delete a fleet session by ID. Response: { deleted: true, session_id }. Call when monitoring is complete to free server resources.

Input parameters:

- `session_id` (string, required): Fleet session ID to delete

### `list_api_keys` (~65 tokens)

List all API keys for the authenticated user. Response: { keys: [{ id, name, masked_key, scope, enabled, created }] }. Use the record id with delete_api_key to revoke.

Input parameters:

- `user_id` (string, required): Your user ID (shown on your dashboard)

### `create_api_key` (~90 tokens)

Create a new CI-1T API key. Response: { api_key, masked_key, scope, record }. IMPORTANT: Save the returned api_key — it cannot be retrieved again after creation.

Input parameters:

- `name` (string, required): Human-readable name for the key
- `scope` (string): Endpoint scope (default: all)
- `user_id` (string, required): Your user ID (shown on your dashboard)

### `delete_api_key` (~50 tokens)

Delete an API key by its PocketBase record ID (from list_api_keys). Response: { deleted: true }.

Input parameters:

- `id` (string, required): PocketBase record ID of the API key to delete

### `get_invoices` (~58 tokens)

Get billing history (Stripe invoices). Response: { invoices: [{ amount, credits, date, status }], has_more, cursor }. Pass cursor to paginate.

Input parameters:

- `cursor` (string): Pagination cursor (payment intent ID) for next page

### `interpret_scores` (~133 tokens)

Analyze raw prediction scores with statistical breakdown — no API call, no auth, no credits. Response: { count, mean, std, min, max, breakdown: [{ index, raw, normalized }] }. Accepts floats (0.0–1.0) or Q0.16 integers (0–65535) — auto-detects. For full stability classification (Stable/Drift/Flip/Collapse), pass scores to the evaluate tool instead.

Input parameters:

- `scores` (array, required): Array of scores — floats (0.0–1.0) or Q0.16 integers (0–65535)

### `convert_scores` (~135 tokens)

Convert between probability floats (0.0–1.0) and Q0.16 fixed-point integers (0–65535) — no API call, no auth, no credits. Response: { direction, count, converted: [{ input, q16|float }] }. Use to_q16 before evaluate, from_q16 to make CI outputs human-readable.

Input parameters:

- `direction` (string, required): "to_q16" converts 0.0–1.0 floats to Q0.16 integers. "from_q16" converts Q0.16 integers to floats.
- `scores` (array, required): Array of scores to convert

### `generate_config` (~162 tokens)

Generate CI-1T integration boilerplate for a specific framework or language — no API call, no auth, no credits. Response: { framework, use_case, api_base, endpoints, score_format, auth, cost, instruction }. The instruction field tells you how to produce complete, production-ready integration code for the user's stack.

Input parameters:

- `framework` (string, required): Target framework or language (e.g. "fastapi", "express", "django", "flask", "nextjs", "python", "typescript", "go", "rust")
- `use_case` (string): Integration pattern: "single" for single-model monitoring, "fleet" for multi-model fleet evaluation, "guardrail" for CI-as-guardrail (reject/fallback when unstable)

### `compare_windows` (~149 tokens)

Compare two windows of episodes to detect drift or degradation — no API call, no auth, no credits. Takes baseline and recent episode arrays from evaluate or fleet_session_round responses. Response: { comparison: { baseline: stats, recent: stats }, delta: { ci_mean, ema_mean, al_mean, ghost_delta, warn_delta, fault_delta }, trend: 'improving'|'stable'|'degrading', degraded: bool, severity_factors: [...] }. Use after multiple evaluate calls to track model health over time.

Input parameters:

- `baseline` (array, required): Baseline episode array (e.g. last hour, known-good run)
- `recent` (array, required): Recent episode array to compare against baseline

### `alert_check` (~218 tokens)

Check episodes against configurable thresholds and return triggered alerts — no API call, no auth, no credits. Takes an episode array from evaluate or fleet responses. Response: { status: 'ok'|'warn'|'critical', total_alerts, critical, warnings, episodes_checked, thresholds, alerts: [{ episode, type, value, threshold, severity }] }. Alert types: ci_exceeded, ema_exceeded, authority_elevated, ghost_detected, fault.

Input parameters:

- `al_threshold` (integer): Alert if any episode authority level >= this (default: 3 = Minimal)
- `ci_threshold` (number): Alert if any episode CI exceeds this (default: 0.45 = Drift boundary)
- `ema_threshold` (number): Alert if any episode EMA exceeds this (default: 0.45)
- `episodes` (array, required): Episode array from an evaluate or fleet response
- `fault_alert` (boolean): Alert on faults (default: true)
- `ghost_alert` (boolean): Alert on ghost detections (default: true)

### `visualize` (~131 tokens)

Generate an interactive HTML visualization of CI-1T evaluate results — no API call, no auth, no credits. Takes an episode array from evaluate or fleet responses. Returns a file path to a self-contained HTML chart with sidebar KPIs, color-coded CI bars, EMA trend, authority levels, and hover tooltips. Response: { visualization: filepath, episodes, title, instruction }. Open the file in a browser or VS Code Simple Browser.

Input parameters:

- `episodes` (array, required): Episode array from an evaluate or fleet_evaluate response
- `title` (string): Chart title (default: CI-1T Stability Analysis)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/collapseindex-ci1t-mcp/collapseindex-ci1t-mcp#diagnostics

## Score history

- 2026-08-03: 62
- 2026-08-02: 62
- 2026-08-01: 0
- 2026-07-31: 0
- 2026-07-30: 18
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/@collapseindex/ci1t-mcp
- Socket report: https://socket.dev/npm/package/@collapseindex/ci1t-mcp
- Changelog RSS feed: https://verifymcp.io/servers/collapseindex-ci1t-mcp/collapseindex-ci1t-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/collapseindex-ci1t-mcp/collapseindex-ci1t-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/collapseindex-ci1t-mcp/collapseindex-ci1t-mcp
