@munispot/mcp
# @munispot/mcp
MCP server for **MuniSpot** — query financial health scores, budgets, debt levels, and economic indicators for 20,000+ US municipalities.
## Quick Start
### Option 1: Streamable HTTP (recommended)
Add to your MCP client config (Claude Desktop, Cursor, etc.):
```json
{
"mcpServers": {
"munispot": {
"url": "https://www.munispot.com/api/mcp",
"headers": {
"X-API-Key": "ms_live_your_key_here"
}
}
}
}
```
### Option 2: stdio (via npx)
```json
{
"mcpServers": {
"munispot": {
"command": "npx",
"args": ["-y", "@munispot/mcp"],
"env": {
"MUNISPOT_API_KEY": "ms_live_your_key_here"
}
}
}
}
```
## Getting an API Key
1. Sign up at [munispot.com](https://www.munispot.com)
2. Create an API key at `/account/api-keys`
Free-tier keys (100 calls/month) work for every tool except `get_financials`, which needs **API Professional** (see `/pricing`).
## Tools
| Tool | Description | Tier |
|------|-------------|------|
| `search_municipalities` | Search by name, state, sector, score range, population | All |
| `get_municipality` | Detailed profile with full MuniScore breakdown | All |
| `get_financials` | ACFR line items (balance sheet, income, obligations) | Pro+ |
| `get_scores_history` | MuniScore across all fiscal years | All |
| `compare_municipalities` | Side-by-side comparison of 2-10 entities | All |
| `get_economy` | Economic/demographic data by EIN, CBSA, or state | All |
## Examples
Ask your AI assistant:
- "Find Ohio cities with a MuniScore below 50"
- "Compare Austin TX and Denver CO finances"
- "Show me the debt-to-revenue trend for Phoenix"
- "What's the poverty rate in the Phoenix metro area?"
## License
MIT
TDQS
Scored across 6 tools
Each tool targets a clear sub-resource: search (by name/filter), get_municipality (by EIN), compare (multi-entity), plus three data-domain getters (economy, financials, score history). The only soft overlap is that get_municipality's 'detailed profile' could plausibly subsume get_economy or get_scores_history, but the other descriptions are specific enough to steer selection.
All six tools follow a consistent snake_case verb_noun pattern (get_*, search_*, compare_*), with nouns that clearly identify the resource being fetched. No mixed conventions or vague verbs.
Six tools is a tight, well-scoped surface for a municipal-data API: one discovery tool, one entity lookup, one comparison, and three domain-specific data getters. Nothing looks redundant or padded.
The read-oriented surface covers discovery, single-entity detail, comparison, financials, economic/demographic data, and score trends across fiscal years, which handles most analytics workflows. Minor gaps exist: no way to enumerate available sectors/fiscal years or score components, and no bulk export, but agents can work around these.