Skip to main content
Glama
EricGrill

Civic Data MCP Server

by EricGrill

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
API_TIMEOUTNoRequest timeout in seconds30
NASA_API_KEYNoOptional API key for NASA APIs to get higher rate limits (1000/hr vs 30/hr)
OPENWEATHER_API_KEYNoAPI key for OpenWeather to enable global weather conditions. Get a free key at https://openweathermap.org/api

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_weather_forecastA

Get weather forecast for a US location by coordinates.

Args:
    latitude: Latitude of the location (e.g., 38.8894 for Washington DC)
    longitude: Longitude of the location (e.g., -77.0352 for Washington DC)

Returns:
    Current conditions and 7-day forecast from NOAA
get_weather_alertsA

Get active weather alerts for a US state.

Args:
    state: Two-letter state code (e.g., 'CA', 'TX', 'NY')

Returns:
    List of active weather alerts for the state
get_global_weatherA

Get current weather for any city worldwide (requires OPENWEATHER_API_KEY).

Args:
    city: City name (e.g., 'London', 'Tokyo', 'Paris')
    country_code: Optional 2-letter country code (e.g., 'GB', 'JP', 'FR')

Returns:
    Current weather conditions for the city
query_noaaB

Make a raw query to the NOAA Weather API.

Args:
    endpoint: API endpoint path (e.g., '/points/38.8894,-77.0352', '/alerts/active')
    params: Optional query parameters as a dictionary

Returns:
    Raw JSON response from NOAA API
query_openweatherA

Make a raw query to the OpenWeather API (requires OPENWEATHER_API_KEY).

Args:
    endpoint: API endpoint (e.g., '/data/2.5/weather', '/data/2.5/forecast')
    params: Query parameters (appid will be added automatically)

Returns:
    Raw JSON response from OpenWeather API
get_populationA

Get population data for a US state or county.

Args:
    state: Two-letter state code (e.g., 'CA', 'TX') or state FIPS code
    county: Optional county name or FIPS code

Returns:
    Population statistics from the American Community Survey
get_demographicsA

Get demographic breakdown for a US state or county.

Args:
    state: Two-letter state code (e.g., 'CA', 'TX')
    county: Optional county FIPS code (3 digits)

Returns:
    Age, race, and income demographics from the American Community Survey
get_housing_statsB

Get housing statistics for a US state or county.

Args:
    state: Two-letter state code (e.g., 'CA', 'TX')
    county: Optional county FIPS code (3 digits)

Returns:
    Housing data including median values, rent, and vacancy rates
query_censusA

Make a raw query to the Census API.

Args:
    dataset: Dataset path (e.g., 'acs/acs5', 'dec/pl')
    variables: List of variable codes to retrieve
    geo: Geography specification (e.g., 'state:06', 'county:*&in=state:06')
    year: Data year (default: 2022)

Returns:
    Raw JSON response from Census API
get_astronomy_photoA

Get NASA's Astronomy Picture of the Day (APOD).

Args:
    date: Optional date in YYYY-MM-DD format (default: today)

Returns:
    Title, explanation, and URL of the astronomy picture
get_mars_rover_photosA

Get photos from Mars rovers (Curiosity, Opportunity, Spirit, Perseverance).

Args:
    rover: Rover name: 'curiosity', 'opportunity', 'spirit', or 'perseverance'
    sol: Martian sol (day) number
    earth_date: Earth date in YYYY-MM-DD format (alternative to sol)
    camera: Optional camera name (e.g., 'FHAZ', 'RHAZ', 'MAST', 'NAVCAM')

Returns:
    List of photo URLs from the specified rover
search_nasa_imagesB

Search NASA's image and video library.

Args:
    query: Search terms (e.g., 'apollo 11', 'mars', 'hubble')
    media_type: Type of media: 'image', 'video', or 'audio'

Returns:
    Search results with titles, descriptions, and URLs
query_nasaC

Make a raw query to the NASA API.

Args:
    endpoint: API endpoint (e.g., '/planetary/apod', '/neo/rest/v1/feed')
    params: Query parameters (api_key will be added automatically)

Returns:
    Raw JSON response from NASA API
get_country_indicatorsB

Get economic indicators for a country from the World Bank.

Args:
    country: Country code (e.g., 'USA', 'CHN', 'IND', 'BRA') or name
    indicators: Optional list of indicator codes. Defaults to GDP, population, poverty.

Returns:
    Economic indicators for the specified country
compare_countriesB

Compare an economic indicator across multiple countries.

Args:
    countries: List of country codes (e.g., ['USA', 'CHN', 'IND'])
    indicator: World Bank indicator code (default: GDP)

Returns:
    Comparison table of the indicator across countries
query_worldbankB

Make a raw query to the World Bank API.

Args:
    country: Country code (e.g., 'USA', 'all')
    indicator: World Bank indicator code (e.g., 'NY.GDP.MKTP.CD')
    params: Additional query parameters

Returns:
    Raw JSON response from World Bank API
search_datasetsA

Search for datasets on Data.gov.

Args:
    query: Search terms (e.g., 'climate', 'census', 'health')
    rows: Number of results to return (default: 10, max: 50)

Returns:
    List of matching datasets with titles and descriptions
get_dataset_infoB

Get detailed information about a specific Data.gov dataset.

Args:
    dataset_id: The dataset ID (from search results)

Returns:
    Detailed metadata and download links for the dataset
query_datagovC

Make a raw query to the Data.gov CKAN API.

Args:
    action: CKAN action (e.g., 'package_search', 'package_show', 'group_list')
    params: Query parameters for the action

Returns:
    Raw JSON response from Data.gov API
search_eu_datasetsB

Search for datasets on the European Union Open Data Portal.

Args:
    query: Search terms (e.g., 'environment', 'economy', 'transport')
    limit: Number of results to return (default: 10, max: 50)

Returns:
    List of matching EU datasets with titles and descriptions
get_eu_dataset_infoC

Get detailed information about a specific EU Open Data dataset.

Args:
    dataset_id: The dataset ID (from search results)

Returns:
    Detailed metadata and distribution links for the dataset
query_eu_dataC

Make a raw query to the EU Open Data Portal API.

Args:
    endpoint: API endpoint (e.g., '/datasets', '/catalogues')
    params: Query parameters

Returns:
    Raw JSON response from EU Open Data API

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 22 tools

Disambiguation3/5

Tools are grouped by data source and purpose, but there is significant overlap. For example, get_country_indicators and compare_countries both use World Bank data, and get_weather_forecast and get_global_weather both provide weather information. Descriptions help clarify, but an agent might struggle to choose between overlapping tools like query_nasa and get_astronomy_photo.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., get_country_indicators, search_datasets, query_census). However, there are minor deviations, such as compare_countries (verb_noun but not 'get' or 'query') and get_astronomy_photo (abbreviated 'photo' instead of 'picture'). Overall, the naming is readable and predictable.

Tool Count2/5

With 22 tools, the count feels heavy for a 'Civic Data' server, as it spans multiple unrelated domains like astronomy, Mars photos, and global weather. This suggests a lack of focus; a more cohesive set might have 10-15 tools centered on government or economic data. The broad scope makes the toolset overwhelming and less coherent.

Completeness3/5

For each data source (e.g., World Bank, NASA, NOAA), there is basic coverage with get/search/query tools, but gaps exist. For instance, there are no update or delete operations, which is reasonable for read-only data, but some domains lack comprehensive endpoints (e.g., limited NASA tools beyond APOD and images). The surface is functional but not fully rounded for all implied use cases.

Maintenance

ActivityInactive
ResponsivenessSlow