Skip to main content
Glama
CBLU2005

US Government Data

us-govdata-mcp

Servidor MCP para datos del gobierno de EE. UU. — busca permisos de construcción, oportunidades de contratos federales (SAM.gov) y el registro nacional de proveedores de atención médica (NPI/NPPES) desde Claude, Cursor o cualquier cliente del Model Context Protocol.

CBLU2005/us-govdata-mcp MCP server

License: MIT Node >= 18

Las tres fuentes de datos son publicaciones oficiales del gobierno (portales de datos abiertos de ciudades, el extracto público de SAM.gov, la API CMS NPPES) — sin scraping HTML, sin inicios de sesión, sin selectores frágiles. El trabajo pesado lo realizan tres actores de producción de Apify que se ejecutan en tu propia cuenta de Apify.

Pruébalo en 30 segundos — sin cuenta, sin cargo

Antes de decidir si esto vale la pena un token de API, ejecútalo sin ninguno:

{
  "mcpServers": {
    "us-govdata": {
      "command": "npx",
      "args": ["-y", "github:CBLU2005/us-govdata-mcp"],
      "env": { "APIFY_DRY_RUN": "1" }
    }
  }
}

Esa es toda la configuración. En modo de prueba en seco, cada herramienta devuelve registros de muestra realistas más la solicitud exacta a la API de Apify que habría enviado — para que puedas ver la forma real de los datos, confirmar que tu agente llama a las herramientas correctamente y leer la divulgación de precios en la descripción de cada herramienta, sin crear una cuenta, pegar un token ni gastar nada.

Pregunta a tu agente algo como "encuentra permisos de construcción de más de $500k emitidos en Austin este mes" y observa la llamada a la herramienta de principio a fin. Cuando quieras datos en vivo, elimina la línea APIFY_DRY_RUN y agrega un APIFY_TOKEN (abajo).

Related MCP server: PubRecords MCP

Herramientas

Herramienta

Qué busca

Filtros típicos

Precio*

search_building_permits

Permisos de construcción de 10 fuentes oficiales de datos abiertos de ciudades/condados (NYC, Chicago, LA, Austin, SF, Nueva Orleans, Baton Rouge, Montgomery Co. MD, Norfolk VA) — tipo de permiso, estado, valoración, nombre/licencia del contratista

ciudades, rango de fechas de emisión, tipo de permiso, texto completo, valoración mínima

$0.005 / registro

search_federal_contract_opportunities

RFPs federales, solicitudes, avisos de búsqueda de fuentes y adjudicaciones de SAM.gov — con correos electrónicos y teléfonos de oficiales de contratación

palabra clave, NAICS, tipo de aviso, reserva (8A, WOSB, HUBZone...), agencia, estado, fechas

$0.004 / registro

search_healthcare_providers

El registro oficial CMS NPI de más de 8 millones de proveedores y organizaciones de atención médica de EE. UU. — especialidad, licencia, teléfono/fax de práctica, funcionarios autorizados

especialidad, estado, ciudad, código postal (comodines), nombre del proveedor/organización

$0.002 / registro

* Divulgación honesta de precios: estas herramientas ejecutan actores de Apify de pago por resultado publicados por CBLU. Tu cuenta de Apify se cobra solo por los registros realmente devueltos — no hay suscripciones ni tarifas de inicio. Cada herramienta tiene un valor predeterminado de 25 resultados por llamada, por lo que una llamada típica cuesta una fracción de un centavo (25 permisos ≈ $0.13; 25 avisos de contratos ≈ $0.10; 25 proveedores ≈ $0.05). El plan gratuito de Apify incluye crédito mensual de plataforma, que es suficiente para usar estas herramientas de manera casual sin costo. Páginas de actores con detalles completos de precios:

Inicio rápido

1. Obtén un token de Apify (gratis, ~2 minutos)

  1. Regístrate en https://console.apify.com/sign-up (el plan gratuito funciona).

  2. Copia tu token de API desde https://console.apify.com/settings/integrations.

El servidor se inicia y enumera sus herramientas sin un token — el token solo se necesita cuando se llama realmente a una herramienta.

2. Añade el servidor a tu cliente MCP

Claude Desktop (claude_desktop_config.json → Configuración → Desarrollador → Editar configuración):

{
  "mcpServers": {
    "us-govdata": {
      "command": "npx",
      "args": ["-y", "github:CBLU2005/us-govdata-mcp"],
      "env": {
        "APIFY_TOKEN": "your_apify_token_here"
      }
    }
  }
}

Claude Code:

claude mcp add us-govdata -e APIFY_TOKEN=your_apify_token_here -- npx -y github:CBLU2005/us-govdata-mcp

Cursor / Windsurf / otros clientes MCP (misma forma que Claude Desktop):

{
  "mcpServers": {
    "us-govdata": {
      "command": "npx",
      "args": ["-y", "github:CBLU2005/us-govdata-mcp"],
      "env": { "APIFY_TOKEN": "your_apify_token_here" }
    }
  }
}

Desde un clon local:

git clone https://github.com/CBLU2005/us-govdata-mcp.git
cd us-govdata-mcp
npm install && npm run build
# then point your client at: node /path/to/us-govdata-mcp/dist/index.js

Docker:

docker build -t us-govdata-mcp .
docker run -i --rm -e APIFY_TOKEN=your_apify_token_here us-govdata-mcp        # stdio
docker run --rm -p 3000:3000 -e APIFY_TOKEN=... us-govdata-mcp --http 3000    # Streamable HTTP

3. Pregunta a tu agente de IA cosas como

  • "Encuentra permisos de construcción para nuevas construcciones de más de $500k emitidos en Austin este mes, con nombres de contratistas."

  • "¿Hay alguna solicitud de ciberseguridad activa reservada para pequeñas empresas con fecha límite de respuesta posterior a hoy? Incluye el correo electrónico del oficial de contratación."

  • "Lista dentistas en el área metropolitana de Miami (ZIP 331) con sus números de teléfono de consulta."*

Transportes

  • stdio (predeterminado) — lo que usan los clientes MCP de escritorio: us-govdata-mcp

  • HTTP transmisible — endpoint sin estado en POST /mcp, verificación de salud en GET /healthz: us-govdata-mcp --http 3000 (o establece MCP_HTTP_PORT=3000)

Variables de entorno

Variable

Requerida

Propósito

APIFY_TOKEN

Para llamadas a herramientas

Tu token de API de Apify. El inicio del servidor y el listado de herramientas funcionan sin él; las llamadas a herramientas devuelven una guía de configuración hasta que se establezca.

APIFY_DRY_RUN

No

Establécelo en 1 para devolver registros de muestra predefinidos sin ninguna llamada de red ni cargo — la respuesta incluye la solicitud exacta a la API de Apify que se habría enviado. Útil para pruebas y CI.

MCP_HTTP_PORT

No

Inicia en modo HTTP transmisible en este puerto en lugar de stdio.

Cómo funciona

Cada herramienta valida sus argumentos (zod), construye la entrada del actor y llama al endpoint run-sync-get-dataset-items de la API de Apify con tu token mediante un encabezado Authorization: Bearer (nunca en la URL). El actor se ejecuta en la plataforma de Apify bajo tu cuenta y los elementos del conjunto de datos resultantes se devuelven directamente como resultado de la herramienta. Este servidor no mantiene estado y no ve ningún dato más allá de pasarlo.

Desarrollo

npm install
npm test          # builds + runs the full smoke suite (introspection, tokenless
                  # error path, dry-run request construction, HTTP transport)

El conjunto de pruebas no necesita cuenta de Apify ni red — usa APIFY_DRY_RUN=1.

Relacionados

Licencia

MIT © CBLU

Available Tools

3 tools
search_building_permitsSearch US building permitsA

Search recently issued US building permits from official city open-data portals (New York City, Chicago, Los Angeles, Austin, San Francisco, New Orleans, Baton Rouge, Montgomery County MD, Norfolk VA). Returns normalized permit records: permit number, type, work description, status, issue date, address, project valuation, and contractor name/license where published. Great for construction lead generation and market research. Runs the paid Apify actor https://apify.com/cblu/us-building-permits-scraper on YOUR Apify account (requires APIFY_TOKEN; pay per result: $0.005 per permit record ($5.00 / 1,000), charged only for records actually returned).

ParametersJSON Schema
NameRequiredDescriptionDefault
citiesNoCities/counties to search. Use ["all"] or omit for every supported source. Each city is queried up to maxResultsPerCity.
issuedAfterNoOnly permits issued on/after this date (YYYY-MM-DD). Recommended — keeps results fresh and runs fast.
searchQueryNoFull-text search across the source dataset, e.g. 'solar', 'pool', 'demolition', 'ADU'.
issuedBeforeNoOnly permits issued on/before this date (YYYY-MM-DD).
minValuationNoOnly permits with declared project value >= this USD amount (permits without a published valuation are excluded when set).
maxResultsPerCityNoMax permit records per selected city (1-2000, default 25). Each returned record is billed at $0.005 per permit record ($5.00 / 1,000).
permitTypeContainsNoCase-insensitive substring match on permit type / class / work type, e.g. 'electrical', 'roof', 'plumbing', 'new construction'.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses the tool runs on the user's Apify account requiring APIFY_TOKEN, pay-per-result pricing, and returns normalized permit records. Lacks details on error handling or rate limits but is transparent about costs and external dependence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

4-sentence description, well-structured: purpose, returned fields, use case, technical details and pricing. Front-loaded with core purpose. The last sentence is dense with pricing details but remains understandable. Efficient for the information conveyed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, supported cities, return fields, cost model, and authentication requirement. Lacks explanation of error handling if APIFY_TOKEN missing, and output structure is not described (no output schema). For 7 optional parameters and paid actor, the main gaps are minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already has descriptions for all 7 parameters (100% coverage). The description adds value by explaining the use case (lead generation) and cost implications (e.g., maxResultsPerCity billable). Also adds recommended usage hint for issuedAfter. Supplements schema with decision-relevant context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches US building permits from specific cities, specifies normalized fields returned, and distinguishes from sibling tools which cover federal contracts and healthcare providers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides context for construction lead generation and market research, and mentions the paid Apify actor with pricing. Does not explicitly state when not to use or compare to alternatives, but sibling tools are clearly different.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_federal_contract_opportunitiesSearch federal contract opportunities (SAM.gov)A

Search US federal contract opportunities (RFPs, solicitations, sources sought, award notices) from SAM.gov's official public data extract — including contracting-officer names, emails, and phone numbers. Filter by keyword, NAICS code, notice type, small-business set-aside, agency, place-of-performance state, and dates. Great for GovCon business development. Runs the paid Apify actor https://apify.com/cblu/sam-gov-contract-opportunities-scraper on YOUR Apify account (requires APIFY_TOKEN; pay per result: $0.004 per opportunity ($4.00 / 1,000), charged only for records actually returned).

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNoCase-insensitive match against notice title, solicitation number, and description, e.g. 'janitorial', 'cybersecurity', 'drone'.
popStatesNoTwo-letter place-of-performance state codes, e.g. ['TX', 'FL'].
setAsidesNoSmall-business set-aside codes or label text, e.g. 'SBA' (total small business), '8A', 'WOSB', 'SDVOSBC', 'HZC' (HUBZone).
activeOnlyNoOnly notices SAM.gov currently marks active (not archived). Set false for historical/award research.
maxResultsNoMax opportunities to return (1-5000, default 25). Each returned record is billed at $0.004 per opportunity ($4.00 / 1,000).
naicsCodesNoNAICS industry codes; prefixes work, e.g. '541511' or just '54' for all professional services.
noticeTypesNoNotice types (case-insensitive substring), e.g. 'Solicitation', 'Presolicitation', 'Sources Sought', 'Combined Synopsis', 'Award Notice'.
postedAfterNoOnly notices posted on/after this date (YYYY-MM-DD). Strongly recommended — makes runs much faster.
postedBeforeNoOnly notices posted on/before this date (YYYY-MM-DD).
agencyContainsNoCase-insensitive substring match on department/sub-tier/office, e.g. 'VETERANS AFFAIRS', 'FOREST SERVICE', 'DEFENSE'.
responseDueAfterNoOnly notices whose response deadline is on/after this date — set to today for opportunities still open for bids.
includeDescriptionNoInclude the notice's full description text on every record.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses pricing ($0.004 per opportunity), that it runs on an Apify actor, and requires APIFY_TOKEN. This is good transparency, though it could mention error handling or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph that is front-loaded with the tool's purpose. It is concise and contains no wasted words, though it could be slightly more structured with bullet points for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should explain return values. It mentions some output fields (contracting-officer names, emails) but does not fully describe the structure of returned records. Given the tool's complexity (12 parameters), it is somewhat incomplete on outputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all 12 parameters have descriptions). The tool description adds value beyond schema by explaining the pricing implication of maxResults and recommending postedAfter for performance. It does not introduce new parameters but enriches understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches US federal contract opportunities from SAM.gov, listing specific notice types (RFPs, solicitations, etc.) and data included. It distinguishes itself from sibling tools (building permits, healthcare providers) by targeting federal contracts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for GovCon business development and lists filters but does not explicitly state when to use it over alternatives or when not to use it. It provides context but lacks direct exclusions or comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_healthcare_providersSearch US healthcare providers (NPI registry)A

Search the official CMS NPPES NPI Registry of all US healthcare providers and organizations. Returns NPI number, provider/organization name, specialty (taxonomy), state license, practice address with phone and fax, and for organizations the authorized official's name/title/phone. Filter by specialty, state, city, ZIP (wildcards like '331*'), or name. Great for healthcare sales lists, provider verification, and directory enrichment. Runs the paid Apify actor https://apify.com/cblu/npi-healthcare-providers-scraper on YOUR Apify account (requires APIFY_TOKEN; pay per result: $0.002 per provider record ($2.00 / 1,000), charged only for records actually returned).

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoPractice-location city, e.g. 'Austin'.
stateNoTwo-letter US state code of the practice location, e.g. 'TX'.
lastNameNoProvider last name (individual lookups). Trailing wildcard supported.
firstNameNoProvider first name (individual lookups). Trailing wildcard supported, e.g. 'jo*'.
maxResultsNoMax provider records to return (1-5000, default 25). Each returned record is billed at $0.002 per provider record ($2.00 / 1,000).
postalCodeNoPractice-location ZIP. Prefix wildcards supported: '331*' matches all ZIPs starting 331 (greater Miami).
enumerationTypeNo'individual' (NPI-1: physicians, dentists, nurses...) or 'organization' (NPI-2: clinics, hospitals, pharmacies...). Omit for both.
organizationNameNoOrganization name (NPI-2 lookups). Trailing wildcard supported, e.g. 'mayo*'.
taxonomyDescriptionNoProvider specialty / taxonomy, e.g. 'Dentist', 'Family Medicine', 'Chiropractor', 'Physical Therapist', 'Pharmacy'. Exact taxonomy codes also work.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It discloses the tool runs a paid Apify actor on the user's account, requires APIFY_TOKEN, and explains billing ($0.002 per record). This covers safety and cost implications well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat long but structured with key info upfront (what it is, what it returns, filters). Every sentence adds value: purpose, returned data, filters, use cases, and billing details. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, no output schema, and no annotations, the description provides sufficient context: it lists return fields, explains all filter parameters, and covers cost. It lacks only explicit mention of pagination or error handling, but overall it is quite complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptive parameter definitions. The description adds value by explaining wildcard usage (e.g., '331*', 'mayo*') and billing implications of maxResults. This enhances the agent's understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches the official CMS NPPES NPI Registry for US healthcare providers and organizations, listing returned fields and filter criteria. It distinguishes itself from sibling tools (building permits, federal contracts) by its specific domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases: 'healthcare sales lists, provider verification, and directory enrichment.' It does not specify when not to use this tool, but the clear purpose and unrelated siblings make this adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedsearch_building_permits
    • First observedsearch_federal_contract_opportunities
    • First observedsearch_healthcare_providers

TDQS

A4.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct and clearly separate domain: building permits, federal contract opportunities, and healthcare providers. There is no overlap in functionality or purpose.

Naming Consistency5/5

All three tools follow the same 'search_<domain>' naming pattern, making them predictable and easy to understand. The convention is consistent throughout.

Tool Count5/5

With only three tools, the set is small but well-scoped for the specific data sources it covers. Each tool serves a clear, valuable purpose without unnecessary bloat.

Completeness2/5

Despite the server name 'US Government Data' implying broad coverage, it only provides access to three narrow datasets (building permits from select cities, federal contracts, and healthcare providers). Many major government data categories are missing, such as census, federal spending, or regulations.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    TypeScript MCP server for accessing Department of Labor enforcement data, OSHA inspections, and SAM.gov contract opportunities via natural language queries.
    28
    -
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server for U.S. public-records data, enabling AI agents to search business registrations, screen names against government watchlists, and pull federal awards.
    4
    23 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for querying US federal contracts and public company financial data from USAspending and SEC EDGAR. Enables searching expiring contracts, screening companies by metrics, and retrieving financial histories.
    4
    MIT