accueil / serveurs / Productivité / io.github.tettertotter/fundinglandscape
io.github.tettertotter/fundinglandscape
serveur MCP (Model Context Protocol) · fundinglandscape 2.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.tettertotter/fundinglandscape est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.tettertotter/fundinglandscape » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 28 outils
- batch_search_grantsplus≈ 1045 tokens
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.
Paramètres, retour & exemple (12)
Paramètressince· string · optionnel
Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant.offset· number · optionnel
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.source· string · optionnel
Filter every batch sub-query to a specific source/domain, e.g. "grants.gov" or "deq.nc.gov".queries· array · requis
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 funding"]max_results· number · optionnel
Maximum opportunities to return (default: 10, max: 100). Token cost guide: 10 results ~4KB, 25 results ~10KB, 50 results ~20KB, 100 results ~40KB.detail_level· string · optionnel · minimal | compact | full
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, status, deadlineType, daysUntilDeadline, deadlineLabel, and lastRoundClosedAt - good for recommendations. full (~1.5KB/result): everything including eligibility, amounts - only use with max_results <= 10.user_context· object · optionnelgrants_filters· object · optionnel
Grants.gov specific filtersnew_within_days· number · optionnel
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-query before dedupe; response includes deduped newSince.newCount and the newest/oldest ingest timestamp in the window.posted_within_days· number · optionnel
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 posted_within_days and new_within_days are supplied, posted_within_days wins.include_foundations· boolean · optionnel
Also search private foundations (default: true)max_response_tokens· number · optionnel
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.
Exemple d'appel{"name": "batch_search_grantsplus", "arguments": {"queries": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - batch_search_procurement≈ 1464 tokens
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.
Paramètres, retour & exemple (11)
Paramètressince· string · optionnel
Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant.offset· number · optionnel
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.source· string · optionnel
Filter every batch sub-query to a specific source/domain, e.g. "sam.gov".queries· array · requis
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"]max_results· number · optionnel
Maximum opportunities to return (default: 10, max: 100). Token cost guide: 10 results ~4KB, 25 results ~10KB, 50 results ~20KB, 100 results ~40KB.sam_filters· object · optionnel
SAM.gov specific filtersdetail_level· string · optionnel · minimal | compact | full
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, status, deadlineType, daysUntilDeadline, deadlineLabel, and lastRoundClosedAt - good for recommendations. full (~1.5KB/result): everything including eligibility, amounts - only use with max_results <= 10.user_context· object · optionnelnew_within_days· number · optionnel
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-query before dedupe; response includes deduped newSince.newCount and the newest/oldest ingest timestamp in the window.posted_within_days· number · optionnel
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 posted_within_days and new_within_days are supplied, posted_within_days wins.max_response_tokens· number · optionnel
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.
Exemple d'appel{"name": "batch_search_procurement", "arguments": {"queries": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_connection≈ 156 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "check_connection", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - deadline_calendar≈ 511 tokens
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). Available to authenticated free and paid accounts, within their search allowance. Free-plan listing-access limits still apply. Counts toward your monthly searches.
Paramètres, retour & exemple (4)
Paramètresdays· number · optionnel
Alternative to weeks: exact number of days ahead to show (default: 28, max: 365)weeks· number · optionnel
Number of weeks ahead to show (default: 4, max: 12)compact· boolean · optionnel
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.category· string · optionnel
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.
Exemple d'appel{"name": "deadline_calendar", "arguments": {"days": 1, "weeks": 1, "compact": true, "category": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_saved_search≈ 126 tokens
Delete a saved search by ID. Use list_saved_searches first to find the ID. Does not count toward your monthly searches.
Paramètres, retour & exemple (1)
Paramètresid· number · requis
Saved search ID (from list_saved_searches)
Exemple d'appel{"name": "delete_saved_search", "arguments": {"id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_funders_of≈ 373 tokens
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.
Paramètres, retour & exemple (4)
Paramètrespage· number · optionnel
1-based page of matched recipients.limit· number · optionnel
Recipients per page (default 20, max 50).state· string · optionnel
Optional 2-letter state code to restrict matches to recipients recorded in that state.organization· string · requis
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.
Exemple d'appel{"name": "find_funders_of", "arguments": {"organization": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_similar≈ 275 tokens
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. Available to authenticated free and paid accounts, within their search allowance. Free-plan listing-access limits still apply. Counts toward your monthly searches.
Paramètres, retour & exemple (2)
Paramètreslimit· number · optionnel
Max similar opportunities to return (default: 5, max: 20)opportunity_id· string · requis
ID of the opportunity to find similar matches for (from search results)
Exemple d'appel{"name": "find_similar", "arguments": {"opportunity_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - funders_for_cause≈ 434 tokens
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.
Paramètres, retour & exemple (4)
Paramètrespage· number · optionnel
1-based page of funders.cause· string · requis
Cause area name (for example "Education") or its NTEE major group letter (for example "B").limit· number · optionnel
Funders per page (default 20, max 50).state· string · optionnel
Optional 2-letter state code for the RECIPIENT organizations, not the funder.
Exemple d'appel{"name": "funders_for_cause", "arguments": {"cause": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_account_status≈ 112 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_account_status", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_categories≈ 144 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_categories", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_dataset_summary≈ 100 tokens
Get dataset size and coverage stats (open opportunities, certified sources). Does not count toward your monthly searches.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_dataset_summary", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_foundation≈ 687 tokens
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. Individual grant recipients are never named: a recipient is named only when the IRS Business Master File confirms an organization of that name in that state, and a grant purpose that may name a person is withheld. Only private foundations (IRS 990-PF filers, 3,678+ foundations) are included. Covers IRS tax years 2018 to 2026. Does not count toward your monthly searches.
Paramètres, retour & exemple (12)
Paramètresein· string · requis
9-digit EIN (no dashes). Example: 911663695. Must be a private foundation (990-PF filer).page· number · optionnel
For federal_connections, 1-based results page.year· number · optionnel
For grant_history, filter by filing year.limit· number · optionnel
Rows per paid page (default 25, max 100). Federal connections uses page-number pagination; grant history and repeat grantees return opaque cursors.state· string · optionnel
For grant_history or federal_connections, filter by 2-letter recipient state.cursor· string · optionnel
Opaque cursor returned by the prior page.section· string · optionnel · public_profile | grant_history | repeat_grantees | leadership | federal_connections
Foundation Intelligence section. Grant history and repeat grantees require Plus; filing-listed leadership and federal-recipient connections require Pro.recipient· string · optionnel
Filter grant-history or repeat-grantee rows by organization name.minimum_years· number · optionnel
For repeat_grantees, minimum covered filing years (2+).maximum_amount· number · optionnel
For grant_history, maximum amount per reported line.minimum_amount· number · optionnel
For grant_history, minimum amount per reported line.assistance_listing_number· string · optionnel
For federal_connections, filter by Assistance Listing number such as 93.855.
Exemple d'appel{"name": "get_foundation", "arguments": {"ein": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_opportunity≈ 262 tokens
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.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Exact opportunity ID from search results (CUID format like "cmk65gf09...")
Exemple d'appel{"name": "get_opportunity", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_pack_link≈ 129 tokens
Buy Search Pack ($5 = 50 searches, never expire). Requires active subscription. Does not count toward your monthly searches.
Paramètres, retour & exemple (1)
Paramètresquantity· number · optionnel
Number of packs to buy (1-20, default: 1). Each pack = 50 searches.
Exemple d'appel{"name": "get_pack_link", "arguments": {"quantity": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_pricing≈ 92 tokens
Get pricing for all plans. Returns names, prices, features, limits. Does not count toward your monthly searches.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_pricing", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_setup_instructions≈ 100 tokens
Return MCP setup instructions for Claude Desktop and other clients. Does not count toward your monthly searches.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_setup_instructions", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_tool_guide≈ 190 tokens
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.
Paramètres, retour & exemple (1)
Paramètrestopic· string · optionnel · overview | search | foundations | batch | filters | workflows | all
Topic to get guidance on (default: overview). Use "all" for complete reference.
Exemple d'appel{"name": "get_tool_guide", "arguments": {"topic": "overview"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_upgrade_link≈ 176 tokens
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.
Paramètres, retour & exemple (2)
Paramètresplan· string · optionnel · plus | pro
Plan to upgrade to (default: plus)interval· string · optionnel · month
Billing interval (default: month)
Exemple d'appel{"name": "get_upgrade_link", "arguments": {"plan": "plus", "interval": "month"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_saved_searches≈ 180 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_saved_searches", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - report_feedback≈ 365 tokens
Report bugs, data issues, or feedback. Actions: bug, data_issue, irrelevant, praise. Does not count toward your monthly searches.
Paramètres, retour & exemple (10)
Paramètrestool· string · optionnel
Which tool had the issueaction· string · requis · clicked | saved | dismissed | irrelevant | wrong_category | bug | feature_request | data_issue
Type of feedback. Use "bug" for errors, "data_issue" for stale/wrong data, "irrelevant" for poor results.message· string · optionnel
Describe the issue. For bugs, include the error message.category· string · optionnelseverity· string · optionnel · low | medium | high
high = user blocked, medium = degraded experience, low = minor issuerequest_id· string · optionnel
From error response - helps us trace the issuesearch_query· string · optionnel
The search query that produced the issueuser_context· object · optionnelopportunity_id· string · optionnel
ID of the opportunity being reported on (if applicable)result_position· number · optionnel
Exemple d'appel{"name": "report_feedback", "arguments": {"action": "clicked"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - save_search≈ 1180 tokens
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.
Paramètres, retour & exemple (5)
Paramètresname· string · optionnel
Friendly name for this search (e.g. "DOE Clean Energy Grants")query· string · requis
Search query to save (e.g. "clean energy research grants", "IT services federal contracts")cadence· string · optionnel · weekly | daily | never
Alert frequency. daily requires a paid plan (Plus or Pro); free includes weekly. never = save the search without email alerts. Default: weeklyfilters· object · optionnel
Filters to narrow alert results. All optional. When omitted, all opportunity types are included.hidelow· boolean · optionnel
Hide low-confidence results in alerts. Default: false
Exemple d'appel{"name": "save_search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_foundations≈ 286 tokens
Look up a private foundation by full legal name or EIN in the active QA-gated Foundation Intelligence release (3,678 profiles). Covers IRS tax years 2018 to 2026. Mission/topic discovery and grant-purpose search are withheld until their source and quality contracts pass review. Counts toward your monthly searches.
Paramètres, retour & exemple (4)
Paramètreslimit· number · optionnel
Max foundations to return (default: 10, max: 50)query· string · requis
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 · optionnel
Filter by state (2-letter codes). Where foundation is based.min_annual_giving· number · optionnel
Minimum annual giving in dollars
Exemple d'appel{"name": "search_foundations", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_grants_and_procurement≈ 2013 tokens
MIXED search across all 25,333 opportunities from 194 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. No account needed: 25 searches and 50 full records per UTC day, counted against the mcp-session-id header that initialize returns. A free account gets 10 searches per month with full results; Plus gets 100 and Pro 1,000 per month. Paid plans see new listings in search, alerts and AI search within a day of when we add them; the free plan sees them there after 10 days. Counts toward your monthly searches.
Paramètres, retour & exemple (15)
Paramètreslimit· number · optionnel
Max results (default: 10)query· string · optionnel
Natural language search querysince· string · optionnel
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 manage your own watermark.cursor· string · optionnel
Pagination cursor from previous responsesource· string · optionnel
Filter by source domain or dataSource (e.g., "grants.gov" or "tier0-sam.gov")status· string · optionnel · open | closed | all
Filter by statuscompact· boolean · optionnel
Return compact results (default: true). Compact results include essential fields: id, title, organization, category, url, deadline, deadlineType, daysUntilDeadline, deadlineLabel, lastRoundClosedAt, status, qualityScore, and snippet. Set to false for full details including eligibility, amounts, and match explanations.category· string · optionnel
Filter by categorymin_quality· string · optionnel · high | medium | low | any
Minimum record-completeness tier (default: medium). any removes this quality-tier filter; relevance, access and other filters still apply.organization· string · optionnel
Filter by organization or funder nameuser_context· object · optionnel
User context for better filteringnew_within_days· number · optionnel
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 filters. In queryless browse mode without a single source, the recency window is sampled across sources round-robin by ingest recency so one bulk harvester cannot own the digest; each source remains newest first. The response includes newSince and 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 is separate from ceilingTruncated, which 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). Not the opportunity posted date or deadline.procurement_type· string · optionnel · professional_services | it_services | construction | manufacturing | all
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 5415xx). construction = building projects (NAICS 23xxxx). manufacturing = production (NAICS 31-33xxxx). Use this to avoid irrelevant commodity results like "O-RING" or "VALVE" when searching for service contracts.posted_within_days· number · optionnel
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-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 is separate from ceilingTruncated, which 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). Uses the same ingest freshness field as newSince/recurring checks; not the opportunity posted date or deadline. If both posted_within_days and new_within_days are supplied, posted_within_days wins.deadline_within_days· number · optionnel
Only opportunities closing within N days
Exemple d'appel{"name": "search_grants_and_procurement", "arguments": {"limit": 1, "query": "texte", "since": "texte", "cursor": "texte", "source": "texte", "status": "open"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_grantsplus≈ 1885 tokens
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 see new listings in search, alerts and AI search within a day of when we add them; the free plan sees them there after 10 days. Counts toward your monthly searches. A batch counts as 1 call.
Paramètres, retour & exemple (20)
Paramètreslimit· number · optionnel
Max results (default: 25)query· string · optionnel
Natural language search query. Provide either query (single search) or queries (batch mode) — exactly one.since· string · optionnel
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 manage your own watermark.cursor· string · optionnel
Pagination cursor from previous responseoffset· number · optionnel
Batch mode only: number of merged results to skip for pagination (default 0). Ignored in single-query mode.source· string · optionnel
Filter to a specific source/domain, e.g. "grants.gov", "deq.nc.gov", or "sam.gov".status· string · optionnel · open | closed | all
Filter by statuscompact· boolean · optionnel
Return compact results (default: true). Set to false for full details.queries· array · optionnel
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", "clean energy nonprofit", "sustainability grants", "green technology funding"]. When set, query is ignored and the batch response params (detail_level, max_results, offset, max_response_tokens) apply.max_results· number · optionnel
Batch mode only: maximum merged results to return (default 10). Ignored in single-query mode (use limit).min_quality· string · optionnel · high | medium | low | any
Minimum record-completeness tier (default: medium). any removes this quality-tier filter; relevance, access and other filters still apply.detail_level· string · optionnel · minimal | compact | full
Batch mode only: controls response verbosity (minimal/compact [default]/full). Ignored in single-query mode.organization· string · optionnel
Filter by funding organizationuser_context· object · optionnel
User context for better filteringgrants_filters· object · optionnel
Grants.gov specific filtersnew_within_days· number · optionnel
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 filters. In queryless browse mode without a single source, the recency window is sampled across sources round-robin by ingest recency so one bulk harvester cannot own the digest; each source remains newest first. The response includes newSince and 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 is separate from ceilingTruncated, which 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). Not the opportunity posted date or deadline.posted_within_days· number · optionnel
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-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 is separate from ceilingTruncated, which 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). Uses the same ingest freshness field as newSince/recurring checks; not the opportunity posted date or deadline. If both posted_within_days and new_within_days are supplied, posted_within_days wins.include_foundations· boolean · optionnel
Also search private foundations matching the query (default: true). Returns foundations that have historically funded similar work.max_response_tokens· number · optionnel
Batch mode only: token budget for the response (default 4000). Server auto-caps results to fit. Ignored in single-query mode.deadline_within_days· number · optionnel
Only opportunities closing within N days
Exemple d'appel{"name": "search_grantsplus", "arguments": {"limit": 1, "query": "texte", "since": "texte", "cursor": "texte", "offset": 1, "source": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_procurement≈ 2517 tokens
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 see new listings in search, alerts and AI search within a day of when we add them; the free plan sees them there after 10 days. Counts toward your monthly searches. A batch counts as 1 call.
Paramètres, retour & exemple (20)
Paramètreslimit· number · optionnel
Max results (default: 25)query· string · optionnel
Natural language search query. Provide either query (single search) or queries (batch mode) — exactly one.since· string · optionnel
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 manage your own watermark.cursor· string · optionnel
Pagination cursor from previous responseoffset· number · optionnel
Batch mode only: number of merged results to skip for pagination (default 0). Ignored in single-query mode.source· string · optionnel
Filter to a specific source/domain, e.g. "sam.gov" or an agency source domain.status· string · optionnel · open | closed | all
Filter by statuscompact· boolean · optionnel
Return compact results (default: true). Set to false for full details.queries· array · optionnel
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 federal", "technology consulting government", "computer services procurement"]. When set, query is ignored and the batch response params (detail_level, max_results, offset, max_response_tokens) apply.max_results· number · optionnel
Batch mode only: maximum merged results to return (default 10). Ignored in single-query mode (use limit).min_quality· string · optionnel · high | medium | low | any
Minimum record-completeness tier (default: medium). any removes this quality-tier filter; relevance, access and other filters still apply.sam_filters· object · optionnel
SAM.gov specific filtersdetail_level· string · optionnel · minimal | compact | full
Batch mode only: controls response verbosity (minimal/compact [default]/full). Ignored in single-query mode.organization· string · optionnel
Filter by contracting agencyuser_context· object · optionnel
User context for better filteringnew_within_days· number · optionnel
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 filters. In queryless browse mode without a single source, the recency window is sampled across sources round-robin by ingest recency so one bulk harvester cannot own the digest; each source remains newest first. The response includes newSince and 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 is separate from ceilingTruncated, which 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). Not the opportunity posted date or deadline.procurement_type· string · optionnel · professional_services | it_services | construction | manufacturing | all
Filter by industry. professional_services = consulting/engineering/R&D (NAICS 54xxxx). it_services = software/IT (NAICS 5415xx). construction = building (NAICS 23xxxx). manufacturing = production (NAICS 31-33xxxx).posted_within_days· number · optionnel
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-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 is separate from ceilingTruncated, which 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). Uses the same ingest freshness field as newSince/recurring checks; not the opportunity posted date or deadline. If both posted_within_days and new_within_days are supplied, posted_within_days wins.max_response_tokens· number · optionnel
Batch mode only: token budget for the response (default 4000). Server auto-caps results to fit. Ignored in single-query mode.deadline_within_days· number · optionnel
Only opportunities closing within N days
Exemple d'appel{"name": "search_procurement", "arguments": {"limit": 1, "query": "texte", "since": "texte", "cursor": "texte", "offset": 1, "source": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - sign_in≈ 88 tokens
Authenticate existing subscriber via OAuth. Opens browser login. Does not count toward your monthly searches.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "sign_in", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_saved_search≈ 694 tokens
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.
Paramètres, retour & exemple (7)
Paramètresid· number · requis
Saved search ID to updatename· string · optionnel
New friendly namequery· string · optionnel
New search query textcadence· string · optionnel · weekly | daily | never
New alert frequency. daily requires a paid plan (Plus or Pro); free includes weekly. never = turn email alerts off.filters· object · optionnel
New filters (same schema as save_search filters). Replaces all existing filters.hidelow· boolean · optionnel
Hide low-confidence results in alerts.emailEnabled· boolean · optionnel
Enable or disable email alerts without changing cadence.
Exemple d'appel{"name": "update_saved_search", "arguments": {"id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - whats_new≈ 1034 tokens
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.
Paramètres, retour & exemple (11)
Paramètresdays· number · optionnel
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 · optionnel
Results per page (default and maximum: 25). Large results produce smaller pages; follow nextCursor even after a short page.query· string · optionnel
Optional natural language filter (e.g. "clean energy nonprofit"). Omit for a pure recency digest across all new opportunities.since· string · optionnel
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.cursor· string · optionnel
Pagination cursor from previous responsesource· string · optionnel
Filter to a specific source/domain, e.g. "grants.gov" or "sam.gov".status· string · optionnel · active | open | rolling | forecast | closed | all
Filter by opportunity status (default: active)compact· boolean · optionnel
Return compact results (default: true). Set to false for full details.category· string · optionnel
Filter by categorymin_quality· string · optionnel · high | medium | low | any
Minimum record-completeness tier (default: medium). any removes this quality-tier filter; relevance, access and other filters still apply.user_context· object · optionnel
Exemple d'appel{"name": "whats_new", "arguments": {"days": 1, "limit": 1, "query": "texte", "since": "texte", "cursor": "texte", "source": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».