Grantsgov MCP Server
Resumen
Descripción del creador (original en inglés)
Search Grants.gov funding opportunities and read full records: eligibility, awards, deadlines.
Los tres pilares de PopNx MCP
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
- Opinión de usuariosiAún no hay reseñasLas reseñas se abrirán junto con las cuentas en una etapa posterior
- Nuestras revisiones básicasi3 de 3 superadasRevisado con información pública; el código aún no se ha escaneado
- UsoiMuy nuevo↓ 76/sem · ★ –
Qué puedes hacer con él
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
- Conexión: Computadora o nube
- Transporte: stdio, Streamable HTTP
- Categoría: Búsqueda y memoria de IA
Instalación
Elige la app de IA que usas y copia la configuración.
Antes de instalar
- Revisiones básicas: 3 de 3 superadas
- Se ejecuta en el servidor del creador: lo que le pidas pasa por su servidor.
- Puede hacer 3 cosas (herramientas) grantsgov_search_opportunities, grantsgov_get_opportunity, grantsgov_list_reference
- Debes completar tú:
MCP_LOG_LEVEL
Necesitas
- Se ejecuta en la nubeNo hay nada que instalar; se conecta por internet
- npmNode.js instalado (para el comando npx)
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Funciona en Claude para web, escritorio y móvil:
- Abre Settings → Connectors
- Presiona Add custom connector
- Pega la dirección de abajo y presiona Add
- Si te pide iniciar sesión, inicia sesión en el servicio del creador
https://grantsgov.caseyjhand.com/mcpO ejecútalo en tu computadora
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"grantsgov": {
"command": "npx",
"args": [
"-y",
"@cyanheads/grantsgov-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http grantsgov https://grantsgov.caseyjhand.com/mcpO ejecútalo en tu computadora
claude mcp add grantsgov --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/grantsgov-mcp-serverCompleta los valores vacíos antes de ejecutarlo.
O copia la configuración tú
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"grantsgov": {
"url": "https://grantsgov.caseyjhand.com/mcp"
}
}
}O ejecútalo en tu computadora
O copia la configuración tú
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"grantsgov": {
"command": "npx",
"args": [
"-y",
"@cyanheads/grantsgov-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
O copia la configuración tú
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"grantsgov": {
"type": "http",
"url": "https://grantsgov.caseyjhand.com/mcp"
}
}
}O ejecútalo en tu computadora
O copia la configuración tú
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"grantsgov": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/grantsgov-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
ChatGPT solo se conecta a servidores en internet:
- Abre ChatGPT en la web → Settings → Connectors (Apps)
- Presiona Create o Add (en algunos planes primero hay que activar Developer mode en Advanced)
- Pega la dirección de abajo, ponle un nombre y guarda
- Si te pide iniciar sesión, inicia sesión en el servicio del creador
https://grantsgov.caseyjhand.com/mcpLos nombres de los menús pueden variar un poco según el plan y con el tiempo.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Valores que debes completar
MCP_LOG_LEVELenvSets the minimum log level for output (e.g., 'debug', 'info', 'warn').
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Qué puede hacer
Nombres y descripciones de las herramientas tal como los informó el servidor el 7 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.
grantsgov_search_opportunitiesSearch federal funding opportunities on Grants.gov by keyword, agency, applicant eligibility, funding category, funding instrument, assistance listing, opportunity number, posting window (posted_within_days), or closing window (closing_within_days). Returns forecasted and posted
grantsgov_get_opportunityRead the Grants.gov record for up to 5 opportunities, given numeric opportunity ids or opportunity numbers: deadline, funding, eligibility, description, assistance listings, contact, attachments, packages, and latest revision metadata. Lists and narratives are bounded independent
grantsgov_list_referenceList the codes Grants.gov search filters accept, with labels and live opportunity counts: agencies (top level, or one agency's sub-agencies via parent_code, or matched by name via name_contains), applicant eligibility types, funding categories, funding instruments, statuses, sort
Revisiones básicasi
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
- ✓ Superada
El creador coincide con el repo
El nombre en el registro se verificó con la cuenta de GitHub cyanheads, dueña del repo
- … Aún sin revisar
Sigue en mantenimiento
Todavía no hemos leído este repo en GitHub
- … Aún sin revisar
Tiene licencia
Todavía no hemos leído este repo en GitHub
- ✓ Superada
El endpoint responde
Respondió en 535 ms (HTTP 200)
- – No aplica
Inicio de sesión con OAuth
No hace falta iniciar sesión
- ✓ Superada
Sin instrucciones ocultas en las descripciones de herramientas
Leímos 3 descripciones de herramientas y no encontramos instrucciones ocultas para la IA
Comparado con otros en Búsqueda y memoria de IAi
- Más estrellas que el 0% de los otros 5714 servidores de esta categoría
- Publicado en el registro más recientemente que el 74% de los otros 5714 servidores de esta categoría
- Revisiones básicas iguales o mejores que el 100% de los otros 5714 servidores de esta categoría
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Preguntas frecuentes
¿Es seguro Grantsgov MCP Server?
Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
¿Qué claves o códigos necesita?
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
¿Se ejecuta en mi computadora o en la nube?
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
¿Sigue en mantenimiento?
El repo de GitHub cambió por última vez –, y la última versión (0.2.0) llegó al registro hace 13 días.
¿Qué apps pueden usarlo?
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
¿Qué puedo usar en su lugar?
En la misma categoría: Context7, Codebase Memory, Exa
Alternativas
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
README del creador
Abrir el README
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
@cyanheads/grantsgov-mcp-server Search Grants.gov federal funding opportunities, read full records (eligibility, awards, deadlines, attachments), and decode filter codes via MCP. STDIO or Streamable HTTP. 3 Tools
Public Hosted Server: https://grantsgov.caseyjhand.com/mcp
Overview
US federal funding opportunities from Grants.gov, covering every agency's forecasted, posted, closed, and archived notices. Search by keyword, agency, applicant type, funding category, assistance listing, or deadline window, then read a full record: award range, eligibility, key dates, agency contact, and NOFO attachments. No API key required.
Tools
| Tool | Description |
|---|---|
grantsgov_search_opportunities | Search opportunities by keyword and filters; each row leads with its close date and days left, plus facet counts for narrowing |
grantsgov_get_opportunity | Read full records for up to 5 opportunities by numeric id or opportunity number |
grantsgov_list_reference | List the codes the search filters take (agencies, applicant types, funding categories and instruments), plus statuses, sort options, and keyword syntax |
The grantsgov-guide skill covers funding shortlists, eligibility and deadline review, and application requirements. It ships with the package and plugins and is available over MCP as skill://grantsgov-guide/SKILL.md.
Capability reference
grantsgov_search_opportunities tool
- Filters:
keyword,statuses(defaultforecastedandposted),agencies(a code includes its sub-agencies),eligibilities,funding_categories,funding_instruments,assistance_listing(one ALN),opportunity_number(exact match),posted_within_days,closing_within_days eligibilitiesalso matches opportunities open to any applicant type (code99) unlessinclude_unrestrictedisfalse- Keyword terms are all required; join alternatives with
OR, quote phrases, exclude withNOTor-term, and use a trailing*for prefixes. An ungrouped AND/OR mix or a field prefix (agency:NSF) fails asinvalid_keyword closing_within_days(0–365) scans posted opportunities by close date; it allows only thepostedstatus and theclose_date_ascsort, andposted_within_daysrejectsclosedandarchived(filter_conflict).total_count_kinddistinguishes exact counts from lower bounds when the scan is incomplete;next_offsetreaches only remaining scanned matches- Up to 100 rows per page (default 25);
limitaccepts 1–1,000 and values above 100 are capped with a notice. Offset paging usesnext_offset;effective_keywordandapplied_filtersecho what was sent. Sub-agency facets count each subtree under the current upstream query;include_facets: falsedrops the facet counts - Rows carry
close_date_kind(fixed,none_listed,placeholder) anddays_until_close, but no award amounts. Unknown codes fail asunknown_agency,unknown_eligibility, orunknown_funding_category
grantsgov_get_opportunity tool
- Accept up to 50 nonblank entries per identifier list and 50 normalized unique identifiers combined. Read the first 5 identifiers, ids before numbers;
deferred_ids,deferred_numbers, and an executablecontinuationcarry the remaining queue with the original section offsets. Numbers resolve across all four statuses; selected aliases fetch a record once per call - A miss or a number shared by several opportunities comes back in
unresolved[]asnot_foundorambiguous(withcandidates), not as an error - Records carry the close date (an estimate on forecasts, flagged by
close_date_is_estimate), award ceiling and floor, total funding, expected awards, cost sharing, applicant types with the eligibility narrative, assistance listings, and the agency contact - Funding and eligibility fields come from the synopsis or forecast block matching
doc_type, named inmoney_source; forecasts addforecast_estimates - Independent pages: description 12,000 characters, eligibility narrative 6,000, funding-category explanation 2,000, attachments 30, application packages 10, and related opportunities 10. The six zero-based inputs are
description_offset,eligibility_offset,funding_category_explanation_offset,attachment_offset,application_package_offset, andrelated_opportunity_offset(default 0). Each record'spagessupplies full totals and executable single-opportunity continuations; partial narratives retain*_truncated, and past-end pages are empty. Attachments includedownload_urland the unchanged upstreamcreated_datewhen listed last_revision_noteandlast_revision_changedsummarize the active synopsis or forecast's latest revision when listed. Changed names map to public fields; unknown names keep anupstream:prefix. Missing metadata does not mean nothing changed
grantsgov_list_reference tool
topic:agencies,eligibilities,funding_categories,funding_instruments,statuses,sort_options, orkeyword_syntax- Codes come from a live Grants.gov snapshot, cached for 24 hours and dated by
snapshot_date, withopen_count(forecasted and posted) andtotal_countper code (statusescarriestotal_countonly);sort_optionsandkeyword_syntaxare static - Up to 100 entries per page (default 50);
limitaccepts 1–1,000 and values above 100 are capped with a notice. Filters apply before paging;continuationpreserves the complete next-call arguments - A failed refresh can serve expired data with
reference_cachedisclosing stale status, the failure reason, and retry time. Searches using that vocabulary disclose the same degradation and snapshot timestamp agencieslists the top level by default;parent_codelists every code under one agency, andname_containsmatches labels and codes on any topic (for agencies, at every level)parent_codewith another topic fails asfilter_not_applicable; an unknown code fails asunknown_parent_code
Features
Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.
Grants.gov-specific:
- List inputs accept one whole string or an array; blank values and members read as unset. Strings are never split on commas, spaces, or line breaks
- Keyless client for the Grants.gov REST API (
search2,fetchOpportunity), with retries and at most 4 concurrent upstream requests per process - Inputs mapped to the form Grants.gov reads as intended: bare keyword terms joined with
AND, hyphenated tokens (COVID-19,K-12) matched as phrases, agency codes expanded to their sub-agency subtree, opportunity numbers matched literally, and filter codes checked against the live vocabulary - Deadlines counted from today in US Eastern Time, the zone Grants.gov publishes in; far-future stand-in close dates are flagged
placeholderrather than reported as deadlines - HTML5 entities decoded in human-readable fields; narrative HTML converted to plain text with table cell and row boundaries preserved. In
content[], agency prose renders as literal text, identifiers retain code styling, multi-line fields render as blockquotes, and inline text is flattened to one line
Agent-friendly output:
- Echo of what ran:
effective_keywordandapplied_filters, including defaulted statuses, the expanded agency filter, and the added code99 - Discriminated fields:
close_date_kind,doc_type,money_source, andunresolved[].outcomelet callers branch on data - Empty-result and paging notices that name the next call, such as counts of closed and archived matches when the default statuses found nothing, or the next close date when a closing window is empty
- Typed failure reasons with recovery hints, including
upstream_unavailable,rate_limited, andupstream_route_unavailablefor Grants.gov outages
Getting started
Connect to the hosted instance, no install:
claude mcp add --transport http grantsgov-mcp-server https://grantsgov.caseyjhand.com/mcp
Or run it locally:
claude mcp add grantsgov-mcp-server -- npx -y @cyanheads/grantsgov-mcp-server
For other clients, add this to the MCP config file:
{
"mcpServers": { "grantsgov-mcp-server": { "command": "npx", "args": ["-y", "@cyanheads/grantsgov-mcp-server"] } } }
No API key is required. For Docker or a source build, see Running the server.
Configuration
The server reads no configuration of its own: the Grants.gov API is keyless and its endpoints are fixed. These framework variables control transport, auth, and logging.
| Variable | Description | Default |
|---|---|---|
MCP_TRANSPORT_TYPE | Transport: stdio or http. | stdio |
MCP_HTTP_PORT | HTTP server port. | 3010 |
MCP_SESSION_MODE | HTTP session mode: stateless, stateful, or auto. The server declares stateless; set this only to override it. | stateless |
MCP_AUTH_MODE | Authentication: none, jwt, or oauth. | none |
MCP_LOG_LEVEL | Log level (debug, info, warning, error, etc.). | info |
LOGS_DIR | Directory for log files (Node.js only). | /logs |
STORAGE_PROVIDER_TYPE | Storage backend: in-memory, filesystem, supabase, cloudflare-kv/r2/d1. | in-memory |
OTEL_ENABLED | Enable OpenTelemetry. | false |
See .env.example for the full list of optional overrides.
Running the server
Local development
Requires Bun v1.4.0 or higher (or Nod
Solo se muestra el principio; lee el resto en el repo