Skip to main content
Glama

Server Details

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

Status
Healthy
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?

Adds valuable behavioral context beyond annotations: default result count (10, ~4KB), control via detail_level/max_results, total available count included, and quota impact ('Counts toward your monthly searches,' 'batch counts as 1 call'). These details go beyond the readOnly/idempotent hints and help the agent understand operational characteristics.

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 front-loaded with the deprecation warning, followed by functional purpose and key operational details. Every sentence contributes: deprecation, alternative, scope, defaults, size control, total count, quota. No redundant or filler text.

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 that this is a deprecated alias, the description covers essential context: deprecation, identical behavior to the preferred tool, default result size, response controls, and quota. It points to the alternative for full details, which mitigates the lack of an output schema. Minor gaps exist around deduplication and filtering specifics, but these are inherited from the main tool and covered by the 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 coverage is 92%, so the schema carries most parameter meaning. The description adds minor guidance about using detail_level and max_results to control response size, and mentions the queries[] array in the deprecation note, but does not elaborate on parameter formats or semantics 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?

Clearly states it is a deprecated alias for search_grantsplus with queries[] array, and that it searches grants, prizes, and foundations comprehensively. The verb 'search' plus explicit resource scope distinguishes it from siblings, especially by naming the preferred replacement.

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 prefer search_grantsplus with a queries[] array, 'which now runs the identical batch fan-out,' and states it is 'Kept for backward compatibility.' This provides a clear when-not-to-use directive and names the alternative tool.

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?

Annotations already declare readOnly, idempotent, non-destructive; the description adds that it counts toward monthly searches, a batch counts as 1 call, returns 10 results by default, and includes total available count. It also discloses deprecation status and that behavior is unchanged. No contradiction.

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 compact despite covering deprecation, usage, default behavior, response size, and call cost. It is front-loaded with the most important guidance (prefer search_procurement) and subsequent sentences each add 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 complex 11-parameter tool with rich schema and clear annotations, the description provides essential decision-making context: deprecation status, alternative, default result size, response size controls, total count, and monthly search cost. It relies on the schema for detailed parameter semantics but covers the behavioral/contextual gaps.

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 91%, so the schema document's parameter descriptions do the heavy lifting. The description adds minor usage guidance by naming detail_level and max_results and mentioning response size, but does not add new meaning beyond the schema definitions.

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 this is a deprecated alias for search_procurement that searches federal contracts (SAM.gov) comprehensively, explicitly distinguishing it from the preferred sibling. The verb 'search' plus resource 'federal contracts' is specific and unambiguous.

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 prefer search_procurement with a queries[] array, saying it runs identical batch fan-out, and notes this tool is kept for backward compatibility. Also provides guidance on controlling response size with detail_level and max_results.

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=true and idempotentHint=true. The description adds valuable operational context beyond annotations: 'Returns success immediately with no database calls' and 'Does not count toward your monthly searches.' It also clarifies that it validates authentication, which is not disclosed by annotations. This is a good enhancement of the annotation-only safety profile.

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, each with a distinct purpose: purpose, usage guidance, and a side-effect note. It is front-loaded with the core function and contains zero fluff or repetition. Every word earns its place.

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 health-check tool with zero parameters and no output schema, the description covers everything needed: what it does, when to use it, what it confirms, and its side-effect-free nature. The lack of an output schema is fine because the description explicitly states it returns success. This is fully complete for the tool's 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?

The tool has zero parameters, so the input schema is trivially complete. The description correctly does not mention any parameters. Per the baseline for zero-parameter tools, a score of 4 is appropriate since there is nothing to add semantically.

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 'Verify MCP server connectivity' and specifies that it 'Returns success immediately with no database calls.' This distinguishes it from all sibling tools that perform data operations, making it instantly clear when this tool is the relevant one.

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 gives direct usage guidance: 'Use this FIRST if experiencing tool errors' and explains what a successful response confirms (server reachable, authentication valid). It does not explicitly state when not to use it, but the 'FIRST' directive effectively communicates priority, which is strong guidance despite lacking exclusions.

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.
Behavior5/5

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

Given that annotations already mark the tool as read-only and idempotent, the description adds substantial behavioral context: the compact mode output structure (merged `results`, section counts/index ranges), the full mode with descriptions and arrays, exclusion of non-biddable notices and past/undated rows, and billing implications (paid feature, counts toward monthly searches). It goes well beyond annotations and sets clear expectations.

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 a single, dense paragraph that front-loads the purpose and then explains modes, exclusions, category, and billing. Each sentence adds useful information, but the length and density make it slightly less scannable than a more structured format. It is appropriately detailed for the complexity of the tool.

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 tool has four parameters, no output schema, and a moderately complex response structure. The description compensates by describing the default and full output shapes, the exclusion rules, and the category filter. It does not explain potential conflicts between `days` and `weeks`, but that is a minor gap. Overall, it is complete enough for an agent to invoke the tool appropriately.

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 already describes all four parameters at 100% coverage, so the baseline is 3. The description adds meaning by explaining how `compact:false` alters the output structure (full sections arrays) and by giving a concrete example for `category` ("procurement" for contracts only). This enriches the schema descriptions without redundancy.

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 opens with 'Get upcoming funding deadlines,' which clearly identifies the tool's function as retrieving a calendar of deadlines. It further specifies the resource (funding deadlines) and context (planning an application schedule). This distinguishes it from sibling search tools that return broader matching results, making the purpose unambiguous.

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 clearly sets the context for use: planning an application schedule and wanting a balanced view of grants and procurement. It explains the compact mode as default and how to opt out, and it gives an example of restricting by category. It does not explicitly name alternative tools to use instead, so it misses the 'when-not-to-use' element, but the context is clear.

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?

Beyond annotations (read-only, idempotent), the description discloses key behavioral traits: uses vector embeddings, returns similarityScore and matchExplanation, and notes that it is a paid feature counting toward monthly searches. This provides useful context about how the tool behaves and its limitations.

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 well-structured and front-loaded with the primary purpose. Each sentence adds value: purpose, output details, use case, technology, and constraints. Slight redundancy between 'semantic similarity' and 'vector embeddings' but not excessive.

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, the description does a good job explaining return values (similarityScore, matchExplanation). It covers the conceptual basis (semantic similarity) and operational constraints (paid, monthly count). Minor gaps include error behavior or handling of no similar results, but overall adequate for an agent to select and invoke correctly.

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 parameters are well-documented in the schema. The description does not add much parameter-specific meaning but does clarify the output semantics (similarityScore, matchExplanation), which helps understand what the parameters affect. Baseline 3 is appropriate given high schema coverage.

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 function: finding opportunities similar to a given one using semantic similarity, and distinguishes it from keyword-based search tools. The verb 'Find' plus the resource 'opportunities similar to a given one' is specific and differentiates 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?

Explicitly states when to use: 'Useful when user likes one result and wants more like it.' It also contrasts with keyword matches, implying the alternative of search tools. Does not explicitly name alternatives or exclusions, but provides clear usage context and constraints (paid feature, monthly searches).

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 mark readOnlyHint=true and idempotentHint=true. The description adds valuable context with 'Does not count toward your monthly searches,' a non-obvious behavioral trait that is not inferable from annotations alone.

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, fully front-loaded with the purpose, and every clause adds value. Extremely efficient.

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, clear read-only behavior), the description covers all necessary context. It explains what the tool returns conceptually and its non-consuming nature.

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 description has no parameter details to add. Per the rubric, a baseline of 4 is appropriate for zero-parameter tools.

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 uses a specific verb ('check') and clearly identifies the resource ('subscription status, usage this period, and remaining searches'). It distinguishes from sibling search tools by focusing on account-level information.

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?

States 'Use anytime to see how many searches you have left,' providing clear context for when to call. Does not explicitly exclude alternatives, but the guidance is unambiguous enough given the sibling list.

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, idempotentHint, and destructiveHint. The description adds that the operation does not consume monthly search quota and returns category names with counts, which is additional behavioral context 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?

Two sentences, front-loaded with the action, then examples and a usage note. Every sentence earns its place 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?

For a zero-parameter tool, the description sufficiently explains what it does, what it returns, and the value of using it. The lack of an output schema is compensated by the mention of category names and opportunity counts.

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, so schema coverage is trivially complete. The description adds context about the returned categories and counts, which enriches understanding without needing to discuss parameter syntax.

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 opens with 'Browse all funding categories with opportunity counts', which is a specific verb+resource combination. It clearly distinguishes itself from sibling search tools by focusing on category listing rather than searching for specific opportunities.

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 states 'Useful for understanding what types of opportunities are available', providing clear context for when to use it. It also notes 'Does not count toward your monthly searches', giving a practical benefit. However, it does not explicitly mention when not to use it or 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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a valuable behavioral trait: this operation does not consume monthly search quota, which is not present in the annotations. This goes beyond what structured data provides.

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, both earning their place. The first sentence front-loads the main purpose with specific details, and the second delivers a useful operational note. No fluff or repetition.

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, the description is largely complete. It specifies what the summary contains and notes the quota behavior. The lack of an output schema could have been mitigated with a brief hint about the return structure, but that is a minor gap given the tool's simplicity.

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?

This tool has zero parameters, so per the rubric baseline for 0 params is 4. There are no parameter semantics to clarify, and the description correctly omits any parameter-related content since none exist.

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 returns dataset size and coverage statistics (open opportunities, certified sources), going beyond a generic restatement. It distinguishes this tool from sibling tools like get_categories or search_grantsplus by focusing on summary metrics rather than detailed records.

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?

Although it doesn't explicitly mention alternative tools, the description implies when to use it—when an overview of dataset size and coverage is needed. The added note that it does not count toward monthly searches provides useful context for choosing this tool freely, but there are no explicit exclusions or alternative names.

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 the current profile for a PRIVATE foundation by EIN. The legacy profile remains in use while Foundation Intelligence is under admin review. Only private foundations (IRS 990-PF filers, 3,678+ foundations) are 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 declare readOnly, idempotent, and non-destructive. The description adds useful context: the legacy profile may be in use during admin review (data freshness caveat) and the tool excludes non-private foundations. This goes beyond the structured annotations without contradicting them.

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?

Three sentences, front-loaded with the primary action and purpose. The sentence about 'legacy profile remains in use' is slightly tangential but earns its place as a caveat. Overall efficient, though one sentence could be seen as extra for a simple retrieval tool.

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 two-parameter read tool with rich annotations, this description covers scope (private foundations only), quota impact, and legacy data caveat. No output schema exists, but the description does not mislead about return values. It is sufficiently complete for an agent to invoke correctly.

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 parameters are already well-documented in the schema. The description adds minor repetition ('by EIN', 'private foundation') but no new syntax or format details beyond the schema, consistent with the baseline score of 3.

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 uses a specific verb ('Get') and resource ('profile for a PRIVATE foundation') and identifies the key identifier (EIN). It clearly distinguishes from sibling search_foundations by specifying a direct lookup by EIN and including a count of foundations.

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 implies usage when a specific EIN is known and notes 'Does not count toward your monthly searches,' a cost-related guideline. It lacks an explicit alternative comparison (e.g., 'use search_foundations to find by name'), but the context is clear enough for an agent to choose between lookup and search.

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?

The description adds meaningful behavioral context beyond the annotations: it warns against constructing IDs (which implies failure modes for malformed IDs) and reveals that the tool does not count toward monthly search quota. Annotations already cover read-only, idempotent, and non-destructive traits, so this extra context is valuable.

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 concise sentences, front-loaded with the primary purpose, followed by a salient usage warning. No wasted words.

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 single-parameter retrieval tool with no output schema, the description provides the essential ID provenance rule and quota behavior. 'Full details' is somewhat vague but acceptable for a get-by-ID tool; the context 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?

The schema already fully describes the id parameter with 100% coverage, including an example. The description repeats this instruction in the IMPORTANT note but adds no new technical detail beyond reinforcing that the ID must come from search results. 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 uses the specific verb 'Get' with the resource 'full details for a specific funding opportunity', making the function immediately clear. It also implicitly distinguishes from sibling search tools by requiring a specific ID from search results.

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 clear usage guidance: use the exact ID from search results, do not guess or construct IDs. It also highlights a benefit (does not count toward monthly searches) that helps the agent decide when to use this tool. However, it does not explicitly name an alternative tool for searching, relying instead on the phrase 'from search results.'

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 establish read-only, idempotent, non-destructive behavior. The description adds useful behavioral context beyond annotations: it explicitly states that usage does not count toward monthly searches, which is a quota-impact trait not present in structured metadata. It also clarifies return content. This exceeds the minimum, but lacks details on errors or response format.

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 concise sentences, front-loaded with the primary purpose. Every sentence adds value: the first states the action and the second explains the output and a key behavioral caveat. 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 zero-parameter, read-only tool, the description is fully complete. It tells the user what the tool does, what it returns, and a relevant quota behavior. The annotations cover safety, and no output schema is needed. Sibling tools are not similar enough to require further disambiguation.

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, so the baseline is 4. The description doesn't need to explain parameters, and the schema is trivially complete. No additional parameter semantics are required.

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: 'Get pricing for all plans.' It specifies the verb and resource, and also outlines what is returned ('names, prices, features, limits'), making it distinct from sibling tools like get_pack_link or get_upgrade_link. The inclusion of 'all plans' provides additional scope.

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 implies use when pricing information is needed, and the note 'Does not count toward your monthly searches' gives context about when to use it relative to quota. However, it does not explicitly name alternatives or state when not to use it, 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.

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

Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds value by disclosing the quota exemption ('Does not count toward your monthly searches') and the client scope. This goes beyond what annotations provide, though it doesn't describe return format or pagination, which are not critical for a zero-parameter tool.

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 exactly two sentences, with the core purpose in the first sentence and a key behavioral note in the second. Every word earns its place, and it is front-loaded with the action.

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, read-only tool with good annotation coverage and no output schema, the description fully covers the essential aspects: what it returns, for whom, and a relevant non-functional characteristic. No additional context is necessary.

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, so the input schema is empty and fully described. The baseline for zero-parameter tools is 4, and the description adds no unnecessary parameter information. It correctly avoids inventing parameters.

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 uses a specific verb ('Return') and resource ('MCP setup instructions for Claude Desktop and other clients'), clearly stating what the tool does. It is distinct from sibling tools, as no other tool provides setup instructions.

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 implies usage when setup instructions are needed and highlights that the tool does not count toward monthly searches, which is relevant context for choosing it. However, it does not explicitly mention when not to use it or compare with alternatives like get_tool_guide.

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 and idempotentHint, so safety is covered. The description adds valuable behavioral context beyond annotations: it clarifies the tool returns documentation ('Returns detailed documentation...') and discloses that it does not consume monthly search quota. This is useful cost/behavioral information not present in 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?

Three concise sentences, each with a distinct purpose: stating the tool's function, providing usage order, and disclosing cost/scope. No filler or redundant repetition of schema/annotations. The description is front-loaded with the core purpose and stays tight.

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 tool with one optional parameter, strong annotations, and no output schema, the description covers all necessary aspects: what it does, when to call it, what it returns, and its cost profile. The absence of output schema is acceptable because documentation output is inherently freeform and the description already states it returns 'detailed documentation.'

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% with a clear description of the 'topic' parameter and its enum values. The description incidentally mentions content areas ('search tools, filters, and token optimization strategies') that map to topics, but it does not add meaningful syntax or usage details beyond the schema. Baseline 3 is appropriate since the schema handles parameter documentation.

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 begins with 'Get comprehensive usage guide for FundingLandscape tools,' clearly stating the action (get guide) and resource (FundingLandscape tools). It also distinguishes itself from sibling search tools by explicitly positioning it as a first-call meta tool: 'Call this FIRST.'

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?

The description explicitly states when to use the tool: 'Call this FIRST to understand optimal workflows, parameter usage, and best practices.' It also provides a cost-related guideline: 'Does not count toward your monthly searches,' which helps the agent decide to use it freely. Though no alternatives are named, the tool's unique role as a guide makes the advice clear.

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

Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is established. The description adds substantial behavioral context: return fields, plan-specific limits, remaining slots, and the fact that it doesn't count against monthly search quotas. 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 concise and front-loaded with the core action ('List all saved searches'). Every sentence adds value: return fields, usage priority, plan details, and monthly search note. No redundant or vague phrasing.

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 read-only tool with no output schema, the description is complete. It covers what the tool returns, why it should be used first, plan availability, and operational impact. The context signals confirm low complexity, and the description fills all 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 tool has zero parameters, so the schema is complete by definition. The baseline of 4 for no-parameter tools applies; the description appropriately focuses on response content rather than parameters, which is not needed.

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 states 'List all saved searches for the current user' with a specific verb and resource, clearly distinguishing it from sibling tools like save_search and update_saved_search. It also enumerates the returned fields, which adds specificity.

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 instruction 'Use this FIRST to check what the user already has before creating or updating searches' provides explicit when-to-use context. It also mentions plan limits and that it doesn't count toward monthly searches, but lacks explicit alternatives or when-not-to-use guidance.

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

report_feedbackReport FeedbackBInspect

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?

The description adds one useful behavioral note: 'Does not count toward your monthly searches.' This goes beyond the annotations (readOnlyHint, destructiveHint, etc.) to clarify quota impact. However, it does not disclose other behavioral traits like whether the feedback is stored, who sees it, or any rate limits. With annotations present, the bar is lower, but the added value is marginal.

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 and front-loaded with the primary purpose. The second sentence provides a relevant behavioral note. No wasted words, every component earns its place.

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

Completeness2/5

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

Despite having 10 parameters and no output schema, the description is very brief. It does not explain the expected return value, the typical use case in more detail, or how to structure feedback for different action types. While the schema covers many parameters, the description fails to provide a holistic overview, leaving a noticeable gap for a tool with this complexity.

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 70%, meaning most parameters are already explained in the schema. The description lists some actions (bug, data_issue, irrelevant, praise) that overlap with the schema's enum descriptions, adding little new meaning. It does not clarify any parameters beyond what the schema provides, so it stays at the baseline.

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?

The description clearly states the tool's purpose: 'Report bugs, data issues, or feedback.' It lists specific action types (bug, data_issue, irrelevant, praise) which distinguishes it from sibling tools focused on searching or saved searches. However, it could be more explicit about the scope (e.g., feedback on search results or the platform itself), leaving slight ambiguity.

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 gives a clear context for when to use the tool ('Report bugs, data issues, or feedback') and implies usage via the listed actions. It does not explicitly discuss when not to use it or provide alternatives, but there are no obvious sibling tools for feedback, so the guidance is sufficient yet not highly detailed.

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

Discover private foundations by mission (IRS 990-PF filers only, 3,678+ foundations). Results are ranked research leads with grounded match explanations. NOTE: Does not include government grantmaking agencies, public charities, community foundations, or fiscal sponsors. Counts toward your monthly searches.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax foundations to return (default: 10, max: 50)
queryYesNatural language description of the work or mission. Example: "youth education programs"
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
Behavior5/5

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

Beyond the read-only/idempotent annotations, the description discloses useful behavioral traits: the exact universe (IRS 990-PF filers), result ranking and match explanations, exclusions, and quota consumption ('Counts toward your monthly searches'). These details significantly exceed what annotations already convey.

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 compact and front-loaded, with the main purpose in the first sentence. Each subsequent sentence adds critical information (scope, exclusions, quota impact) without fluff. It is appropriately sized for the tool's complexity.

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?

The description provides a complete picture for a search tool with no output schema: it conveys what results look like (ranked research leads with grounded match explanations), what the tool excludes, and the quota implication. It covers purpose, scope, and behavioral outcomes sufficiently for an agent to select and invoke the tool correctly.

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%, so the schema already describes all six parameters. The description does not add parameter-specific details beyond that, but it reinforces the semantic focus on 'mission' and the limit/state/verbosity options are covered by schema. This matches the baseline 3 for full schema coverage.

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 uses a specific verb and resource ('Discover private foundations by mission') and adds scope details (IRS 990-PF filers only, 3,678+ foundations). It distinguishes from siblings by explicitly listing excluded entity types, making it clear what this tool searches and what it doesn't.

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 clearly states when to use the tool (for private foundations by mission) and provides an explicit exclusion list (government grantmaking agencies, public charities, community foundations, fiscal sponsors) that acts as a when-not. However, it does not name alternative tools for those excluded categories, so it stops short of a full 5.

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 27,565 opportunities from 231 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
Behavior5/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 valuable behavioral context beyond annotations: it warns that mixing funding types 'can create noisy results', discloses free tier limits (10 searches/month), paid plan differences (new listings same-day vs 10-day delay), and that searches count toward monthly limits. This goes well 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?

The description is well-structured and purposeful: it opens with a concise purpose statement, then a routing table with clear bullets, and closes with essential rate-limit and data-freshness details. Every sentence earns its place, and the formatting improves scannability.

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 (15 params, no output schema, nested objects), the description covers the critical context: what the tool does, when to use it vs alternatives, noise caveats, and rate limits. It doesn't explain return behavior in detail, but the schema covers parameter semantics and the description's routing/limitations info is the most important context for an agent selecting this tool.

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 baseline is 3. The description does not add meaning to individual parameters beyond what the schema already provides. It mentions 'full results' in the context of free tier but does not explain the anyOf requirement or any parameter usage details. The schema's own parameter descriptions are thorough, so no major gap exists.

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 what the tool does: 'MIXED search across all 27,565 opportunities from 231 sources — combines grants AND procurement/contracts in one query.' It uses a specific verb ('search') and resource ('grants and procurement'), and distinguishes itself from siblings by explicitly noting it combines both funding types.

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?

The description provides explicit routing guidance with bullet points: use search_grantsplus for grants, search_procurement for contracts, use this tool only when BOTH types are wanted, and ASK the user when intent is unclear. It also recommends specialized tools for cleaner results, offering clear alternatives and exclusions.

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?

Beyond the annotations, it reveals that paid plans see listings 10 days earlier than free plans, that a batch counts as a single call against monthly search limits, and that matching private foundations are automatically searched. These are meaningful behavioral traits not covered by 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 front-loaded with its purpose, then walks through use cases, examples, and batch mode. It is about 150 words and dense with information, though some may find the plan-difference details a bit tangential to core invocation.

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 complex tool with 20 parameters and batch mode, the description covers key usage patterns, examples, plan differences, and interactions. It does not mention pagination or the need to provide at least one search key (query/queries/source/organization), but the schema documents those.

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 schema already describes all 20 parameters (100% coverage). The description adds context for the queries parameter (parallel execution, deduplication, replacing batch_search_grantsplus) and explains batch vs single-query behavior, but doesn't delve into other parameter details, relying on the schema for that.

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 grants, prizes, fellowships, SBIR/STTR, and private foundations, and explicitly excludes procurement/contracts, distinguishing it from sibling tools like search_procurement. The title 'Search Grants & Foundations' reinforces the purpose.

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?

It gives explicit use-case guidance: 'Use when user wants: funding, grants, fellowships, research money, SBIR, foundation grants.' It also states what it excludes (procurement/contracts), implying when to use alternatives, and even clarifies that the batch mode supersedes batch_search_grantsplus.

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?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description adds materially richer behavioral context: batch deduplication, paid vs. free plan listing delays (10 days), monthly search counting, batch counting as 1 call, and the replacement of batch_search_procurement. These are not present in the structured metadata and help the agent set expectations.

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 longer than average, but it is well-structured: starts with the core purpose, then adds examples, batch mode, pricing nuance, and counting behavior. Every sentence contributes useful operational context, though some details (e.g., free vs. paid delay) could arguably be relegated to annotations or separate docs.

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 tool with 20 parameters, nested objects, no output schema, and no required parameters, the description covers a lot of essential context: use cases, examples, batch behavior, pricing/plan differences, and NAICS filtering. It does not describe the response shape, but the schema and source domain imply the output, and pagination details are left to the 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?

Input schema covers 100% of parameters with descriptions, so baseline is 3. The description goes further by explaining the batch mode semantics (queries array, parallel execution, dedupe, paid requirement), clarifying that a batch counts as 1 call, and providing concrete batch query examples—adding value 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 uses a specific verb ('Search') and identifies the resource ('government contracts, RFPs, RFIs, BAAs, and solicitations from SAM.gov'), clearly distinguishing it from sibling tools like search_grantsplus. It also provides concrete example queries ('IT consulting services') and names the batch mode's relationship to 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?

The description explicitly states when to use the tool ('Use when user wants: contracts, RFPs, procurement, bids, government work') and contrasts it with searching SAM.gov directly. It does not list when-not-to-use or alternative tools for other intent classes (e.g., grants), so it stops short of full exclusion guidance.

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

Behavior5/5

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

Discloses 'Opens browser login' which is a disruptive side effect not captured by annotations, and the quota note adds useful context. Annotations (openWorldHint, readOnlyHint) are supplemented, not contradicted.

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 the primary action, followed by two key behavioral notes. 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?

Simple tool with no params or output schema; description covers purpose, OAuth method, browser interaction, and quota impact. Sufficient for an agent to 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?

Zero parameters, schema coverage 100%, so no parameter explanation needed. Baseline for 0 params 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?

States 'Authenticate existing subscriber via OAuth' – a specific verb, target, and method. Clearly distinguishes from sibling tools like get_account_status or check_connection by specifying it's the login flow.

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 clear context: it's for authentication, and notes 'Does not count toward your monthly searches' which implies it's a separate action. But doesn't explicitly state when to use vs alternatives or when not to use, so not a 5.

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 indicate readOnly, idempotent, and non-destructive, but the description adds valuable behavioral details: newest-ingested-first ordering, newSince summary fields, the wrap of the same ingest-freshness filter without separate counting logic, and the free tier's honest held-back count if the recency gate withholds newer content. It also notes that it counts toward monthly searches, which is beyond annotation scope.

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 front-loaded with the key purpose in caps and is information-dense, but it is relatively long. Every sentence contributes value, but a few details (e.g., free tier specifics) could be considered secondary for an initial read. Still, it is well-structured and avoids 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?

Given the tool's complexity (11 params, nested user_context, no output schema), the description covers the core use case, return summary fields, and key parameter behaviors. It doesn't explain every parameter (e.g., compact, user_context), but the schema covers those details, so the description is complete enough for an agent to select and invoke the tool 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 high (91%), so the baseline is 3. The description adds meaningful context beyond the schema by explaining the distinction between days and posted date/deadline, the stateless since alternative, and the advice to 'omit query entirely for a pure recency digest.' This adds value, though most parameters are already well-documented in 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 explicitly identifies the tool as a dedicated 'what's new since I last checked' tool for recurring agent checks, clearly distinguishing it from search tools by saying 'one obvious call instead of remembering the new_within_days param on a search tool.' It also states the resource (opportunities FundingLandscape ingested) and the action (returns) with specificity.

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: 'DEDICATED ... for recurring agent checks' and contrasts with search tools. It also explains when to omit query for a pure recency digest and how to use 'since' for a stateless watermark, giving clear alternatives and context.

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!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Search and analyze U.S. federal government contracts and opportunities from SAM.gov. Tools for keyword search, contract details, competitive analysis, and capability statement drafting — built for AI agents via x402 USDC micropayments.
    3
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to find, score, and monitor government contract opportunities across UK, EU, and US with AI-powered relevance scoring.
    2
    192
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Provides access to open federal grant opportunities from Grants.gov without authentication. Enables querying and exploring grant data through natural language via Pipeworx gateway.
    5
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources