Skip to main content
Glama

Server Details

Search 21,000+ open US grants, SAM.gov contracts, and foundations. Checked daily, free tier.

Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 26 of 26 tools scored. Lowest: 3.6/5.

Server CoherenceA
Disambiguation4/5

Most tools have clear distinct purposes. Some overlap exists (e.g., search_grantsplus and search_foundations both return foundations, but descriptions clarify the distinction). Also batch_ variants are comprehensive versions of the standard searches. Overall, agents can differentiate well.

Naming Consistency4/5

Tool names predominantly follow verb_noun pattern in snake_case (e.g., search_grantsplus, get_opportunity, list_saved_searches). Minor deviation with 'whats_new' (no underscore) and 'check_connection' (different verb form). Otherwise consistent.

Tool Count4/5

26 tools is slightly above the typical 3-15 range but still reasonable for a comprehensive funding landscape server covering grants, procurement, foundations, saved searches, account management, and utilities. Each tool serves a clear purpose.

Completeness4/5

The tool surface covers core search, detail retrieval, saved search management, account information, and feedback. Missing are profile management or direct payment modification tools (only links provided). Minor gaps but overall complete for the domain.

Available Tools

26 tools
batch_search_grantsplusBatch Search GrantsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoStateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant.
offsetNoNumber 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.
sourceNoFilter every batch sub-query to a specific source/domain, e.g. "grants.gov" or "deq.nc.gov".
queriesYesArray 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_resultsNoMaximum opportunities to return (default: 10, max: 100). Token cost guide: 10 results ~4KB, 25 results ~10KB, 50 results ~20KB, 100 results ~40KB.
detail_levelNoControls response verbosity. minimal (~120 bytes/result): id, title, org, deadline, url, qualityScore - best for scanning 50+ results. compact (~300 bytes/result, DEFAULT): adds snippet, category, status - good for recommendations. full (~1.5KB/result): everything including eligibility, amounts - only use with max_results <= 10.compact
user_contextNo
grants_filtersNoGrants.gov specific filters
new_within_daysNoBackwards-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_daysNoPreferred 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_foundationsNoAlso search private foundations (default: true)
max_response_tokensNoToken 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.
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior. Description adds: counts toward monthly searches, batch counts as 1 call, default result count, and response size guidance. No contradiction with annotations.

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

Conciseness4/5

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

Description is succinct with key points front-loaded: deprecation notice first, then functionality, then behavioral notes. Every sentence adds value, though slightly dense.

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

Completeness4/5

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

Given the tool's complexity (12 params, nested objects, no output schema), the description provides adequate context: purpose, relationship to preferred sibling, default behavior, and response size control. Missing details about return format are compensated by schema parameter descriptions.

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

Parameters4/5

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

Schema covers 92% of parameters with descriptions. The description adds high-level usage advice (controlling response size with detail_level and max_results, token cost guide) and mentions total count in response, enhancing schema-only information.

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

Purpose5/5

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

Clearly states the tool is a deprecated alias for search_grantsplus, used for batch searching grants, prizes, and foundations. Distinguishes itself from the preferred sibling by declaring equivalence and deprecation.

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

Usage Guidelines5/5

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

Explicitly advises using search_grantsplus instead for identical functionality, providing clear when-not-to-use guidance. Also notes backward compatibility for existing clients.

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

batch_search_procurementBatch Search ContractsA
Read-onlyIdempotent
Inspect

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. Counts toward your monthly searches. A batch counts as 1 call.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoStateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant.
offsetNoNumber 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.
sourceNoFilter every batch sub-query to a specific source/domain, e.g. "sam.gov".
queriesYesArray 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_resultsNoMaximum opportunities to return (default: 10, max: 100). Token cost guide: 10 results ~4KB, 25 results ~10KB, 50 results ~20KB, 100 results ~40KB.
sam_filtersNoSAM.gov specific filters
detail_levelNoControls response verbosity. minimal (~120 bytes/result): id, title, org, deadline, url, qualityScore - best for scanning 50+ results. compact (~300 bytes/result, DEFAULT): adds snippet, category, status - good for recommendations. full (~1.5KB/result): everything including eligibility, amounts - only use with max_results <= 10.compact
user_contextNo
new_within_daysNoBackwards-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_daysNoPreferred 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_tokensNoToken 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.
Behavior5/5

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

Adds significant behavioral context beyond annotations, including default result size, response size control, total count inclusion, and monthly search counting. No contradiction with annotations.

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

Conciseness5/5

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

Extremely concise and well-structured. Key deprecation notice is front-loaded, followed by essential behavioral details. Every sentence serves a purpose.

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

Completeness4/5

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

Covers the essential aspects for a search tool: purpose, deprecation, output control, counting. Could mention deduplication across queries, but overall complete given complexity.

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

Parameters4/5

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

With 91% schema coverage, the description still adds value by contextualizing max_results and detail_level with approximate sizes and token costs. Also notes that a batch counts as 1 call, which is not in schema.

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

Purpose5/5

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

Clearly states it is a deprecated alias for search_procurement with queries array, and describes its function as searching federal contracts comprehensively. Explicitly distinguishes itself from the preferred sibling tool.

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

Usage Guidelines5/5

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

Explicitly tells when to avoid this tool (prefer search_procurement) and provides context for backward compatibility. Also explains how to control response size and that batch counts as 1 call.

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

check_connectionCheck ConnectionA
Read-onlyIdempotent
Inspect

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 and your authentication is valid. Does not count toward your monthly searches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint. Description adds valuable context: 'Returns success immediately with no database calls' and 'Does not count toward monthly searches.' No contradictions.

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

Conciseness5/5

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

Three concise sentences, each carrying essential information. No fluff or repetition. Front-loaded with purpose.

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

Completeness5/5

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

For a simple connection check with no parameters or output schema, the description fully covers purpose, usage, and behavioral traits. Nothing missing.

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

Parameters4/5

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

Tool has zero parameters; schema coverage is 100%. No need for additional parameter description. Baseline 4 is appropriate as there is nothing to add.

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

Purpose5/5

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

The description clearly states the tool verifies MCP server connectivity. It uses a specific verb-resource pair and is distinct from sibling tools which perform other functions like searching or account management.

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

Usage Guidelines5/5

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

Explicitly advises using this tool first when experiencing errors, confirming server reachability and authentication. Also notes it doesn't count toward monthly searches, providing clear guidance on when to use.

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

deadline_calendarDeadline CalendarA
Read-onlyIdempotent
Inspect

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. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoAlternative to weeks: exact number of days ahead to show (default: 28, max: 365)
weeksNoNumber of weeks ahead to show (default: 4, max: 12)
compactNoReturn 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.
categoryNoOptional. 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.
Behavior4/5

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

Annotations (readOnlyHint, idempotentHint, destructiveHint) are consistent. Description adds valuable behavioral details: compact mode merging, exclusions, paid feature, and monthly counts, going beyond what annotations provide.

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

Conciseness4/5

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

Reasonably concise; every sentence adds value. Starts with primary action, then details compact behavior, exclusions, and billing. Could be slightly tighter, but the structure is clear and informative.

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

Completeness4/5

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

Covers core behavior, compact vs full mode, exclusions, category filter, and billing. Without an output schema, the description provides enough detail about return structure (rows, sections, counts) and limitations for effective use.

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

Parameters4/5

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

All four parameters have schema descriptions (100% coverage). The description adds significant context: default values for days/weeks, compact mode behavior, and category restriction. This information helps agents use parameters correctly beyond the schema.

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

Purpose4/5

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

Clearly states the tool retrieves upcoming funding deadlines for planning. Uses specific verb 'Get' and resource 'upcoming funding deadlines'. While it doesn't explicitly differentiate from sibling search tools, its focus on scheduling and the compact vs full mode suggest a distinct purpose.

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

Usage Guidelines3/5

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

Provides context: when to use (planning schedule), what is excluded (non-biddable, past/undated), and optional parameters (category). However, it lacks explicit guidance on when not to use this tool versus sibling tools like search_grants_and_procurement, and does not mention alternatives.

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

find_similarFind Similar OpportunitiesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax similar opportunities to return (default: 5, max: 20)
opportunity_idYesID of the opportunity to find similar matches for (from search results)
Behavior4/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool is safe. The description adds behavioral context beyond annotations: it is a paid feature that counts toward monthly searches, and it uses vector embeddings. No contradictions.

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

Conciseness5/5

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

The description is concise (4 sentences) and front-loaded. The first sentence defines the core purpose, followed by output format, usage context, technical method, and cost implications. Every sentence adds value with no redundancy.

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

Completeness4/5

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

For a simple tool with 2 parameters and no output schema, the description covers purpose, output format, usage context, and cost. It could mention ordering of results, but otherwise is complete.

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

Parameters3/5

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

The input schema covers both parameters with full descriptions. The description adds no new meaning beyond stating that opportunity_id comes from search results and limit has a default. Given 100% schema coverage, baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool finds opportunities similar to a given one using semantic similarity. It specifies the verb 'Find', resource 'opportunities', and method 'semantic similarity'. It also mentions the return fields (similarityScore, matchExplanation), making the purpose distinct from sibling search tools.

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

Usage Guidelines4/5

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

The description explains when to use the tool: 'when user likes one result and wants more like it.' It contrasts with keyword-based search by noting that it uses vector embeddings for conceptual similarity. However, it does not explicitly list when not to use it or name alternative tools.

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

get_account_statusGet Account StatusA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds a valuable behavioral detail: 'Does not count toward your monthly searches,' which informs the agent that the tool has no cost impact. No contradictions with annotations.

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

Conciseness5/5

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

Two concise sentences, front-loaded with key information. Every sentence adds value with no wasted words.

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

Completeness5/5

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

Given zero parameters, comprehensive annotations, and no output schema, the description fully covers what the tool returns (subscription status, usage, remaining searches) and a key behavioral note. No gaps.

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

Parameters4/5

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

The input schema has 0 parameters and 100% schema coverage, so the description need not add parameter info. Baseline score of 4 applies as description adds no param details but is not required to.

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

Purpose5/5

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

The description explicitly states the tool checks 'subscription status, usage this period, and remaining searches,' using specific verbs and resources. It clearly distinguishes from sibling tools like get_pricing and get_upgrade_link by focusing on current status and remaining searches.

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

Usage Guidelines4/5

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

The description advises 'Use anytime to see how many searches you have left' and notes 'Does not count toward your monthly searches,' providing clear context for when to use. It lacks explicit alternatives or when-not-to-use guidance but is sufficient.

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

get_categoriesList Funding CategoriesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the behavioral note that it does not count toward monthly searches, which provides extra value beyond the annotations.

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

Conciseness5/5

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

The description is two sentences long, front-loaded with the main action, and every word adds value. No unnecessary information.

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

Completeness5/5

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

Given the tool's simplicity (no parameters, no output schema), the description fully explains what it returns (categories with counts) and its utility. It is complete for an AI agent to understand and invoke correctly.

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

Parameters4/5

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

There are no parameters, and schema description coverage is 100%. The description does not need to add parameter details, and it correctly focuses on behavior and return content.

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

Purpose5/5

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

The description clearly states the tool lists all funding categories with opportunity counts, using verbs like 'Browse' and specifying the resource. It distinguishes itself from sibling tools by focusing on categories rather than searches or other operations.

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

Usage Guidelines4/5

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

It provides a clear use case ('useful for understanding what types of opportunities are available') and notes that it doesn't count toward monthly searches. However, it does not explicitly mention when not to use it or compare to alternatives.

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

get_dataset_summaryGet Dataset SummaryA
Read-onlyIdempotent
Inspect

Get dataset size and coverage stats (open opportunities, certified sources). Does not count toward your monthly searches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint false. The description adds that the tool doesn't count toward searches, which is additional behavioral context beyond annotations.

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

Conciseness5/5

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

Two concise sentences with front-loaded purpose and no extraneous information. Every sentence adds value.

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

Completeness4/5

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

For a zero-parameter, read-only tool without output schema, the description adequately states what it retrieves and a key behavioral trait (no search count). It covers essential context.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100%, so the description need not explain parameters. The description adds no parameter info, which is appropriate.

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

Purpose5/5

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

The description clearly states it retrieves dataset size and coverage stats, specifying 'open opportunities' and 'certified sources'. It distinguishes from sibling tools like get_opportunity or search tools by its focus on summary statistics.

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

Usage Guidelines3/5

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

The description mentions 'Does not count toward your monthly searches,' providing a usage benefit. However, it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.

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

get_foundationGet Foundation DetailsA
Read-onlyIdempotent
Inspect

Get complete details on a PRIVATE foundation by EIN. Returns comprehensive profile including financials, grant history, sector focus, and suggested next steps. NOTE: Only includes private foundations (IRS 990-PF filers, 3,678+ foundations). Public charities, fiscal sponsors, and community foundations are NOT included. Does not count toward your monthly searches.

ParametersJSON Schema
NameRequiredDescriptionDefault
einYes9-digit EIN (no dashes). Example: 911663695. Must be a private foundation (990-PF filer).
include_grantsNoInclude recent grants (up to 20). Default: true
Behavior4/5

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

Annotations already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds valuable context: it does not count toward monthly searches (a key capability trait) and clarifies the data source (990-PF filers). No contradictions are present.

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

Conciseness5/5

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

The description is three sentences long, each adding unique value: purpose, scope limitation, and a note on usage impact. It is front-loaded with the core action and resource. There is no redundancy or fluff.

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

Completeness4/5

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

The description lists the types of data returned (financials, grant history, sector focus, suggested next steps) and mentions grant control via parameter. Without an output schema, this provides sufficient context. It does not cover pagination or limits beyond 'up to 20' grants, but for a read tool with clear parameters, this is adequate.

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

Parameters3/5

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

Schema coverage is 100% and each parameter has a detailed description (e.g., EIN format, example, required type). The description adds no additional parameter information beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Get complete details on a PRIVATE foundation by EIN,' specifying the verb (get), resource (foundation details), and scope (private only). This distinguishes it from sibling tools like 'search_foundations' which imply a broader or different operation.

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

Usage Guidelines4/5

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

The description explicitly notes that only private foundations are included and that public charities are NOT included, providing clear guidance on when to use. It also mentions that it doesn't count toward monthly searches, adding practical usage context. However, it does not explicitly name alternative tools for other foundation types.

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

get_opportunityGet Opportunity DetailsA
Read-onlyIdempotent
Inspect

Get full details for a specific funding opportunity. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesExact opportunity ID from search results (CUID format like "cmk65gf09...")
Behavior4/5

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

Annotations already indicate readOnly, idempotent, non-destructive. The description adds value by noting the tool does not count toward monthly searches (rate limit context) and warns against ID guessing, which could cause errors. No contradictions.

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

Conciseness5/5

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

Two sentences, no filler. The first sentence states purpose clearly, the second delivers key usage guidance. Every word earns its place.

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

Completeness4/5

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

With no output schema, 'full details' is somewhat vague but acceptable for a get-by-id pattern. The description covers what the tool does and how to call it, enough for an agent to use correctly.

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

Parameters4/5

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

Schema coverage is 100% and schema description already provides the CUID format. The description reinforces this and adds a critical usage warning, improving practical understanding beyond the schema.

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

Purpose5/5

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

The description clearly states the action ('Get full details') and resource ('specific funding opportunity'), distinguishing it from sibling search tools like 'search_grants_and_procurement' or 'batch_search_grantsplus'.

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

Usage Guidelines5/5

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

Explicitly instructs to use the exact 'id' from search results and warns against constructing or guessing IDs. Also notes that it does not count toward monthly searches, providing clear context for when to use and what to avoid.

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

get_pricingGet PricingA
Read-onlyIdempotent
Inspect

Get pricing for all plans. Returns names, prices, features, limits. Does not count toward your monthly searches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already indicate read-only and non-destructive behavior. The description adds the useful detail that it doesn't count toward monthly searches, beyond what annotations provide.

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

Conciseness5/5

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

Two short sentences, front-loaded with purpose and output summary. No extraneous information.

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

Completeness4/5

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

Despite no output schema, the description lists the key return fields (names, prices, features, limits). For a zero-parameter tool, this is sufficient context.

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

Parameters4/5

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

There are no parameters, so per guidelines the baseline is 4. The description is not required to add parameter info.

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

Purpose5/5

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

The description clearly states the tool retrieves pricing for all plans and specifies the output includes names, prices, features, and limits. It is distinct from sibling tools like search or account tools.

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

Usage Guidelines3/5

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

The description mentions that using this tool does not count toward monthly searches, providing context for when to use it. However, no direct guidance on when not to use it or alternatives is given.

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

get_setup_instructionsGet Setup InstructionsA
Read-onlyIdempotent
Inspect

Return MCP setup instructions for Claude Desktop and other clients. Does not count toward your monthly searches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds the crucial behavioral insight that it does not count toward monthly searches, which is beyond what annotations provide. No contradictions.

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

Conciseness5/5

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

Two concise sentences. The first sentence states the primary purpose, and the second adds a key behavioral detail. No unnecessary words, front-loaded, and structured effectively.

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

Completeness5/5

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

For a tool with no parameters, no output schema, and clear annotations, the description is fully complete. It tells the purpose and a notable behavioral characteristic, covering all necessary context.

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

Parameters4/5

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

There are zero parameters, so the schema is trivially fully covered. The description does not need to add parameter information. Baseline for 0 parameters is 4.

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

Purpose5/5

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

The description clearly states 'Return MCP setup instructions for Claude Desktop and other clients', which is a specific verb ('Return') and resource ('setup instructions'), and the uniqueness is evident among sibling tools that are mostly search and account management tools.

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

Usage Guidelines4/5

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

The description notes 'Does not count toward your monthly searches', implying it's safe to use without depleting search quota. There are no sibling tools that provide similar functionality, so no explicit alternatives needed, but it could be more explicit about when to use.

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

get_tool_guideGet Tool GuideA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoTopic to get guidance on (default: overview). Use "all" for complete reference.
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds that the tool does not count toward monthly searches, providing useful behavioral context beyond annotations.

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

Conciseness5/5

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

Two concise, front-loaded sentences. Each sentence adds value: first states purpose and action, second describes output and a key benefit. No wasted words.

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

Completeness5/5

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

For a tool with one optional enum parameter and no output schema, the description fully covers its purpose, usage context, and a key behavioral note. It is complete for its simplicity.

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

Parameters3/5

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

Schema coverage is 100% and enum descriptions are provided. The description adds minimal extra meaning about parameters, referencing documentation topics but not detailing each enum value. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states it retrieves comprehensive usage guides for FundingLandscape tools, explicitly advising to call it first. It distinguishes from sibling tools by mentioning documentation for search tools, filters, and token optimization.

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

Usage Guidelines4/5

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

The description explicitly says 'Call this FIRST' and notes it does not count toward monthly searches, providing explicit context for when to use it. However, it does not mention when not to use or alternative tools, which prevents a 5.

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

list_saved_searchesList Saved SearchesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by stating it does not count toward monthly searches, and details the returned fields including remaining slots and plan info.

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

Conciseness5/5

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

Very concise: three sentences with no redundancy. Front-loaded with main purpose, then relevant details.

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

Completeness5/5

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

For a zero-parameter tool with no output schema, the description fully explains functionality, return fields, and plan implications.

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

Parameters4/5

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

No parameters exist, so baseline is 4. The description adds context on what the response contains, which is helpful beyond the schema.

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

Purpose5/5

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

The description clearly states the action ('List all saved searches') and resource ('for the current user'), and the purpose is differentiated from sibling tools like save_search, update_saved_search, and delete_saved_search.

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

Usage Guidelines5/5

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

Explicitly advises using this tool first before creating or updating searches, and provides plan-specific limits to inform decision-making.

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

report_feedbackReport FeedbackAInspect

Report bugs, data issues, or feedback. Actions: bug, data_issue, irrelevant, praise. Does not count toward your monthly searches.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNoWhich tool had the issue
actionYesType of feedback. Use "bug" for errors, "data_issue" for stale/wrong data, "irrelevant" for poor results.
messageNoDescribe the issue. For bugs, include the error message.
categoryNo
severityNohigh = user blocked, medium = degraded experience, low = minor issue
request_idNoFrom error response - helps us trace the issue
search_queryNoThe search query that produced the issue
user_contextNo
opportunity_idNoID of the opportunity being reported on (if applicable)
result_positionNo
Behavior3/5

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

Annotations already indicate the tool is not read-only nor destructive. The description adds one behavioral trait ('Does not count toward your monthly searches'), but lacks details on what happens after submission (e.g., storage, confirmation).

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

Conciseness5/5

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

The description is concise with two sentences, front-loads the purpose, and includes a key behavioral note. No wasted words.

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

Completeness3/5

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

Given 10 parameters and no output schema, the description covers the core purpose but omits important context such as confirmation of submission, anonymity, or follow-up, which would help an agent understand the full workflow.

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

Parameters4/5

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

With 70% schema coverage, the description adds semantic value by clarifying usage of the 'action' parameter (e.g., 'Use "bug" for errors'), which goes beyond the schema enum descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Report bugs, data issues, or feedback.' It lists specific actions (bug, data_issue, irrelevant, praise) and distinguishes itself from sibling tools, none of which are feedback-related.

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

Usage Guidelines3/5

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

The description includes a usage note about not counting toward monthly searches but does not explicitly guide when to use this tool versus alternatives or provide context for each action beyond the schema.

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

search_foundationsSearch FoundationsA
Read-onlyIdempotent
Inspect

Search private foundations (IRS 990-PF filers only, 3,678+ foundations). Returns foundations ranked by relevance with match explanations and historical grant evidence. NOTE: Does not include public charities, community foundations, or fiscal sponsors. Best for: family foundations, corporate foundations, and independent foundations. Counts toward your monthly searches.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax foundations to return (default: 10, max: 50)
queryYesNatural language description of the work or mission. Examples: "climate change initiatives in midwest", "youth education programs", "arts and culture in New York"
statesNoFilter by state (2-letter codes). Where foundation is based.
verbosityNominimal=name/ein/giving, summary=+location/sectors/explanation, full=+grants/trends
include_grantsNoInclude similar historical grants (default: true)
min_annual_givingNoMinimum annual giving in dollars
Behavior4/5

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

Annotations already indicate idempotent, read-only, non-destructive behavior. The description adds context about result ordering (relevance), inclusion of match explanations and historical grants, and the note about monthly search counts, which goes beyond annotation metadata.

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

Conciseness5/5

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

The description is extremely concise: two informative sentences plus a brief note on usage. Every part adds value, with key information front-loaded.

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

Completeness4/5

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

The description covers scope (private foundations only), result components (rankings, explanations, grant evidence), and constraints (monthly counts, state filters from schema). Without an output schema, it provides sufficient context for an agent to understand expected results.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds overall context about results (ranked, with explanations) but does not elaborate on individual parameters beyond what the schema already provides. Adequate but not exceptional.

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

Purpose5/5

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

The description clearly states the tool searches private foundations (IRS 990-PF filers) and returns ranked results with match explanations and grant evidence. It distinguishes from siblings by explicitly excluding public charities, community foundations, and fiscal sponsors.

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

Usage Guidelines4/5

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

The description provides explicit best-use cases (family, corporate, independent foundations) and notes that it excludes public charities and similar entities. It also mentions that searches count toward monthly limits, aiding usage decision-making.

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

search_grants_and_procurementSearch Grants & Contracts (Combined)A
Read-onlyIdempotent
Inspect

MIXED search across all 9,858 opportunities from 230 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default: 10)
queryNoNatural language search query
sinceNoStateless 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.
cursorNoPagination cursor from previous response
sourceNoFilter by source domain or dataSource (e.g., "grants.gov" or "tier0-sam.gov")
statusNoFilter by status
compactNoReturn compact results (default: true). Compact results include only essential fields (id, title, organization, category, url, deadline, status, qualityScore, snippet). Set to false for full details including eligibility, amounts, and match explanations.
categoryNoFilter by category
min_qualityNoMinimum quality threshold (default: medium)
organizationNoFilter by organization or funder name
user_contextNoUser context for better filtering
new_within_daysNoBackwards-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. Sorts newest-ingested-first; response includes newSince.newCount and the newest/oldest ingest timestamp in the window. Not the opportunity posted date or deadline.
procurement_typeNoFilter 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_daysNoPreferred alias for new_within_days: only opportunities WE ADDED (ingested) in the last N days. 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_daysNoOnly opportunities closing within N days
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds value by detailing the free tier search limits, paid plan advantages, and the potential for noisy results. No contradiction with annotations.

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

Conciseness4/5

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

The description is detailed and well-structured with headings for routing and tiers, but it could be slightly more concise. Every sentence adds value, and the front-loaded routing guidance is effective.

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

Completeness4/5

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

Given the complexity (15 parameters, no output schema), the description effectively covers purpose, routing, limits, and behavioral nuances. It does not explain return values, but that is acceptable given the absence of an output schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal parameter-specific information beyond high-level context like 'This mixes funding types which can create noisy results.' Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states it is a 'MIXED search across all 3,321 opportunities from 226 sources — combines grants AND procurement/contracts in one query.' It distinguishes from sibling tools by naming specialized alternatives, making the purpose unmistakable.

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

Usage Guidelines5/5

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

Explicit routing guidance is provided: use specialized tools for grants or procurement separately, and only use this combined search when both types are explicitly desired. Additionally, it explains free tier limits and paid plan benefits, helping the agent decide when to use the tool.

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

search_grantsplusSearch Grants & FoundationsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default: 25)
queryNoNatural language search query. Provide either query (single search) or queries (batch mode) — exactly one.
sinceNoStateless 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.
cursorNoPagination cursor from previous response
offsetNoBatch mode only: number of merged results to skip for pagination (default 0). Ignored in single-query mode.
sourceNoFilter to a specific source/domain, e.g. "grants.gov", "deq.nc.gov", or "sam.gov".
statusNoFilter by status
compactNoReturn compact results (default: true). Set to false for full details.
queriesNoBATCH 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_resultsNoBatch mode only: maximum merged results to return (default 10). Ignored in single-query mode (use limit).
min_qualityNoMinimum quality threshold (default: medium)
detail_levelNoBatch mode only: controls response verbosity (minimal/compact [default]/full). Ignored in single-query mode.
organizationNoFilter by funding organization
user_contextNoUser context for better filtering
grants_filtersNoGrants.gov specific filters
new_within_daysNoBackwards-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. Sorts newest-ingested-first; response includes newSince.newCount and the newest/oldest ingest timestamp in the window. Not the opportunity posted date or deadline.
posted_within_daysNoPreferred alias for new_within_days: only opportunities WE ADDED (ingested) in the last N days. 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_foundationsNoAlso search private foundations matching the query (default: true). Returns foundations that have historically funded similar work.
max_response_tokensNoBatch mode only: token budget for the response (default 4000). Server auto-caps results to fit. Ignored in single-query mode.
deadline_within_daysNoOnly opportunities closing within N days
Behavior5/5

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

Annotations declare readOnlyHint, idempotentHint, and non-destructive nature. Description adds that it returns matching private foundations automatically, explains batch mode behavior (parallel queries, dedupe), and discloses pricing/timing differences (paid shows new listings immediately, free after 10 days) and monthly search counting. No contradictions.

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

Conciseness3/5

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

Description is lengthy (10+ sentences) with detailed batch mode, pricing, and usage notes. While front-loaded with the core purpose, it could be more concise by moving some operational details to a separate section. Structure is logical but verbose.

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

Completeness4/5

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

With 20 parameters and no output schema, the description covers all key aspects: batch mode, pagination (cursor, offset), filtering (status, source, organization, grants_filters), user context, and temporal filters. Missing explicit documentation of return format, but given no output schema, this is acceptable. Comprehensive enough for an AI agent to use effectively.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. Description adds significant value beyond schema: explains batch mode parameters (queries array replaces former tool, offset/max_results/detail_level/max_response_tokens behavior), the 'since' parameter as stateless alternative, and clarifies new_within_days vs posted_within_days. Examples for queries array are provided.

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

Purpose5/5

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

Description clearly states the tool searches grants, prizes, fellowships, SBIR/STTR, and private foundations, explicitly excluding procurement/contracts. Title and name align perfectly. Distinguishes from sibling tools like search_procurement and the now-replaced batch_search_grantsplus.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: 'when user wants: funding, grants, fellowships, research money, SBIR, foundation grants.' Includes example queries. Explains batch mode as replacement for former tool and covers paid vs free plan differences. No need to infer usage context.

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

search_procurementSearch Contracts & RFPsA
Read-onlyIdempotent
Inspect

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. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default: 25)
queryNoNatural language search query. Provide either query (single search) or queries (batch mode) — exactly one.
sinceNoStateless 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.
cursorNoPagination cursor from previous response
offsetNoBatch mode only: number of merged results to skip for pagination (default 0). Ignored in single-query mode.
sourceNoFilter to a specific source/domain, e.g. "sam.gov" or an agency source domain.
statusNoFilter by status
compactNoReturn compact results (default: true). Set to false for full details.
queriesNoBATCH 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_resultsNoBatch mode only: maximum merged results to return (default 10). Ignored in single-query mode (use limit).
min_qualityNoMinimum quality threshold (default: medium)
sam_filtersNoSAM.gov specific filters
detail_levelNoBatch mode only: controls response verbosity (minimal/compact [default]/full). Ignored in single-query mode.
organizationNoFilter by contracting agency
user_contextNoUser context for better filtering
new_within_daysNoBackwards-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. Sorts newest-ingested-first; response includes newSince.newCount and the newest/oldest ingest timestamp in the window. Not the opportunity posted date or deadline.
procurement_typeNoFilter 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_daysNoPreferred alias for new_within_days: only opportunities WE ADDED (ingested) in the last N days. 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_tokensNoBatch mode only: token budget for the response (default 4000). Server auto-caps results to fit. Ignored in single-query mode.
deadline_within_daysNoOnly opportunities closing within N days
Behavior5/5

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

Adds significant context beyond annotations: semantic search, NAICS filtering, paid vs free data delay (10 days), counts toward monthly searches. No contradictions with annotations (readOnlyHint, idempotentHint).

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

Conciseness4/5

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

Well-structured with bold headings, examples, and clear sections. Slightly verbose in places but overall efficient and front-loaded with key information.

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

Completeness4/5

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

No output schema, but description implies return of results. Provides substantial context for a tool with 20 parameters and nested objects, including batch dedup and freshness constraints.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. Description adds value by clarifying batch mode behavior, query examples, and the relationship between parameters like limit and max_results.

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

Purpose5/5

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

Clearly states it searches government contracts, RFPs, etc. from SAM.gov, with semantic search and NAICS filtering. Differentiates from siblings by mentioning it replaces the former batch_search_procurement tool.

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

Usage Guidelines4/5

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

Provides explicit guidance on when to use (user wants contracts, RFPs, etc.) with examples. Explains batch mode vs single query. No explicit when-not but implies alternatives.

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

sign_inSign InAInspect

Authenticate existing subscriber via OAuth. Opens browser login. Does not count toward your monthly searches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations provide basic hints (not read-only, not destructive, open-world), but the description adds valuable behavioral context: it opens a browser login and does not count toward monthly searches. No contradiction with annotations.

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

Conciseness5/5

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

Two concise sentences with no wasted words. The critical information is front-loaded: the purpose, mechanism, and key side effect.

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

Completeness5/5

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

For a simple authentication tool with no parameters and no output schema, the description is fully complete. It explains the core behavior, OAuth flow, browser interaction, and search-count exemption.

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

Parameters4/5

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

The tool has zero parameters and the input schema is fully covered (100%). With no parameters, the description correctly does not add parameter details. Baseline is 4.

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

Purpose5/5

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

The description clearly states the verb 'Authenticate', the resource 'existing subscriber', the method 'via OAuth', and the action 'Opens browser login'. It effectively distinguishes this authentication tool from the many search and account management sibling tools.

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

Usage Guidelines3/5

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

The description implies usage for authentication but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites.

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

whats_newWhat's NewA
Read-onlyIdempotent
Inspect

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), newest-ingested-first, with a newSince summary (newCount, newest, oldest ingest timestamp). 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoIngest-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.
limitNoMax results (default: 25)
queryNoOptional natural language filter (e.g. "clean energy nonprofit"). Omit for a pure recency digest across all new opportunities.
sinceNoStateless 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.
cursorNoPagination cursor from previous response
sourceNoFilter to a specific source/domain, e.g. "grants.gov" or "sam.gov".
statusNoFilter by opportunity status (default: active)
compactNoReturn compact results (default: true). Set to false for full details.
categoryNoFilter by category
min_qualityNoMinimum quality threshold (default: medium)
user_contextNo
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description adds rich behavioral context: it describes the ingest-freshness filter, optional query narrowing, pagination via cursor, stateless watermark using since, and free tier behavior with held-back count. It also notes counting toward monthly searches. No contradictions with annotations.

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

Conciseness5/5

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

The description is concisely written with each sentence providing unique information. It starts with the core purpose, then details options, then explains the stateless watermark, and ends with free tier behavior. There is no redundancy or fluff.

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

Completeness4/5

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

Given the tool has 11 parameters, a nested object, and no output schema, the description covers main use cases, behavior, pagination, filtering, and stateless tracking. It mentions the newSince summary structure (newCount, newest, oldest ingest timestamp) but does not detail the full opportunity object structure. For an agent, this is adequate for invocation but could be more explicit about return format. Still, it is nearly complete.

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

Parameters4/5

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

Schema description coverage is 91%, so baseline is 3. The description adds significant value beyond schema by explaining the relationship between days and since, the default for days, the stateless watermark technique, and that query can be omitted for a pure recency digest. It also clarifies the behavior of compact and user_context. This goes well beyond just repeating schema descriptions.

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

Purpose5/5

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

The description clearly states it is a dedicated 'what's new since I last checked' tool for recurring agent checks. It specifies returning opportunities ingested in the last N days, newest-ingested-first, with a newSince summary. It distinguishes from sibling search tools by noting it wraps the same ingest-freshness filter, avoiding the need to remember date params on search tools.

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

Usage Guidelines4/5

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

The description explicitly says when to use: 'for recurring agent checks: one obvious call instead of remembering the new_within_days param on a search tool.' It advises omitting query for a pure recency digest and explains the stateless watermark technique. While it doesn't list explicit when-not scenarios, the alternatives (search tools) are implied, and the guidance is clear enough for correct invocation.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources