Mcp Grantiq

io.github.bch1212Published by GitHub account bch1212v1.0.3Updated Oct 24, 2026

Search US grants + federal contracts (Grants.gov + SAM.gov) from any LLM.

The publisher's own server: GrantIQ

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBusiness & Commerce

Overview

AI-generated overview

Remote MCP server that lets an assistant search US federal grants (Grants.gov) and contracts (SAM.gov), match them to an organization, and track deadlines.

What you can do
  • Search and read grant opportunities from Grants.gov by keyword, agency, amount and status
  • Search and read federal contract opportunities from SAM.gov by keyword, NAICS code, agency and set-aside
  • Match an organization profile to the top roughly ten grants and contracts
  • List agencies with open opportunities and find grants closing within a chosen number of days
  • Look up past SAM.gov contract awards by recipient, agency and year
When to use it
Useful for grant-finder agents, procurement copilots and B2G sales research where an assistant needs current US federal funding and contract opportunities without calling the agency APIs directly. Responses are normalized across both sources and cached for 24 hours.
Requirements
A remote streamable-HTTP endpoint; no local install. Requires an API key sent in the X-API-Key header; the README says there is no shared public key and one is minted through an admin endpoint. Free tier is 50 calls per day per key; paid tiers are listed.
Before you install
The service is described as paid: free tier is limited to 50 calls per day, with a monthly subscription or per-call pricing above that, and the README mentions Stripe billing. The API key is a credential and should be kept out of shared configs. Queries and organization profiles are sent to a third-party server, which forwards them to Grants.gov and SAM.gov. Results are cached for 24 hours, so deadline-sensitive answers may be stale.

Installation

In SourceWeft

  1. Open Mcp Grantiq in the dashboard and add it to a workspace.
  2. Connect X-API-Key credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.bch1212%2Fmcp-grantiq/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "grantiq": {
      "type": "http",
      "url": "https://mcp.grantiq.us/mcp/",
      "headers": {
        "X-API-Key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

GrantIQ MCP

A paid MCP server that gives AI agents instant, structured access to every open US federal grant and contract opportunity. Backed by Grants.gov + SAM.gov, with 24-hour SQLite caching, per-key daily limits, and a Stripe-friendly upgrade hook.

https://mcp.grantiq.us/mcp/


MCPize listing copy

Title: GrantIQ MCP — US Federal Grants & Contracts for AI Agents

Subtitle: Search, match, and monitor every open SAM.gov and Grants.gov opportunity from any LLM, in one tool call.

GrantIQ MCP turns the messy world of US government funding into a clean, agent-ready API. Eight typed tools cover everything from broad keyword search and NAICS-coded contract discovery to deadline radar and historical award lookups. Responses are normalized across both data sources, returned as plain JSON, and cached for 24 hours so repeat queries don't burn rate limit on the upstream agencies.

Built for procurement copilots, grant-finder agents, and B2G sales tools, GrantIQ MCP ships with a free tier (50 calls/day) that any developer can drop into Claude or Cursor in 15 seconds. Upgrade to Pro for $19/mo for unlimited calls, or pay $0.02 per call for bursty workloads — billing flips a key from free to pro via a single webhook, with no app rewrites required.


Pricing

TierPriceLimit
Free$050 calls / day / key
Pro$19 / monthUnlimited
Pay-as-you-go$0.02 / callUnlimited

Install

bash
claude mcp add grantiq-mcp --url https://mcp.grantiq.us/mcp/

Then add the API key Claude should use:

bash
claude mcp env grantiq-mcp X-API-Key=your-api-key

There is no shared public key. Mint one with the admin endpoint below (free tier is 50 calls/day) and store it in the client config or an environment variable.


Tool reference

ToolArgsReturns
search_grantskeyword, agency, amount_min, amount_max, status, limitList of matching grants
get_grant_detailsopportunity_idFull grant object
search_contractskeyword, naics_code, agency, set_aside, limitList of SAM contracts
get_contract_detailsnotice_idFull contract object
match_opportunitiesorg_description, org_type, focus_areasTop 10 matched opps (grants + contracts)
get_agenciestype (grants / contracts / both)Agencies with open opps, ranked by volume
get_deadlinesdays_aheadOpportunities closing within N days
search_awardsrecipient_name, agency, yearPast SAM award history

Every tool returns either:

json
{ "success": true,  "cached": false, "data": { ... } }

or, on failure:

json
{ "success": false, "error": "..." }

When the daily limit is hit, the HTTP layer returns 429 with body:

json
{ "error": "Limit reached. Upgrade at mcpize.com/grantiq-mcp" }

curl examples

The MCP endpoint speaks the JSON-RPC streamable-HTTP protocol and is best used through an MCP client. For convenience, every tool also has a REST mirror at /tools/<tool>.

bash
# Search grantscurl -s https://mcp.grantiq.us/tools/search_grants \  -H 'Content-Type: application/json' \  -H 'X-API-Key: your-api-key' \  -d '{"keyword":"renewable energy","limit":5}'
# Get grant detailscurl -s https://mcp.grantiq.us/tools/get_grant_details \  -H 'Content-Type: application/json' \  -H 'X-API-Key: your-api-key' \  -d '{"opportunity_id":"345678"}'
# Search SAM.gov contracts (cyber, small-business set-aside)curl -s https://mcp.grantiq.us/tools/search_contracts \  -H 'Content-Type: application/json' \  -H 'X-API-Key: your-api-key' \  -d '{"keyword":"cybersecurity","set_aside":"SBA","limit":5}'
# Get contract detailscurl -s https://mcp.grantiq.us/tools/get_contract_details \  -H 'Content-Type: application/json' \  -H 'X-API-Key: your-api-key' \  -d '{"notice_id":"abc123"}'
# Match opportunities to an org profilecurl -s https://mcp.grantiq.us/tools/match_opportunities \  -H 'Content-Type: application/json' \  -H 'X-API-Key: your-api-key' \  -d '{"org_description":"Battery storage R&D startup","org_type":"for-profit","focus_areas":["energy","battery","storage"]}'
# Top agencies right nowcurl -s https://mcp.grantiq.us/tools/get_agencies \  -H 'Content-Type: application/json' \  -H 'X-API-Key: your-api-key' \  -d '{"type":"both"}'
# Deadlines in the next 14 dayscurl -s https://mcp.grantiq.us/tools/get_deadlines \  -H 'Content-Type: application/json' \  -H 'X-API-Key: your-api-key' \  -d '{"days_ahead":14}'
# Past award historycurl -s https://mcp.grantiq.us/tools/search_awards \  -H 'Content-Type: application/json' \  -H 'X-API-Key: your-api-key' \  -d '{"recipient_name":"Acme Corp","year":2025}'

Operator endpoints

Mint a fresh key (free or pro):

bash
curl -s https://mcp.grantiq.us/admin/keys \  -H 'X-Admin-Token: $GRANTIQ_ADMIN_TOKEN' \  -H 'Content-Type: application/json' \  -d '{"tier":"free","daily_limit":50}'

Promote a free key to pro (called from the Stripe checkout success webhook):

bash
curl -s https://mcp.grantiq.us/billing/upgrade \  -H 'X-Admin-Token: $GRANTIQ_ADMIN_TOKEN' \  -H 'Content-Type: application/json' \  -d '{"key":"grantiq_xxxxx"}'

Local dev

bash
python -m venv .venv && source .venv/bin/activatepip install -r requirements.txtcp .env.example .env# Replace the placeholders, then export them. The process refuses to start# until GRANTIQ_ADMIN_TOKEN is a real value (not the example placeholder).set -a && source .env && set +apython server.py        # http://localhost:8000pytest -v               # 31 tests, hermetic with respx mocks

Deploy to Railway

The repo includes nixpacks.toml. After railway init, just railway up. The start command is python server.py (not uvicorn ...) because Railway exec's [start].cmd without a shell — server.py reads $PORT via os.getenv and starts uvicorn programmatically.

Set these on the Railway service:

  • SAM_API_KEY — your SAM.gov key (contract tools fail closed without it)
  • GRANTIQ_ADMIN_TOKEN — long random string, required at startup
  • GRANTIQ_DB_PATH — /data/grantiq.db if you mount a Volume (recommended so cache + keys survive deploys)

A ready-to-run deploy.sh is in this directory.


Caveats

  • SAM.gov award history is exposed via the opportunities API filtered to ptype=a (Award Notice). For deeper award analytics (CFDA-level totals, recipient rollups), USAspending.gov is more appropriate and would be a v2 add.
  • Cache TTL is global (24h). For deadline-sensitive flows the agent should pass distinct query args or call /admin/keys to mint a key that bypasses cache (not yet exposed — see TODO).
  • Match scoring is deterministic Jaccard over title + agency tokens. It's fast and free; an LLM rerank can be added behind the same interface.
  • Stripe wiring is one-way (/billing/upgrade). The MCP server doesn't host the checkout page itself — that lives on the marketing site.

Source: README.md at commit 6dfd8f3

Tools

8

search_grants

Search Grants.gov for funding opportunities.

Parameterslimitagencystatuskeywordamount_maxamount_min

get_grant_details

Fetch the full grant record for a Grants.gov opportunity id.

Parametersopportunity_idrequired

search_contracts

Search SAM.gov for federal contract opportunities.

Parameterslimitagencykeywordset_asidenaics_code

get_contract_details

Fetch the full SAM.gov contract record for a notice id.

Parametersnotice_idrequired

match_opportunities

Return the top ~10 grants + contracts matched to an org profile.

Parametersorg_typefocus_areasorg_descriptionrequired

get_agencies

List agencies with currently-open opportunities.

Parameterstype

get_deadlines

Return grants whose response deadline is within `days_ahead` days.

Parametersdays_ahead

search_awards

Search past SAM.gov contract awards.

Parametersyearagencyrecipient_name

Version history

1
  1. v1.0.3LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.

Other Grantiq integrations