protogrid

Search / com.firmtape/geopolitical-osint

FirmTape Geo - public records of world events

R1· needs a key

Geopolitical OSINT: sanctions, NOTAMs, maritime warnings, outages, conflict records with sources

v1.0.0 · active · website · descriptor JSON · versions

An agent can connect on its own if it already holds GEOPOLITICAL_OSINT_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality79good
Trust79of 100
Uptime, 30 days96%
Latency p50197 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "geopolitical-osint": {
      "type": "http",
      "url": "https://geo.firmtape.com/mcp",
      "headers": {
        "Authorization": "Bearer ${GEOPOLITICAL_OSINT_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http geopolitical-osint https://geo.firmtape.com/mcp --header "Authorization: Bearer ${GEOPOLITICAL_OSINT_TOKEN}"
[mcp_servers.geopolitical-osint]
url = "https://geo.firmtape.com/mcp"
bearer_token_env_var = "GEOPOLITICAL_OSINT_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "geopolitical-osint": {
      "type": "remote",
      "url": "https://geo.firmtape.com/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:GEOPOLITICAL_OSINT_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "geopolitical-osint": {
      "type": "http",
      "url": "https://geo.firmtape.com/mcp",
      "headers": {
        "Authorization": "Bearer ${GEOPOLITICAL_OSINT_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=geopolitical-osint&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ2VvLmZpcm10YXBlLmNvbS9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIgJHtHRU9QT0xJVElDQUxfT1NJTlRfVE9LRU59In19"
}
{
  "servers": {
    "geopolitical-osint": {
      "type": "http",
      "url": "https://geo.firmtape.com/mcp",
      "headers": {
        "Authorization": "Bearer ${GEOPOLITICAL_OSINT_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "geopolitical-osint": {
      "httpUrl": "https://geo.firmtape.com/mcp",
      "headers": {
        "Authorization": "Bearer ${GEOPOLITICAL_OSINT_TOKEN}"
      }
    }
  }
}
extensions:
  "geopolitical-osint":
    enabled: true
    name: "geopolitical-osint"
    type: streamable_http
    uri: "https://geo.firmtape.com/mcp"
    headers:
      "Authorization": "Bearer ${GEOPOLITICAL_OSINT_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${GEOPOLITICAL_OSINT_TOKEN}. The registry never accepts secret values.

Quality 79 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: geo_sources (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); geo_records (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); geo_coverage (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 1,926 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes1 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

8 tools, about 1,926 tokens to load them all · tool set 5530c623e629 · tools last changed 2026-10-19 · checked 2026-10-19 13:05 UTC

Tool changes

  • geo_sitesadded

    Named energy sites and ports watched from orbit: refineries, oil terminals, LNG plants and fuel depots in Russia, Crimea and the Middle East, and ten oil ports. Without id, every site with its last thermal anomaly, its latest dated Sentinel-2 view and, for a port, its latest week of radar vessel counts. With id, one site in full: its thermal anomalies, its views (latest, and before and after each anomaly), 90 days of NASA FIRMS readings, and a port's weekly occupancy against its own normal. A thermal anomaly says a site read hotter than its own normal, never what caused it; a view is not evidence of damage.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 79 / 100

no-repository
provenance55
liveness98
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-96% ~updated-32d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://geo.firmtape.com/mcp streamable-httpapi_key ${GEOPOLITICAL_OSINT_TOKEN}yes96%197 ms2025-11-252026-10-19

Tools (8)

geo_activityRecords per UTC day for a filter, and the median of the complete days before the last one, so a window can be read against its own normal. The day still being filled is returned apart and never averaged. Any feed that was switched on inside the window is named, because a rise that is only new feeds is not a busier world.
geo_coverageWhich countries the archive names in a window, with record and notable counts and the time of the last one, most notable first. Use it to pick a country before calling geo_snapshot or geo_records, instead of guessing one. A record naming several countries counts in each of them.
geo_latencyHow long after a source published a record it reached us, per feed: the median, the 90th percentile and the worst case in seconds, over a window of up to 90 days. Rows found later in a source's own history are stamped backfill and counted apart rather than averaged in. Where publication_time_is_ours is true the source publishes no time of its own, so the record is stamped when we read it and the lag is zero by construction, not by speed. This measures our collection, not the news: almost every record here is public the minute it is published, and this product never claims to be ahead of the market.
geo_recordsThe records themselves, newest first: government advisories and sanctions, flight restrictions, maritime warnings, internet and grid outages, conflict, disaster and attention records. Up to a year back, each with its source, its link, its publication time and the time we first saw it, all UTC. Ask for one exact record with uid. For how many rather than which, call geo_activity; for one country in one call, geo_snapshot. Context, never a trading signal.
geo_seriesThe measured series for one country: aircraft overhead, military aircraft and degraded GPS by theatre, ships at sea in the Baltic and Norwegian areas our own AIS collectors watch hourly, ship transits through its chokepoints, routed IPv4 address space, fire clusters, night lights, PLA sorties around Taiwan and reading attention. Each carries its recent points, its own normal, the ratio between them, and normal_ready, which is false while the baseline is still too short to mean anything. A ratio is withheld with ratio_note where the normal is too small to divide by, as it is for the chokepoints that pass two or three ships a day.
geo_sitesNamed energy sites and ports watched from orbit: refineries, oil terminals, LNG plants and fuel depots in Russia, Crimea and the Middle East, and ten oil ports. Without id, every site with its last thermal anomaly, its latest dated Sentinel-2 view and, for a port, its latest week of radar vessel counts. With id, one site in full: its thermal anomalies, its views (latest, and before and after each anomaly), 90 days of NASA FIRMS readings, and a port's weekly occupancy against its own normal. A thermal anomaly says a site read hotter than its own normal, never what caused it; a view is not evidence of damage.
geo_snapshotOne country in one call: its record counts by sector and by feed, its notable records, and every measured series that speaks about it against its own normal. This is geo_records, geo_activity and geo_series for a single country, counted, not written: no narrative, no score and no forecast.
geo_sourcesEvery feed behind the records: its id, its sector, when it last answered, its failure streak, and how many records it has in the served history. Read this before trusting a quiet window, because a feed that stopped answering is not a world that went calm. For how late each feed's records arrive, call geo_latency.

Schemas: list_tools.

More from com.firmtape

Official server.json
{
  "name": "com.firmtape/geopolitical-osint",
  "icons": [
    {
      "src": "https://firmtape.com/icon-512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://firmtape.com/icon.svg",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    }
  ],
  "title": "FirmTape Geo - public records of world events",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://geo.firmtape.com/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer gk_... key from a FirmTape Geo API or Team plan (firmtape.com/geo/pricing)"
        }
      ]
    }
  ],
  "version": "1.0.0",
  "websiteUrl": "https://firmtape.com/geo",
  "description": "Geopolitical OSINT: sanctions, NOTAMs, maritime warnings, outages, conflict records with sources"
}