# Orbit Sentinel — Space Regulatory Filings (oci · ghcr.io/viventine-space/orbit-sentinel-mcp:0.6.3)

Search 950K+ space regulatory filings from FCC, ITU, UNOOSA, FAA-AST: entities, spectrum, dossiers.

- Trust score: 39/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- oci · `ghcr.io/viventine-space/orbit-sentinel-mcp:0.6.3`: 39/100 (this document), [markdown](https://verifymcp.io/servers/viventine-space-orbit-sentinel-mcp/ghcr-io-viventine-space-orbit-sentinel-mcp-0-6-3.md), [page](https://verifymcp.io/servers/viventine-space-orbit-sentinel-mcp/ghcr-io-viventine-space-orbit-sentinel-mcp-0-6-3)

## Channel facts

- Registry: `oci`
- Package: `ghcr.io/viventine-space/orbit-sentinel-mcp:0.6.3`
- 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**: 0/100
  - Malware scan not yet available for this package.
  - CVE data not yet available for this package.
  - Install-script risk not yet assessed.
  - Dependency-health data not yet available.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 6 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 73/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 4139 tokens (~197/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**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **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.

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add viventine-space-orbit-sentinel-mcp -- docker run --rm -i ghcr.io/viventine-space/orbit-sentinel-mcp:0.6.3
```

### Codex

```bash
codex mcp add viventine-space-orbit-sentinel-mcp -- docker run --rm -i ghcr.io/viventine-space/orbit-sentinel-mcp:0.6.3
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "viventine-space-orbit-sentinel-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/viventine-space/orbit-sentinel-mcp:0.6.3"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  viventine-space-orbit-sentinel-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/viventine-space/orbit-sentinel-mcp:0.6.3"]
```

### Other

```json
{
  "mcpServers": {
    "viventine-space-orbit-sentinel-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/viventine-space/orbit-sentinel-mcp:0.6.3"
      ]
    }
  }
}
```

## 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-01 (score 39, −5)

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

### 2026-07-29 (score 44, +33)

- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: good
- [functional] First check of Schema quality: fail

### 2026-07-28 (score 11)

First indexed and scored.

## MCP tools (21)

### `get_bond_portfolio` (~145 tokens)

Get FCC surety bond portfolio for satellite operators per 47 CFR 25.165. Shows active/theoretical bond amounts, bond releases, and operator details. Also returns summary statistics and FAA financial responsibility data. Use for questions about satellite operator financial obligations, bond compliance, or TPL coverage.

Input parameters:

- `entity_id` (string): Filter by entity UUID
- `operator` (string): Search operator name (partial match)
- `orbit_type` (string): Filter by orbit type: NGSO or GSO
- `page` (integer): Page number (default 1)
- `per_page` (integer): Results per page (default 20, max 100)

### `get_entity_dossier` (~218 tokens)

Get a cross-source dossier for an entity (by UUID): regulatory filings, SEC financial signals, sanctions/export-control screening hits, and asset footprint (satellites, ground stations, federal awards, surety bonds) — counts plus recent samples in one call. The most complete single view of an operator. Set include_family=true to roll the totals up across the entity's corporate family.

Input parameters:

- `family_confidence` (string): Family grouping strictness when include_family=true: 'high' (default; exact name / shared identifier) or 'medium' (also groups normalized-name matches like 'AT&T INC.' with 'AT&T Corp.').
- `id` (string, required): Entity UUID
- `include_family` (boolean): Roll the dossier up across the entity's corporate family (same legal entity grouped by shared CIK/FRN or matching name). Default false.
- `include_subsidiaries` (boolean): Also roll up the entity's direct subsidiaries (from authoritative SEC Exhibit-21 / GCAT parent links). Default false.

### `get_entity_profile` (~84 tokens)

Get a detailed entity profile including filing history by agency, related entities (co-filers), linked satellites, and cross-references.

Input parameters:

- `filed_after` (string): Filter filing stats to filings after this date (YYYY-MM-DD)
- `filed_before` (string): Filter filing stats to filings before this date (YYYY-MM-DD)
- `id` (string, required): Entity UUID

### `get_filing_detail` (~60 tokens)

Get full details of a specific regulatory filing including spectrum data, orbital parameters, ground stations, signals, related filings, attachments, and (for policy filings) executive summary, overall stance, and structured arguments.

Input parameters:

- `id` (string, required): Filing UUID

### `get_filing_distribution` (~103 tokens)

Get filing count distribution by filing type. Filter by agency and date range. Use for questions about what types of filings are most common.

Input parameters:

- `agency` (string): Filter by agency (FCC, ITU, UN_OOSA)
- `entity_type` (string): Filter by entity type: company, individual, or government
- `filed_after` (string): Start date (YYYY-MM-DD)
- `filed_before` (string): End date (YYYY-MM-DD)

### `get_filing_trends` (~151 tokens)

Get filing volume trends over time periods with optional top movers (entities with biggest changes). Use for questions about growth, trends, emerging players, or year-over-year comparisons.

Input parameters:

- `agency` (string): Filter by agency (FCC, ITU, UN_OOSA)
- `entity_id` (string): Entity UUID for per-entity trends
- `entity_type` (string): Filter by entity type: company, individual, or government
- `period_months` (integer): Months per period (default 12, max 60)
- `periods` (integer): Number of periods (default 2, max 12)
- `top_movers` (integer): Top N entities by biggest change

### `get_launch_history` (~97 tokens)

Get launch history for a space entity. Returns launches from the FAA/GCAT database including vehicle type, launch site, outcome, and date. Requires entity_id.

Input parameters:

- `entity_id` (string, required): Entity UUID to look up launch history for
- `limit` (integer): Max launches to return (default 20, max 100)
- `vehicle` (string): Filter by vehicle type (e.g., Falcon 9, Electron)

### `get_system_status` (~27 tokens)

Get system health status including database connectivity, pipeline queue depth, and per-source crawl health.

### `get_top_filers` (~127 tokens)

Get the top filing entities ranked by number of filings. Filter by agency and date range. Use for questions about who files the most, biggest players, or filing rankings.

Input parameters:

- `agency` (string): Filter by agency (FCC, ITU, UN_OOSA)
- `entity_type` (string): Filter by entity type: company, individual, or government
- `filed_after` (string): Start date (YYYY-MM-DD)
- `filed_before` (string): End date (YYYY-MM-DD)
- `limit` (integer): Max entities (default 10, max 100)

### `milestone_adherence` (~163 tokens)

FCC deployment milestone adherence (47 CFR 25.164): which authorized satellite systems met their deployment milestones. Filter by call_sign, classification (met|pending|extended|waived|missed|missed_unverified|unknown), is_ngso; set summary=true for aggregate counts.

Input parameters:

- `call_sign` (string): Filter by FCC call sign (exact match)
- `classification` (string): Filter by classification: met|met_late|pending|extended|waived|missed|missed_unverified|unknown
- `is_ngso` (null|boolean): Filter by orbit type: true for NGSO, false for GSO
- `summary` (boolean): If true, return aggregate counts by classification/orbit type instead of individual rows

### `research` (~120 tokens)

Primary research tool — searches filings, entities, and semantic index in parallel. Use this FIRST for any question. Pass the agency parameter for agency-specific questions (e.g., agency="FCC" for FCC questions).

Input parameters:

- `agency` (string): Filter all sub-queries by agency (FCC, ITU, UN_OOSA). Recommended for agency-specific questions.
- `focus` (string): Optional focus area: filing, entity, spectrum, or general (default: general)
- `question` (string, required): Natural language question about space regulatory filings, entities, or spectrum

### `search_entities` (~122 tokens)

Search regulatory entities (companies, operators, manufacturers, governments) by name, type, or country. Supports fuzzy name matching.

Input parameters:

- `country` (string): Filter by country code (US, GB, FR, etc.)
- `page` (integer): Page number (default 1)
- `per_page` (integer): Results per page (default 25, max 100)
- `q` (string): Fuzzy search on entity name and aliases
- `type` (string): Filter by entity type (OPERATOR, MANUFACTURER, GOVERNMENT, etc.)

### `search_federal_awards` (~239 tokens)

Search U.S. federal awards (USAspending contracts + IDVs) by recipient, agency, award type, NAICS, or minimum amount, joined to the resolved recipient entity. Ordered by award amount (largest first). Use for 'NASA contracts to Boeing over $1B' or an operator's federal funding footprint.

Input parameters:

- `agency` (string): Substring match on awarding/sub/funding agency (e.g. NASA, Department of Defense)
- `award_type` (string): Award type: 'contract' or 'idv'
- `entity_id` (string): Filter by resolved recipient entity UUID
- `limit` (integer): Max results (default 50, max 500)
- `min_amount` (string): Minimum award amount in USD (e.g. 1000000000 for $1B+)
- `naics` (string): NAICS code prefix (e.g. 5415 for computer systems design)
- `recipient` (string): Substring match on recipient/company name (e.g. boeing)
- `since` (string): Only awards starting on/after this date (YYYY-MM-DD)

### `search_filings` (~239 tokens)

Search space regulatory filings by keyword, agency, type, status, and date range. Returns a paginated list of filings from FCC, ITU, UNOOSA, and other agencies.

Input parameters:

- `agency` (string): Filter by source agency (FCC, ITU, UN_OOSA, FAA_AST, NOAA)
- `count_only` (boolean): If true, return only {total: N} without fetching rows
- `docket` (string): Filter by docket number (exact match)
- `filed_after` (string): Minimum filed date (YYYY-MM-DD)
- `filed_before` (string): Maximum filed date (YYYY-MM-DD)
- `page` (integer): Page number (default 1)
- `per_page` (integer): Results per page (default 10, max 100)
- `q` (string): Search query for filing titles and summaries
- `status` (string): Filter by status (FILED, GRANTED, DENIED, UNDER_REVIEW, etc.)
- `type` (string): Filter by filing type (SATELLITE_LICENSE, EARTH_STATION_PERMIT, SPECTRUM_COORDINATION, etc.)

### `search_ground_stations` (~314 tokens)

Search ground / earth stations by name, frequency band, operator, or geographic proximity (near='lat,lon' within radius_km, ordered by great-circle distance). Proximity defaults to the authoritative FCC IBFS registry (reliable coordinates); band/entity searches use the entity-linked extracted set. Each result is labeled with its source. Use for 'earth stations within 200km of 38.9,-77.0' or an operator's gateway footprint.

Input parameters:

- `band` (string): Frequency band, exact match against the station's band list (e.g. Ku); requires source=extracted
- `entity_id` (string): Filter by resolved operator entity UUID; requires source=extracted
- `limit` (integer): Max results (default 50, max 500)
- `name` (string): Substring match on station name / FCC call sign
- `near` (string): Proximity anchor as 'lat,lon' (e.g. '38.9,-77.0'); returns stations within radius_km ordered by distance
- `operator` (string): Substring match on operator / licensee name
- `radius_km` (string): Search radius in km for near= (default 500)
- `source` (string): Dataset: 'fcc' (authoritative FCC IBFS registry, reliable coordinates) or 'extracted' (entity-linked, LLM-extracted from filings, carries bands). Defaults to fcc for proximity, extracted for band/ent…

### `search_positions` (~244 tokens)

Search LLM-extracted policy arguments across COMMENT / REPLY / PETITION filings. Filter by docket, overall stance, argument type, target party, or filer. Use this to answer questions like 'who opposed X?', 'what did SpaceX argue in 25-306?', 'which filings support modular satellite licensing?'. Returns one row per (filing, argument).

Input parameters:

- `argument_type` (string): Filter by argument type: legal|technical|economic|policy|procedural
- `docket` (string): Filter by docket number (e.g. '25-306')
- `filer` (string): Substring match on the filing party's canonical name
- `limit` (integer): Max results (default 25, max 200)
- `position` (string): Filter by per-argument position: support|oppose|modify|neutral
- `q` (string): Substring search across argument text and executive summaries
- `stance` (string): Filter by overall stance: support|oppose|qualified_support|qualified_opposition|informational
- `target_party` (string): Substring match on target_party (the entity being addressed or opposed)

### `search_satellites` (~243 tokens)

Search the satellite catalog (UCS + Space-Track SATCAT) by name, operator, country, orbit class, status, COSPAR, or NORAD id. Joined to the resolved operator entity. Use for 'what does SpaceX have in LEO?', 'find NORAD 44713', or building an operator's fleet.

Input parameters:

- `cospar` (string): COSPAR / international designator (exact match)
- `country` (string): Operator country code (exact match)
- `entity_id` (string): Filter by resolved operator entity UUID
- `limit` (integer): Max results (default 50, max 500)
- `name` (string): Substring match on satellite name
- `norad` (string): NORAD catalog id (integer)
- `operator` (string): Substring match on operator name (e.g. SpaceX); note many rows use a country code (US, CIS, PRC) as the operator
- `orbit_class` (string): Orbit class (e.g. LEO, MEO, GEO)
- `status` (string): Orbital status (e.g. active, decayed)

### `search_screening` (~155 tokens)

Check entities against consolidated sanctions / export-control screening lists (OFAC SDN, BIS Entity List, ITAR Debarred, etc.). Filter by entity, name, list source, or minimum match similarity. Use for compliance / due-diligence questions.

Input parameters:

- `entity_id` (string): Filter by resolved entity UUID
- `limit` (integer): Max results (default 50, max 500)
- `list` (string): Substring match on screening list source (e.g. SDN, Entity List, ITAR)
- `min_similarity` (string): Minimum match similarity 0-1 (e.g. 0.9)
- `name` (string): Substring match on entity or matched name

### `search_sec_filings` (~181 tokens)

Search SEC filings for tracked space companies (8-K material events, 10-Q, 10-K). Filter by ticker, CIK, company name, resolved entity, form type, or date. Use for financial signals — e.g. recent 8-Ks for a satellite operator.

Input parameters:

- `cik` (string): SEC CIK number
- `company` (string): Substring match on company name
- `entity_id` (string): Filter by resolved entity UUID
- `form_type` (string): SEC form type (e.g. 8-K, 10-Q, 10-K)
- `limit` (integer): Max results (default 50, max 500)
- `since` (string): Only filings on/after this date (YYYY-MM-DD)
- `ticker` (string): Company ticker (e.g. ASTS)

### `search_semantic` (~145 tokens)

Semantic vector search across filing text using natural language. Uses nomic-embed-text-v1.5 embeddings to find filings by meaning, not just keywords. Note: FCC filings have limited embedding coverage — use search_filings for FCC keyword search.

Input parameters:

- `agency` (string): Filter by source agency
- `filed_after` (string): Minimum filed date (YYYY-MM-DD)
- `filed_before` (string): Maximum filed date (YYYY-MM-DD)
- `limit` (integer): Max results (default 10, max 50)
- `min_similarity` (number): Minimum cosine similarity threshold (default 0.5)
- `query` (string, required): Natural language search query

### `search_spectrum` (~188 tokens)

Find which entities hold a frequency band. Given a range in MHz, returns spectrum allocations overlapping it, joined to the source filing and applicant — e.g. 'who is allocated 11700-12200 MHz downlink?'. Filter by agency, direction, polarization, or holder name.

Input parameters:

- `agency` (string): Filter by source agency (FCC, ITU, ...)
- `direction` (string): Filter by direction (e.g. uplink, downlink)
- `freq_high_mhz` (string): Upper bound of the band to search, in MHz
- `freq_low_mhz` (string): Lower bound of the band to search, in MHz
- `holder` (string): Substring match on the allocation holder (applicant entity)
- `limit` (integer): Max results (default 50, max 500)
- `polarization` (string): Filter by polarization

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/viventine-space-orbit-sentinel-mcp/ghcr-io-viventine-space-orbit-sentinel-mcp-0-6-3#diagnostics

## Score history

- 2026-08-03: 39
- 2026-08-02: 39
- 2026-08-01: 39
- 2026-07-31: 44
- 2026-07-30: 44
- 2026-07-29: 44
- 2026-07-28: 11

## Links

- Repository: https://github.com/viventine-space/orbit-sentinel-mcp
- Website: https://viventine.com/orbit-sentinel/
- Changelog RSS feed: https://verifymcp.io/servers/viventine-space-orbit-sentinel-mcp/ghcr-io-viventine-space-orbit-sentinel-mcp-0-6-3/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/viventine-space-orbit-sentinel-mcp/ghcr-io-viventine-space-orbit-sentinel-mcp-0-6-3/changelog.json
- HTML version of this page: https://verifymcp.io/servers/viventine-space-orbit-sentinel-mcp/ghcr-io-viventine-space-orbit-sentinel-mcp-0-6-3
