Skip to main content
Glama
README.md
# @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

A3.6/5.0

Scored across 6 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues