MCP Quickstart
Connect your AI assistant to PrairieCloud and start querying U.S. Census data with natural language — no code required.
What is MCP?
The Model Context Protocol (MCP) is an open standard that lets AI assistants like Claude, Cursor, and Windsurf call external tools directly. Instead of writing API integration code, you ask a question in plain English and your AI assistant fetches the data for you — using PrairieCloud's Census data under the hood.
Prerequisites
Before you start, you need:
- A PrairieCloud API key on a paid plan (Pioneer, Pro, Business, or Enterprise). MCP access is not available on the Free tier. Sign up or upgrade →
- An MCP-compatible AI assistant — Claude Desktop, Cursor, Windsurf, or any client that supports Streamable HTTP.
Paid-plan access to the MCP server and geography workflow access are related, but not identical:
- MCP connection access: Pioneer, Pro, Business, Enterprise
- Direct tract/block group data lookup via MCP: Any MCP-enabled plan when you provide a specific FIPS/name
- Tract wildcard or inline-geometry workflows via MCP: Pro+
- Block group wildcard or inline-geometry workflows via MCP: Business+
MCP access requires a paid plan. If you're on the Free tier, you'll get a 403 error when your AI assistant tries to use PrairieCloud tools. Upgrade your plan →
Step 1: Get Your API Key
- Sign in to your PrairieCloud Dashboard
- Navigate to API Keys and copy your key (starts with
pck_live_) - Make sure you're on a paid plan — Pioneer ($19/mo), Pro ($49/mo), Business ($299/mo), or Enterprise. If you need tract-level queries, use Pro or higher. If you need block-group queries, use Business or Enterprise.
Your API key grants access to your PrairieCloud account. Don't share it or commit it to version control.
Step 2: Connect Your AI Assistant
- Claude Desktop
- Cursor
- Windsurf
- Other Clients
Claude Desktop connects to remote MCP servers through the Connectors UI — not the JSON config file.
- Open Claude Desktop → Settings → Connectors
- Click "Add custom connector" at the bottom
- Enter a name:
PrairieCloud Census API - Enter the URL (replace
YOUR_API_KEYwith your actualpck_live_key):https://mcp.prairiecloud.io/mcp?api_key=YOUR_API_KEY - Leave OAuth Client ID and OAuth Client Secret blank
- Click Add
Claude Desktop does not support remote MCP servers via the JSON config file (claude_desktop_config.json). Remote servers must be added through the Connectors UI. The config file only works for local (stdio) servers.
Your API key is included in the URL as a query parameter. Claude Desktop sends this over HTTPS, so it's encrypted in transit. Don't share your connector URL with anyone.
Add PrairieCloud to your .cursor/mcp.json file:
{
"mcpServers": {
"prairiecloud": {
"url": "https://mcp.prairiecloud.io/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Replace YOUR_API_KEY with your actual PrairieCloud API key (starts with pck_live_).
Add PrairieCloud to Windsurf's MCP configuration:
{
"mcpServers": {
"prairiecloud": {
"serverUrl": "https://mcp.prairiecloud.io/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Replace YOUR_API_KEY with your actual PrairieCloud API key (starts with pck_live_).
Any MCP client that supports Streamable HTTP (JSON-RPC 2.0 over HTTPS) can connect to PrairieCloud.
Connection details:
- URL:
https://mcp.prairiecloud.io/mcp - Auth (preferred): Set the
Authorizationheader toBearer pck_live_xxxxx - Auth (fallback): Append
?api_key=pck_live_xxxxxto the URL — use this for clients that can't send custom headers
Replace pck_live_xxxxx with your actual API key.
Use the Authorization header if your client supports custom headers (most do). Use the query parameter only if your client doesn't support custom headers — for example, Claude Desktop's connector UI.
Step 3: Verify the Connection
After connecting, look for PrairieCloud's tools in your AI assistant. In Claude Desktop, click the tools icon (🔧) in the chat input area. You should see 8 tools:
get_census_datacompare_geographiesget_timeseriessearch_variablessearch_geographieslist_topicslist_datasetsgeocode
If you see these tools, you're connected.
Step 4: Try It Out
Start a new conversation and try these example prompts:
Simple data lookup
What's the population of Texas?
Your AI assistant will call get_census_data with variables="pop_total" and geo="state:TX" and return the latest ACS estimate.
Compare locations
Compare median household income in California vs New York
It will use compare_geographies to pull income data for both states and present a side-by-side comparison.
Trends over time
How has the poverty rate changed in Harris County, TX since 2015?
It will call get_timeseries to get poverty rate data across vintages and describe the trend.
Explore available data
What education-related variables are available?
It will use search_variables to find variables related to education — like bachelor's degree attainment, school enrollment, and educational levels.
Location-based queries
What's the median household income near downtown Austin?
It will call geocode first, then use the returned Census geography for the data lookup. Direct lookups for the returned tract or block group are available on MCP-enabled plans; if you ask for wildcard expansion or inline geometry, tier gates still apply.
What Census tract contains 1600 Pennsylvania Ave, Washington DC?
It will call geocode with the address and return the containing tract (tract:11001006202) along with all other Census geographies at that location.
Available Tools
PrairieCloud exposes 8 tools through MCP:
| Tool | What it does |
|---|---|
get_census_data | Retrieve Census data for specific variables and geographies |
compare_geographies | Compare the same variables across multiple locations side-by-side |
get_timeseries | Get historical data for a variable across multiple years |
search_variables | Search for available variables by keyword |
search_geographies | Look up geographies by name to find the correct geo key |
list_topics | List all 9 data topics (core, demographics, economics, environment, equity, health, housing, social, transport) |
list_datasets | List available datasets and their vintage ranges |
geocode | Resolve an address or lat/lng to all containing Census geographies |
For full parameter details and example responses, see the MCP Tool Reference.
How It Works
You ask your AI assistant a question
→ It picks the right PrairieCloud tool
→ Tool calls the PrairieCloud API with your API key
→ API returns Census data
→ Your AI assistant interprets the data and answers your question
MCP tool calls consume the same monthly request quota as REST API calls. One tool call = one API request. Your plan still controls wildcard expansion, boundary access, inline geometry, CSV export, and request limits after the MCP connection succeeds. Check your usage at dashboard.prairiecloud.io.
Troubleshooting
"MCP access requires a paid plan"
You're on the Free tier. MCP requires Pioneer ($19/mo), Pro ($49/mo), Business ($299/mo), or Enterprise. Upgrade →
Tools don't appear in Claude Desktop
- Make sure you added PrairieCloud via Settings → Connectors (not the JSON config file). Remote MCP servers must be added through the Connectors UI.
- Verify the URL is exactly
https://mcp.prairiecloud.io/mcp?api_key=YOUR_KEYwith your actual API key. - Try removing and re-adding the connector.
"Not a valid MCP server configuration" in Claude Desktop
This error means you're trying to add a remote MCP server via claude_desktop_config.json. Claude Desktop only supports local (stdio) servers via the config file. For remote servers like PrairieCloud, use Settings → Connectors → Add custom connector.
"Invalid API key" or 401 errors
- Confirm your key starts with
pck_live_ - Check that the key hasn't been revoked in your dashboard
- Make sure there are no extra spaces or line breaks in the key
- If using Claude Desktop, verify the API key in your connector URL is correct
Connection timeout
- Check status.prairiecloud.io for any ongoing incidents
- If you're behind a corporate firewall, ensure outbound HTTPS to
mcp.prairiecloud.iois allowed
"Rate limit exceeded"
Your monthly quota is used up. MCP calls share the same quota as REST API calls. Check your usage at dashboard.prairiecloud.io or wait for your billing cycle to reset.
"Session expired"
MCP sessions expire after 30 minutes of inactivity or 4 hours total. Start a new conversation in your AI assistant to reconnect.
Next Steps
- MCP Tool Reference — Full parameter docs and example responses for all 8 tools
- Data Guide — Understand datasets, vintages, and variable naming
- API Reference — REST API docs if you prefer code-based access