FundingLandscape
REMOTE · FUNDINGLANDSCAPE.COM · SCANNED SEP 20
Search 31,000+ open US grants, federal contracts, and foundations. Checked daily, free tier.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security100
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability75
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 9149 tokens (~295/item across 31 items; 28 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 96% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
How do I install the FundingLandscape MCP server?
FundingLandscape is a hosted endpoint at https://fundinglandscape.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · fundinglandscape.com
claude mcp add --transport http tettertotter-fundinglandscape 'https://fundinglandscape.com/api/mcp'
{
"mcpServers": {
"tettertotter-fundinglandscape": {
"url": "https://fundinglandscape.com/api/mcp"
}
}
} {
"servers": {
"tettertotter-fundinglandscape": {
"type": "http",
"url": "https://fundinglandscape.com/api/mcp"
}
}
} [mcp_servers.tettertotter-fundinglandscape] url = "https://fundinglandscape.com/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"tettertotter-fundinglandscape": {
"type": "remote",
"url": "https://fundinglandscape.com/api/mcp",
"enabled": true
}
}
} openclaw mcp add tettertotter-fundinglandscape --url 'https://fundinglandscape.com/api/mcp' --transport streamable-http
mcp_servers:
tettertotter-fundinglandscape:
url: "https://fundinglandscape.com/api/mcp" {
"McpServers": {
"tettertotter-fundinglandscape": {
"Transport": "http",
"Url": "https://fundinglandscape.com/api/mcp"
}
}
} assistant mcp add tettertotter-fundinglandscape -t streamable-http -u 'https://fundinglandscape.com/api/mcp'
{
"mcpServers": {
"tettertotter-fundinglandscape": {
"type": "http",
"url": "https://fundinglandscape.com/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 0
- Tool “get_foundation” rewrote its description, which is the text the model reads security
- Tool “search_foundations” rewrote its description, which is the text the model reads security
- Tool “search_grants_and_procurement” rewrote its description, which is the text the model reads security
- 19 Sept 26 0
- Tool “get_foundation” rewrote its description, which is the text the model reads security
- Tool “get_opportunity” rewrote its description, which is the text the model reads security
- Tool “search_foundations” rewrote its description, which is the text the model reads security
- Tool “search_grants_and_procurement” rewrote its description, which is the text the model reads security
- 13 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “check_connection” rewrote its description, which is the text the model reads security
- Tool “get_opportunity” rewrote its description, which is the text the model reads security
- “whats_new” reworded the description of “limit” cosmetic
- 12 Sept 26 0
- Stability: 0.97 → pass security
- Tool “deadline_calendar” rewrote its description, which is the text the model reads security
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 +65
- Authorization: unverified → pass ▲ security
- Injection markers: unverified → pass ▲ security
- Transport: fail → pass ▲ security
- MCP protocol: unverified → fail ▼ functional
- Endpoint reachability: not serving MCP → reachable ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Stability: unverified → 0.93 ▲ functional
- 9 Sept 26 −64
- Endpoint reachability: reachable → not serving MCP ▼ security
- Authorization: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Stability: 0.87 → unverified ▼ security
- Transport: pass → fail ▼ security
- Schema quality: 100 → unverified ▼ functional
- Capabilities: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 7 Sept 26 +1
- Tool “get_foundation” rewrote its description, which is the text the model reads security
- Tool “search_foundations” rewrote its description, which is the text the model reads security
- Tool “search_grants_and_procurement” rewrote its description, which is the text the model reads security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://fundinglandscape.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=fundinglandscape.com | CN=YR2,O=Let's Encrypt,C=US | 15 Aug 2026 | 13 Nov 2026 | RSA 2048 | SHA256-RSA | 6ee67bd39fb9cce37d9fbf8ef19bdcc5240 |
| SANs: fundinglandscape.com | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of fundinglandscape.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| fundinglandscape.com. | present | 2371 | 13 | Verified |
| fundinglandscape.com. | Verified address RRset verified with the apex keys |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://fundinglandscape.com/.well-known/oauth-protected-resource"
Bearer resource_metadata="https://fundinglandscape.com/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), browsing-topics=() |
Protected resource metadata
| Document | https://fundinglandscape.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://fundinglandscape.com/api/mcp |
| Authorisation server | https://fundinglandscape.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://fundinglandscape.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://fundinglandscape.com/api/mcp | HTTPS enforced | 308 | https://fundinglandscape.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
batch_search_grantsplus Batch Search Grants ~658
DEPRECATED ALIAS — prefer search_grantsplus with a queries[] array, which now runs the identical batch fan-out. Kept for backward compatibility; behavior is unchanged. Search grants, prizes, and foundations comprehensively. Returns 10 results by default (~4KB). Use detail_level and max_results to control response size. Response includes total available count so you can request more if needed. Counts toward your monthly searches. A batch counts as 1 call.
| Name | Type | Req | Description |
|---|---|---|---|
| detail_level | string | – | Controls response verbosity. minimal (~120 bytes/result): id, title, org, deadline, url, qualityScore - best for scanning 50+ results. compact (~400 bytes/result, DEFAULT): adds snippet, category, st… |
| grants_filters | object | – | Grants.gov specific filters |
| include_foundations | boolean | – | Also search private foundations (default: true) |
| max_response_tokens | number | – | Token budget for response (default: 4000 ≈ 16KB). Server auto-caps results to fit. Increase to 8000-16000 for more results per call, decrease to 2000 for lightweight scanning. |
| max_results | number | – | Maximum opportunities to return (default: 10, max: 100). Token cost guide: 10 results ~4KB, 25 results ~10KB, 50 results ~20KB, 100 results ~40KB. |
| new_within_days | number | – | Backwards-compatible alias for posted_within_days. Only opportunities ingested (added by us) in the last N days -- for recurring/delta checks ("what is new since my last check"). Applied per sub-quer… |
| offset | number | – | Number of results to skip for pagination (default: 0). Use with max_results to page through large result sets. Example: offset=100 with max_results=100 returns results 101-200. |
| posted_within_days | number | – | Preferred alias for new_within_days: only opportunities ingested (added by us) in the last N days. Applied per sub-query before dedupe; the response includes a deduped newSince summary. If both poste… |
| queries | array | yes | Array of 2-5 search queries to run in parallel. Example for clean energy: ["renewable energy grants", "solar wind funding", "clean energy nonprofit", "sustainability grants", "green technology fundin… |
| since | string | – | Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant. |
| source | string | – | Filter every batch sub-query to a specific source/domain, e.g. "grants.gov" or "deq.nc.gov". |
| user_context | object | – | – |
No output schema declared.
No examples provided.
batch_search_procurement Batch Search Contracts ~679
DEPRECATED ALIAS — prefer search_procurement with a queries[] array, which now runs the identical batch fan-out. Kept for backward compatibility; behavior is unchanged. Search federal contracts (SAM.gov) comprehensively. Returns 10 results by default (~4KB). Use detail_level and max_results to control response size. Response includes total available count so you can request more if needed. When sam_filters.pop_state (alias: place_of_performance_state) is set, the response includes a placeOfPerformance field summed across every sub-query (matched, unknownServed with unknowns excluded instead when user_context.location_strict is true, and otherStateExcluded). Counts toward your monthly searches. A batch counts as 1 call.
| Name | Type | Req | Description |
|---|---|---|---|
| detail_level | string | – | Controls response verbosity. minimal (~120 bytes/result): id, title, org, deadline, url, qualityScore - best for scanning 50+ results. compact (~400 bytes/result, DEFAULT): adds snippet, category, st… |
| max_response_tokens | number | – | Token budget for response (default: 4000 ≈ 16KB). Server auto-caps results to fit. Increase to 8000-16000 for more results per call, decrease to 2000 for lightweight scanning. |
| max_results | number | – | Maximum opportunities to return (default: 10, max: 100). Token cost guide: 10 results ~4KB, 25 results ~10KB, 50 results ~20KB, 100 results ~40KB. |
| new_within_days | number | – | Backwards-compatible alias for posted_within_days. Only opportunities ingested (added by us) in the last N days -- for recurring/delta checks ("what is new since my last check"). Applied per sub-quer… |
| offset | number | – | Number of results to skip for pagination (default: 0). Use with max_results to page through large result sets. Example: offset=100 with max_results=100 returns results 101-200. |
| posted_within_days | number | – | Preferred alias for new_within_days: only opportunities ingested (added by us) in the last N days. Applied per sub-query before dedupe; the response includes a deduped newSince summary. If both poste… |
| queries | array | yes | Array of 2-5 search queries to run in parallel. Example for IT services: ["IT services contract", "software development federal", "technology consulting government", "computer services procurement"] |
| sam_filters | object | – | SAM.gov specific filters |
| since | string | – | Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant. |
| source | string | – | Filter every batch sub-query to a specific source/domain, e.g. "sam.gov". |
| user_context | object | – | – |
No output schema declared.
No examples provided.
check_connection Check Connection ~69
Verify MCP server connectivity. Returns success immediately with no database calls. Use this FIRST if experiencing tool errors - a successful response confirms the server is reachable. It does not confirm account, search, or paid-feature authentication, which can still return "Auth required" separately. Does not count toward your monthly searches.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
deadline_calendar Deadline Calendar ~338
Get upcoming funding deadlines for planning an application schedule. Default compact mode returns a merged `results` list of lean rows (id/title/org/deadline/daysUntil and direct url when it fits) plus section counts/index ranges so grants and procurement stay balanced without duplicating every row. Pass compact:false for full descriptions, quality details, and full `sections.grants` / `sections.procurement` arrays. Returns a bounded page of up to 50 candidate rows per section before calendar exclusions, not a complete calendar for the requested window. `coverage` preserves per-section candidate counts and executable candidate-search continuations; counts are not exact eligible totals. Non-biddable notices (Sources Sought, Award notices, etc.) and past/undated rows are excluded. Pass `category` to restrict to one type (e.g. "procurement" for contracts only). Paid feature. Counts toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Optional. Restrict to ONE category instead of the default balanced grants+procurement view (e.g. "grant", "procurement", "prize"). Omit to get both grants and procurement as separate sections. |
| compact | boolean | – | Return compact rows by default to keep agent payloads small. Long titles/orgs/links may be shortened or omitted; set false for full descriptions, nested quality details, and full section arrays. |
| days | number | – | Alternative to weeks: exact number of days ahead to show (default: 28, max: 365) |
| weeks | number | – | Number of weeks ahead to show (default: 4, max: 12) |
No output schema declared.
No examples provided.
delete_saved_search Delete Saved Search ~51
Delete a saved search by ID. Use list_saved_searches first to find the ID. Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Saved search ID (from list_saved_searches) |
No output schema declared.
No examples provided.
find_funders_of Find Funders Of An Organization ~219
Find the private foundations whose covered 990-PF filings name a given organization as a grant recipient. Use this to research who funds peer organizations doing work like the user's. Returns matched recipients with a confidence tier (registry_corroborated = an EIN matched a registry record; name_match = normalized organization name only), then that recipient's funders ranked by total recorded giving with amounts, grant-record counts, and the covered filing years. Historical filing evidence, NOT an open call, a current interest statement, or an eligibility signal. Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Recipients per page (default 20, max 50). |
| organization | string | yes | Recipient organization name, at least 3 characters. Recipient names are written however the filing foundation chose to write them, so the shortest distinctive part of the name matches best. |
| page | number | – | 1-based page of matched recipients. |
| state | string | – | Optional 2-letter state code to restrict matches to recipients recorded in that state. |
No output schema declared.
No examples provided.
find_similar Find Similar Opportunities ~132
Find opportunities similar to a given one using semantic similarity. Returns each result with similarityScore (0-1) and a concise matchExplanation of shared signals such as category/class, geography, organization, and award amount band. Useful when user likes one result and wants more like it. Uses vector embeddings to find conceptually related opportunities, not just keyword matches. Paid feature. Counts toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max similar opportunities to return (default: 5, max: 20) |
| opportunity_id | string | yes | ID of the opportunity to find similar matches for (from search results) |
No output schema declared.
No examples provided.
funders_for_cause Find Funders By Cause Area ~318
Find the private foundations that have given to recipients in a cause area, optionally limited to one state. The cause area is the IRS NTEE major group recorded for the RECIPIENT organization, so this reports where a funder has actually given rather than what it says it funds. Historical filing evidence, not an open call. Valid causes: Arts and culture (A), Education (B), Environment (C), Animals (D), Health care (E), Mental health and crisis (F), Disease and disorders (G), Medical research (H), Crime and legal aid (I), Employment (J), Food and agriculture (K), Housing and shelter (L), Public safety and disaster relief (M), Recreation and sports (N), Youth development (O), Human services (P), International affairs (Q), Civil rights and advocacy (R), Community improvement (S), Philanthropy and grantmaking (T), Science and technology (U), Social science (V), Public and societal benefit (W), Religion (X), Mutual benefit (Y), Unclassified (Z). Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| cause | string | yes | Cause area name (for example "Education") or its NTEE major group letter (for example "B"). |
| limit | number | – | Funders per page (default 20, max 50). |
| page | number | – | 1-based page of funders. |
| state | string | – | Optional 2-letter state code for the RECIPIENT organizations, not the funder. |
No output schema declared.
No examples provided.
get_account_status Get Account Status ~41
Check your subscription status, usage this period, and remaining searches. Use anytime to see how many searches you have left. Does not count toward your monthly searches.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_categories List Funding Categories ~57
Browse all funding categories with opportunity counts. Categories include: Grant, Construction, Goods & Services, Professional Services, Technology, Healthcare, Research, and more. Useful for understanding what types of opportunities are available. Does not count toward your monthly searches.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_dataset_summary Get Dataset Summary ~30
Get dataset size and coverage stats (open opportunities, certified sources). Does not count toward your monthly searches.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_foundation Get Foundation Details ~396
Get the current profile for a PRIVATE foundation by EIN. Foundation Intelligence Beta uses active QA-gated releases for filing-scoped public facts and Plus grant-history and repeat-grantee sections. The Pro leadership section returns only people and titles exactly as listed in a dated public filing, with responsible-use limits. The Pro federal-connections section returns registry-corroborated organization-level overlap with federal assistance records. Named-person grant recipients and grant-purpose text are excluded. Only private foundations (IRS 990-PF filers, 3,678+ foundations) are included. Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| assistance_listing_number | string | – | For federal_connections, filter by Assistance Listing number such as 93.855. |
| cursor | string | – | Opaque cursor returned by the prior page. |
| ein | string | yes | 9-digit EIN (no dashes). Example: 911663695. Must be a private foundation (990-PF filer). |
| limit | number | – | Rows per paid page (default 25, max 100). Federal connections uses page-number pagination; grant history and repeat grantees return opaque cursors. |
| maximum_amount | number | – | For grant_history, maximum amount per reported line. |
| minimum_amount | number | – | For grant_history, minimum amount per reported line. |
| minimum_years | number | – | For repeat_grantees, minimum covered filing years (2+). |
| page | number | – | For federal_connections, 1-based results page. |
| recipient | string | – | Filter grant-history or repeat-grantee rows by organization name. |
| section | string | – | Foundation Intelligence section. Grant history and repeat grantees require Plus; filing-listed leadership and federal-recipient connections require Pro. |
| state | string | – | For grant_history or federal_connections, filter by 2-letter recipient state. |
| year | number | – | For grant_history, filter by filing year. |
No output schema declared.
No examples provided.
get_opportunity Get Opportunity Details ~165
Get details for a specific funding opportunity. Description includes up to 12,000 characters of cleaned stored source text; descriptionCoverage reports truncation and returned length. If truncated, consult the source URL. Without an mcp-session-id, the sessionless first answer returns the compact description instead: read descriptionCoverage for the returned length, the stored length and whether the text was cut, and echo the header for the full text. IMPORTANT: Use the exact "id" field from search results (e.g. "cmk65gf090028lee3nhy4lo6a"). Do NOT construct or guess IDs. Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Exact opportunity ID from search results (CUID format like "cmk65gf09...") |
No output schema declared.
No examples provided.
get_pack_link Get Search Pack Link ~62
Buy Search Pack ($5 = 50 searches, never expire). Requires active subscription. Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| quantity | number | – | Number of packs to buy (1-20, default: 1). Each pack = 50 searches. |
No output schema declared.
No examples provided.
get_pricing Get Pricing ~32
Get pricing for all plans. Returns names, prices, features, limits. Does not count toward your monthly searches.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_setup_instructions Get Setup Instructions ~29
Return MCP setup instructions for Claude Desktop and other clients. Does not count toward your monthly searches.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_tool_guide Get Tool Guide ~80
Get comprehensive usage guide for FundingLandscape tools. Call this FIRST to understand optimal workflows, parameter usage, and best practices. Returns detailed documentation for search tools, filters, and token optimization strategies. Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| topic | string | – | Topic to get guidance on (default: overview). Use "all" for complete reference. |
No output schema declared.
No examples provided.
get_upgrade_link Get Upgrade Link ~79
Get Stripe checkout URL for subscription. IMPORTANT: Requires sign-in first. If not authenticated, returns sign-in instructions. After OAuth sign-in, call again for checkout URL. Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| interval | string | – | Billing interval (default: month) |
| plan | string | – | Plan to upgrade to (default: plus) |
No output schema declared.
No examples provided.
list_saved_searches List Saved Searches ~102
List all saved searches for the current user. Returns each search with its ID, query, filters, alert settings, and last run time. Use this FIRST to check what the user already has before creating or updating searches. Response includes remaining slots and plan info. Saved searches are available on every plan, including Free (Free: 1 saved search with weekly email alerts, Plus: 10, Pro: 25). Does not count toward your monthly searches.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
report_feedback Report Feedback ~195
Report bugs, data issues, or feedback. Actions: bug, data_issue, irrelevant, praise. Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Type of feedback. Use "bug" for errors, "data_issue" for stale/wrong data, "irrelevant" for poor results. |
| category | string | – | – |
| message | string | – | Describe the issue. For bugs, include the error message. |
| opportunity_id | string | – | ID of the opportunity being reported on (if applicable) |
| request_id | string | – | From error response - helps us trace the issue |
| result_position | number | – | – |
| search_query | string | – | The search query that produced the issue |
| severity | string | – | high = user blocked, medium = degraded experience, low = minor issue |
| tool | string | – | Which tool had the issue |
| user_context | object | – | – |
No output schema declared.
No examples provided.
save_search Save Search ~394
Save a search query for email alerts. When new opportunities match, the user receives daily or weekly email notifications. The FREE tier includes 1 saved search with weekly email alerts, so any user can set one up without a paid plan. RECOMMENDED WORKFLOW: 1. Call list_saved_searches first to check for existing/similar searches 2. If a similar search exists, offer to update_saved_search instead 3. Search with search_grantsplus or search_procurement first to validate the query returns good results 4. Save with appropriate filters based on what the user described FILTER TIPS: - Use itemTypes ["grant"] for grants/fellowships or ["procurement"] for contracts/RFPs - Use sourceTypes ["federal"] for federal opportunities only - Use geography ["CA"] for California-specific (includes national opportunities) - For SAM.gov-specific filters (NAICS, set-asides), use sourceContext - Keep filters broad for notifications - better to get a few extra than miss one PLAN LIMITS: Free: 1 saved search, weekly email alerts. Plus ($29/mo): 10 saved searches, daily or weekly alerts. Pro ($79/mo): 25 saved searches, daily or weekly alerts. Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| cadence | string | – | Alert frequency. daily requires a paid plan (Plus or Pro); free includes weekly. never = save the search without email alerts. Default: weekly |
| filters | object | – | Filters to narrow alert results. All optional. When omitted, all opportunity types are included. |
| hidelow | boolean | – | Hide low-confidence results in alerts. Default: false |
| name | string | – | Friendly name for this search (e.g. "DOE Clean Energy Grants") |
| query | string | yes | Search query to save (e.g. "clean energy research grants", "IT services federal contracts") |
No output schema declared.
No examples provided.
search_foundations Search Foundations ~158
Look up a private foundation by full legal name or EIN in the active QA-gated Foundation Intelligence release (3,678 profiles). Mission/topic discovery and grant-purpose search are withheld until their source and quality contracts pass review. Counts toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max foundations to return (default: 10, max: 50) |
| min_annual_giving | number | – | Minimum annual giving in dollars |
| query | string | yes | Full private-foundation legal name or 9-digit EIN. Examples: "Gates Foundation" or "56-2618866". Mission/topic queries are not available in this release. |
| states | array | – | Filter by state (2-letter codes). Where foundation is based. |
No output schema declared.
No examples provided.
search_grants_and_procurement Search Grants & Contracts (Combined) ~1,100
MIXED search across all 32,717 opportunities from 232 sources — combines grants AND procurement/contracts in one query. This mixes funding types which can create noisy results. ROUTING — use the specialized tool instead: • User wants grants/funding/fellowships/prizes → search_grantsplus • User wants contracts/RFPs/procurement/bids → search_procurement • User explicitly wants BOTH types → search_grants_and_procurement • Intent unclear → ASK the user first Use search_grantsplus or search_procurement for cleaner, more relevant results. Free tier: 10 searches/month, full results. Paid plans add higher monthly limits. Paid plans show new listings the day they open; the free plan reaches the same listings after 10 days. Counts toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Filter by category |
| compact | boolean | – | Return compact results (default: true). Compact results include essential fields: id, title, organization, category, url, deadline, deadlineType, daysUntilDeadline, deadlineLabel, lastRoundClosedAt,… |
| cursor | string | – | Pagination cursor from previous response |
| deadline_within_days | number | – | Only opportunities closing within N days |
| limit | number | – | Max results (default: 10) |
| min_quality | string | – | Minimum quality threshold (default: medium) |
| new_within_days | number | – | Backwards-compatible alias for posted_within_days. Only opportunities WE ADDED (ingested) in the last N days for recurring/delta checks ("what is new since my last check"). Additive to all other filt… |
| organization | string | – | Filter by organization or funder name |
| posted_within_days | number | – | Preferred alias for new_within_days: only opportunities WE ADDED (ingested) in the last N days. In queryless browse mode without a single source, the recency window is sampled across sources round-ro… |
| procurement_type | string | – | Filter SAM.gov contracts by industry type. professional_services = consulting, engineering, R&D (NAICS 54xxxx, excludes manufacturing/construction noise). it_services = software, IT systems (NAICS 54… |
| query | string | – | Natural language search query |
| since | string | – | Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant. Store the previous response newSince.newest and pass it here to manag… |
| source | string | – | Filter by source domain or dataSource (e.g., "grants.gov" or "tier0-sam.gov") |
| status | string | – | Filter by status |
| user_context | object | – | User context for better filtering |
No output schema declared.
No examples provided.
search_grantsplus Search Grants & Foundations ~1,225
GRANTS & FOUNDATIONS — Search grants, prizes, fellowships, SBIR/STTR, and private foundations. Excludes procurement/contracts for clean results. Use when user wants: funding, grants, fellowships, research money, SBIR, foundation grants. Also returns matching private foundations automatically. Examples: "cancer research funding", "clean energy small business grants", "HVAC grants in Arizona". BATCH MODE (paid): pass a queries[] array of 2-5 variations instead of query to run them in parallel, dedupe, and return all unique results in one call — this replaces the former batch_search_grantsplus tool. Paid plans show new listings the day they open; the free plan reaches the same listings after 10 days. Counts toward your monthly searches. A batch counts as 1 call.
| Name | Type | Req | Description |
|---|---|---|---|
| compact | boolean | – | Return compact results (default: true). Set to false for full details. |
| cursor | string | – | Pagination cursor from previous response |
| deadline_within_days | number | – | Only opportunities closing within N days |
| detail_level | string | – | Batch mode only: controls response verbosity (minimal/compact [default]/full). Ignored in single-query mode. |
| grants_filters | object | – | Grants.gov specific filters |
| include_foundations | boolean | – | Also search private foundations matching the query (default: true). Returns foundations that have historically funded similar work. |
| limit | number | – | Max results (default: 25) |
| max_response_tokens | number | – | Batch mode only: token budget for the response (default 4000). Server auto-caps results to fit. Ignored in single-query mode. |
| max_results | number | – | Batch mode only: maximum merged results to return (default 10). Ignored in single-query mode (use limit). |
| min_quality | string | – | Minimum quality threshold (default: medium) |
| new_within_days | number | – | Backwards-compatible alias for posted_within_days. Only opportunities WE ADDED (ingested) in the last N days for recurring/delta checks ("what is new since my last check"). Additive to all other filt… |
| offset | number | – | Batch mode only: number of merged results to skip for pagination (default 0). Ignored in single-query mode. |
| organization | string | – | Filter by funding organization |
| posted_within_days | number | – | Preferred alias for new_within_days: only opportunities WE ADDED (ingested) in the last N days. In queryless browse mode without a single source, the recency window is sampled across sources round-ro… |
| queries | array | – | BATCH MODE (paid, replaces batch_search_grantsplus): array of 2-5 search queries to run in parallel, dedupe, and merge. Example for clean energy: ["renewable energy grants", "solar wind funding", "cl… |
| query | string | – | Natural language search query. Provide either query (single search) or queries (batch mode) — exactly one. |
| since | string | – | Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant. Store the previous response newSince.newest and pass it here to manag… |
| source | string | – | Filter to a specific source/domain, e.g. "grants.gov", "deq.nc.gov", or "sam.gov". |
| status | string | – | Filter by status |
| user_context | object | – | User context for better filtering |
No output schema declared.
No examples provided.
search_procurement Search Contracts & RFPs ~1,374
CONTRACTS & PROCUREMENT — Search government contracts, RFPs, RFIs, BAAs, and solicitations from SAM.gov. Better than searching SAM.gov directly — includes semantic search and NAICS industry filtering to exclude commodity noise. Use when user wants: contracts, RFPs, procurement, bids, government work. Examples: "IT consulting services", "construction management", "cybersecurity contracts". BATCH MODE (paid): pass a queries[] array of 2-5 variations instead of query to run them in parallel, dedupe, and return all unique results in one call — this replaces the former batch_search_procurement tool. When sam_filters.place_of_performance_state (alias: pop_state, accepted in both single and batch mode) is set, the response includes a placeOfPerformance field reporting how many results are confirmed performed in that state (matched), how many have no confirmed location and are shown demoted with a caveat (unknownServed, excluded instead when user_context.location_strict is true), and how many were excluded for being tagged to a different, parseable state (otherStateExcluded; geography we could not parse into any state, such as a bare address or ZIP code, counts as unknownServed instead); a batch call sums these across every sub-query. Paid plans show new listings the day they open; the free plan reaches the same listings after 10 days. Counts toward your monthly searches. A batch counts as 1 call.
| Name | Type | Req | Description |
|---|---|---|---|
| compact | boolean | – | Return compact results (default: true). Set to false for full details. |
| cursor | string | – | Pagination cursor from previous response |
| deadline_within_days | number | – | Only opportunities closing within N days |
| detail_level | string | – | Batch mode only: controls response verbosity (minimal/compact [default]/full). Ignored in single-query mode. |
| limit | number | – | Max results (default: 25) |
| max_response_tokens | number | – | Batch mode only: token budget for the response (default 4000). Server auto-caps results to fit. Ignored in single-query mode. |
| max_results | number | – | Batch mode only: maximum merged results to return (default 10). Ignored in single-query mode (use limit). |
| min_quality | string | – | Minimum quality threshold (default: medium) |
| new_within_days | number | – | Backwards-compatible alias for posted_within_days. Only opportunities WE ADDED (ingested) in the last N days for recurring/delta checks ("what is new since my last check"). Additive to all other filt… |
| offset | number | – | Batch mode only: number of merged results to skip for pagination (default 0). Ignored in single-query mode. |
| organization | string | – | Filter by contracting agency |
| posted_within_days | number | – | Preferred alias for new_within_days: only opportunities WE ADDED (ingested) in the last N days. In queryless browse mode without a single source, the recency window is sampled across sources round-ro… |
| procurement_type | string | – | Filter by industry. professional_services = consulting/engineering/R&D (NAICS 54xxxx). it_services = software/IT (NAICS 5415xx). construction = building (NAICS 23xxxx). manufacturing = production (NA… |
| queries | array | – | BATCH MODE (paid, replaces batch_search_procurement): array of 2-5 search queries to run in parallel, dedupe, and merge. Example for IT services: ["IT services contract", "software development federa… |
| query | string | – | Natural language search query. Provide either query (single search) or queries (batch mode) — exactly one. |
| sam_filters | object | – | SAM.gov specific filters |
| since | string | – | Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant. Store the previous response newSince.newest and pass it here to manag… |
| source | string | – | Filter to a specific source/domain, e.g. "sam.gov" or an agency source domain. |
| status | string | – | Filter by status |
| user_context | object | – | User context for better filtering |
No output schema declared.
No examples provided.
sign_in Sign In ~26
Authenticate existing subscriber via OAuth. Opens browser login. Does not count toward your monthly searches.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
update_saved_search Update Saved Search ~229
Update a saved search. Modify query, filters, alert cadence, name, or quality settings. Can only update your own saved searches. MODIFIABLE FIELDS: query, name, filters (same schema as save_search), cadence (weekly/daily/never), hidelow (quality filter), emailEnabled (on/off) TIP: Call list_saved_searches first to see the current settings, then update only the fields that need to change. The response confirms what was updated. Does not count toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| cadence | string | – | New alert frequency. daily requires a paid plan (Plus or Pro); free includes weekly. never = turn email alerts off. |
| emailEnabled | boolean | – | Enable or disable email alerts without changing cadence. |
| filters | object | – | New filters (same schema as save_search filters). Replaces all existing filters. |
| hidelow | boolean | – | Hide low-confidence results in alerts. |
| id | number | yes | Saved search ID to update |
| name | string | – | New friendly name |
| query | string | – | New search query text |
No output schema declared.
No examples provided.
whats_new What's New ~657
DEDICATED "what's new since I last checked" tool for recurring agent checks: one obvious call instead of remembering the new_within_days param on a search tool. Returns opportunities FundingLandscape ingested in the last N days (default 7), with a newSince summary (newCount, newest, oldest ingest timestamp). In a pure recency digest without a single source, the window is sampled across sources round-robin by ingest recency so one bulk harvester cannot own the digest; each source remains newest first. In windowCoverage, sourcesSampled counts distinct sources returned by the grouped provider query before MCP quality, judge, recency-withhold, and page filters; it is absent when no grouped sample was available, including when sampling was not attempted, and 0 means the grouped query succeeded but returned no sourced rows; sourcesServed counts distinct sources delivered on this page. windowCoverage.order is "recency" for the queryless browse digest or "relevance" when a query is present. windowIncomplete/incompleteReason reports any incomplete retrieval walk, and ceilingTruncated is true only when the 2,000-row ceiling excluded records; ceilingTruncated and hardCeiling are present only when order is "recency" and are omitted entirely under "relevance" (query mode never walks past a single bounded fetch, so no ceiling logic runs). Wraps the same ingest-freshness filter as posted_within_days/new_within_days on the search tools, no separate counting logic. Optional query/status/source narrow the window; omit query entirely for a pure recency digest across everything new. For a stateless watermark, pass since (ISO 8601) instead of days, then store this response's newSince.newest and pass it back next time. Free tier: full window, honest held-back count if the recency gate withholds anything newer. Counts toward your monthly searches.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Filter by category |
| compact | boolean | – | Return compact results (default: true). Set to false for full details. |
| cursor | string | – | Pagination cursor from previous response |
| days | number | – | Ingest-freshness window in days (default: 7). Only opportunities FundingLandscape ADDED in the last N days, not the opportunity posted date or deadline. Ignored if since is set. |
| limit | number | – | Results per page (default and maximum: 25). Large results produce smaller pages; follow nextCursor even after a short page. |
| min_quality | string | – | Minimum quality threshold (default: medium) |
| query | string | – | Optional natural language filter (e.g. "clean energy nonprofit"). Omit for a pure recency digest across all new opportunities. |
| since | string | – | Stateless alternative to days: ISO 8601 instant. Only opportunities ingested at/after this instant. Store the previous response newSince.newest and pass it here to manage your own watermark. |
| source | string | – | Filter to a specific source/domain, e.g. "grants.gov" or "sam.gov". |
| status | string | – | Filter by opportunity status (default: active) |
| user_context | object | – | – |
No output schema declared.
No examples provided.
What is the FundingLandscape MCP server?
FundingLandscape is an MCP server listed in the public MCP registry as io.github.tettertotter/fundinglandscape. Search 31,000+ open US grants, federal contracts, and foundations. Checked daily, free tier. This page covers its hosted endpoint (https://fundinglandscape.com/api/mcp).
Is the FundingLandscape MCP server safe to use?
FundingLandscape scores 92 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the FundingLandscape MCP server expose?
FundingLandscape exposes 28 tools: search_grants_and_procurement, search_grantsplus, search_procurement, whats_new, get_opportunity, and 23 more. Their descriptions and schemas cost roughly 8,895 tokens of context every time the server is loaded.
Does the FundingLandscape MCP server require authentication?
Yes. FundingLandscape asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the FundingLandscape MCP server still maintained?
FundingLandscape is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.