Statesman MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STATESMAN_API_KEY | No | Optional API key / Bearer token for the Statesman API. | |
| STATESMAN_API_URL | No | Statesman API base URL. | http://localhost:3000/api/v1 |
| STATESMAN_TIMEOUT_MS | No | Request timeout in milliseconds. | 60000 |
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": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchB | Unified cross-catalog semantic or keyword search across sovereign countries and strategic cities in the Statesman comparative geopolitics manifold. |
| find_counterpartsC | Find nearest geopolitical or urban counterparts to a specified country or city using 1024-dimensional pgvector cosine distance. |
| list_continentsA | List world continents registered in Statesman with sovereign country counts. |
| get_continentA | Retrieve details of a single continent including its sovereign countries. |
| create_continentC | Create a new continent record in the catalog. |
| update_continentC | Update an existing continent's name or description. |
| delete_continentB | Delete a continent and its cascaded countries and cities. |
| upsert_continents_batchA | Batch insert or update continents matching case-insensitively on name. |
| populate_continentsC | Trigger LLM discovery to populate all 7 standard continents with geopolitical descriptions. |
| populate_continent_countriesC | Discover and populate sovereign countries for a specific continent via LLM generation. |
| list_countriesC | List and filter sovereign countries with statecraft themes, city counts, and vector embedding status. |
| get_countryA | Retrieve full profile of a sovereign country including continent, thematic statecraft tags, and strategic cities. |
| create_countryC | Create a new sovereign country record associated with a continent. |
| update_countryC | Update an existing country's attributes, continent, or thematic tags. |
| delete_countryB | Delete a country and its cascaded strategic cities. |
| upsert_countries_batchC | Batch insert or update sovereign countries scoped to a specific continent. |
| generate_country_embeddingC | Calculate 1024-dimensional vector embedding for a country using the configured embedding model. |
| populate_country_citiesC | Discover and generate 8-10 strategic cities for a country via LLM extraction. |
| populate_countries_bulkB | Trigger bulk LLM country discovery across all continents or a single continent. |
| list_citiesC | List and filter strategic urban power centers with civic/economic themes and embedding metadata. |
| get_cityB | Retrieve details of a strategic city including its structured themes and associated country/continent. |
| create_cityC | Create a new strategic city record associated with a sovereign country. |
| update_cityC | Update an existing city's attributes, country, or thematic tags. |
| delete_cityC | Delete a city record. |
| upsert_cities_batchC | Batch insert or update strategic cities scoped to a specific country. |
| generate_city_embeddingC | Calculate 1024-dimensional vector embedding for a city record. |
| populate_cities_bulkB | Trigger bulk LLM city discovery across all countries or a single country. |
| compute_clustersA | Compute live connected-components vector clusters for Countries or Cities across continents without modifying the database. |
| create_cluster_snapshotA | Compute connected-components clustering and freeze it immediately into an immutable database snapshot. |
| list_cluster_snapshotsC | List frozen archetype cluster snapshots. |
| get_cluster_snapshotC | Retrieve details of a frozen cluster snapshot including member groups and generated reports. |
| delete_cluster_snapshotB | Delete a frozen cluster snapshot along with its cascaded cluster groups and synthesis reports. |
| list_cluster_groupsB | List all archetype cluster groups belonging to a specific frozen snapshot. |
| get_cluster_groupA | Retrieve details of a specific archetype cluster group with all member countries or cities. |
| list_cluster_reportsC | List generated multi-phase comparative geopolitics and urban power synthesis reports. |
| get_cluster_reportB | Retrieve complete scholarly report content, progress percentage, markdown monograph, and intermediate summaries. |
| create_cluster_reportB | Initiate a 2-Phase Map-Reduce synthesis report on a frozen cluster snapshot. |
| delete_cluster_reportA | Delete a synthesis report along with its intermediate summaries and sub-reports. |
| generate_deep_synthesisB | Initiate a 3-Phase Hierarchical Deep Synthesis monograph, reusing Phase 1 summaries from a completed parent report. |
| list_report_summariesB | List all Phase 1 per-cluster analyses belonging to a synthesis report. |
| get_report_summaryC | Retrieve a single Phase 1 per-cluster scholarly summary. |
| list_report_sub_reportsB | List all Phase 2 intermediate batch analyses belonging to a detailed synthesis report. |
| get_report_sub_reportC | Retrieve a single Phase 2 batch analysis. |
| list_jobsB | List recent asynchronous background jobs (embedding calculations, LLM discoveries, synthesis reports). |
| get_job_statusB | Check the status, progress, and result of an ActiveJob/Sidekiq background task. |
| wait_for_jobA | Poll a background job until completion or failure with configurable timeout. |
| get_platform_statusA | Get overall platform health, catalog entity counts, embedding coverage stats, and active LLM configuration. |
| get_settingsB | Get embedding completion metrics for Countries and Cities, active embedding/LLM parameters, and context window presets. |
| update_context_windowC | Dynamically update the active LLM context window token size. |
| trigger_bulk_embeddingsB | Enqueue bulk embedding generation for all Countries or Cities. |
| get_openapi_specB | Retrieve the raw OpenAPI 3.1 specification for the Statesman API. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| comparative_statecraft_analysis | Prompt template for comparing two sovereign countries or strategic cities across continents using statecraft attributes, urban power networks, and semantic manifold distance. |
| geopolitical_cluster_synthesis | Prompt template to draft an academic geopolitical treatise based on Statesman archetype clusters and frozen snapshots. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| platform-status | |
| continents-catalog |
TDQS
Scored across 51 tools
Most tools map to distinct resources and actions, but several clusters overlap: populate_* versus bulk discovery versus batch upserts, and compute_clusters versus create_cluster_snapshot versus cluster reports. search and find_counterparts are also adjacent enough to require careful selection. Descriptions help, but the tool surface has multiple blurry boundaries.
The set is overwhelmingly consistent snake_case with verb_noun or verb_noun_qualifier patterns such as list_countries, create_city, and delete_cluster_snapshot. Minor deviations exist in the bare 'search' tool and compound names like generate_deep_synthesis, but the convention is still highly readable.
At 51 tools, the server is heavily over-scoped relative to a comparative geopolitics catalog. Many operations could be consolidated into generic entity CRUD, batch, embedding, synthesis, and job-management tools rather than exposing separate tools for every phase and sub-report type.
The surface covers the full lifecycle for continents, countries, cities, cluster snapshots, cluster groups, reports, summaries, jobs, settings, and embeddings. It includes create/read/update/delete, batch upserts, vector generation, synthesis workflows, polling, and platform introspection, so no obvious operational gap remains.