FundingLandscape
Server Details
Search 21,000+ open US grants, SAM.gov contracts, and foundations. Checked daily, free tier.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
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.
Tool Definition Quality
Average 4.4/5 across 26 of 26 tools scored. Lowest: 3.6/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.
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.
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.
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 toolsbatch_search_grantsplusBatch Search GrantsARead-onlyIdempotentInspect
DEPRECATED ALIAS — prefer search_grantsplus with a queries[] array, which now runs the identical batch fan-out. Kept for backward compatibility; behavior is unchanged. Search grants, prizes, and foundations comprehensively. Returns 10 results by default (~4KB). Use detail_level and max_results to control response size. Response includes total available count so you can request more if needed. Counts toward your monthly searches. A batch counts as 1 call.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant. | |
| offset | No | Number of results to skip for pagination (default: 0). Use with max_results to page through large result sets. Example: offset=100 with max_results=100 returns results 101-200. | |
| source | No | Filter every batch sub-query to a specific source/domain, e.g. "grants.gov" or "deq.nc.gov". | |
| queries | Yes | Array of 2-5 search queries to run in parallel. Example for clean energy: ["renewable energy grants", "solar wind funding", "clean energy nonprofit", "sustainability grants", "green technology funding"] | |
| max_results | No | Maximum opportunities to return (default: 10, max: 100). Token cost guide: 10 results ~4KB, 25 results ~10KB, 50 results ~20KB, 100 results ~40KB. | |
| detail_level | No | Controls 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_context | No | ||
| grants_filters | No | Grants.gov specific filters | |
| new_within_days | No | Backwards-compatible alias for posted_within_days. Only opportunities ingested (added by us) in the last N days -- for recurring/delta checks ("what is new since my last check"). Applied per sub-query before dedupe; response includes deduped newSince.newCount and the newest/oldest ingest timestamp in the window. | |
| posted_within_days | No | Preferred alias for new_within_days: only opportunities ingested (added by us) in the last N days. Applied per sub-query before dedupe; the response includes a deduped newSince summary. If both posted_within_days and new_within_days are supplied, posted_within_days wins. | |
| include_foundations | No | Also search private foundations (default: true) | |
| max_response_tokens | No | Token budget for response (default: 4000 ≈ 16KB). Server auto-caps results to fit. Increase to 8000-16000 for more results per call, decrease to 2000 for lightweight scanning. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior. Description adds: counts toward monthly searches, batch counts as 1 call, default result count, and response size guidance. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is succinct with key points front-loaded: deprecation notice first, then functionality, then behavioral notes. Every sentence adds value, though slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 params, nested objects, no output schema), the description provides adequate context: purpose, relationship to preferred sibling, default behavior, and response size control. Missing details about return format are compensated by schema parameter descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 92% of parameters with descriptions. The description adds high-level usage advice (controlling response size with detail_level and max_results, token cost guide) and mentions total count in response, enhancing schema-only information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool is a deprecated alias for search_grantsplus, used for batch searching grants, prizes, and foundations. Distinguishes itself from the preferred sibling by declaring equivalence and deprecation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using search_grantsplus instead for identical functionality, providing clear when-not-to-use guidance. Also notes backward compatibility for existing clients.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_search_procurementBatch Search ContractsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant. | |
| offset | No | Number of results to skip for pagination (default: 0). Use with max_results to page through large result sets. Example: offset=100 with max_results=100 returns results 101-200. | |
| source | No | Filter every batch sub-query to a specific source/domain, e.g. "sam.gov". | |
| queries | Yes | Array of 2-5 search queries to run in parallel. Example for IT services: ["IT services contract", "software development federal", "technology consulting government", "computer services procurement"] | |
| max_results | No | Maximum opportunities to return (default: 10, max: 100). Token cost guide: 10 results ~4KB, 25 results ~10KB, 50 results ~20KB, 100 results ~40KB. | |
| sam_filters | No | SAM.gov specific filters | |
| detail_level | No | Controls 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_context | No | ||
| new_within_days | No | Backwards-compatible alias for posted_within_days. Only opportunities ingested (added by us) in the last N days -- for recurring/delta checks ("what is new since my last check"). Applied per sub-query before dedupe; response includes deduped newSince.newCount and the newest/oldest ingest timestamp in the window. | |
| posted_within_days | No | Preferred alias for new_within_days: only opportunities ingested (added by us) in the last N days. Applied per sub-query before dedupe; the response includes a deduped newSince summary. If both posted_within_days and new_within_days are supplied, posted_within_days wins. | |
| max_response_tokens | No | Token budget for response (default: 4000 ≈ 16KB). Server auto-caps results to fit. Increase to 8000-16000 for more results per call, decrease to 2000 for lightweight scanning. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds significant behavioral context beyond annotations, including default result size, response size control, total count inclusion, and monthly search counting. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise and well-structured. Key deprecation notice is front-loaded, followed by essential behavioral details. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the essential aspects for a search tool: purpose, deprecation, output control, counting. Could mention deduplication across queries, but overall complete given complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 91% schema coverage, the description still adds value by contextualizing max_results and detail_level with approximate sizes and token costs. Also notes that a batch counts as 1 call, which is not in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it is a deprecated alias for search_procurement with queries array, and describes its function as searching federal contracts comprehensively. Explicitly distinguishes itself from the preferred sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to avoid this tool (prefer search_procurement) and provides context for backward compatibility. Also explains how to control response size and that batch counts as 1 call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_connectionCheck ConnectionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. Description adds valuable context: 'Returns success immediately with no database calls' and 'Does not count toward monthly searches.' No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each carrying essential information. No fluff or repetition. Front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple connection check with no parameters or output schema, the description fully covers purpose, usage, and behavioral traits. Nothing missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters; schema coverage is 100%. No need for additional parameter description. Baseline 4 is appropriate as there is nothing to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies MCP server connectivity. It uses a specific verb-resource pair and is distinct from sibling tools which perform other functions like searching or account management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using this tool first when experiencing errors, confirming server reachability and authentication. Also notes it doesn't count toward monthly searches, providing clear guidance on when to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deadline_calendarDeadline CalendarARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Alternative to weeks: exact number of days ahead to show (default: 28, max: 365) | |
| weeks | No | Number of weeks ahead to show (default: 4, max: 12) | |
| compact | No | Return compact rows by default to keep agent payloads small. Long titles/orgs/links may be shortened or omitted; set false for full descriptions, nested quality details, and full section arrays. | |
| category | No | Optional. Restrict to ONE category instead of the default balanced grants+procurement view (e.g. "grant", "procurement", "prize"). Omit to get both grants and procurement as separate sections. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) are consistent. Description adds valuable behavioral details: compact mode merging, exclusions, paid feature, and monthly counts, going beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Reasonably concise; every sentence adds value. Starts with primary action, then details compact behavior, exclusions, and billing. Could be slightly tighter, but the structure is clear and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core behavior, compact vs full mode, exclusions, category filter, and billing. Without an output schema, the description provides enough detail about return structure (rows, sections, counts) and limitations for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have schema descriptions (100% coverage). The description adds significant context: default values for days/weeks, compact mode behavior, and category restriction. This information helps agents use parameters correctly beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool retrieves upcoming funding deadlines for planning. Uses specific verb 'Get' and resource 'upcoming funding deadlines'. While it doesn't explicitly differentiate from sibling search tools, its focus on scheduling and the compact vs full mode suggest a distinct purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context: when to use (planning schedule), what is excluded (non-biddable, past/undated), and optional parameters (category). However, it lacks explicit guidance on when not to use this tool versus sibling tools like search_grants_and_procurement, and does not mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_saved_searchDelete Saved SearchADestructiveIdempotentInspect
Delete a saved search by ID. Use list_saved_searches first to find the ID. Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Saved search ID (from list_saved_searches) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint: true and idempotentHint: true. The description adds extra behavioral info: 'Does not count toward your monthly searches.' This complements the annotations with practical detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the action, and contains no redundant information. Every sentence is purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with one parameter, the description covers the prerequisite, the effect on monthly counts, and implies idempotency (via annotation). No output schema exists, but the behavior is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema description already indicates the parameter is a saved search ID from list_saved_searches. The description reinforces this but adds little semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a saved search by ID' with a specific verb and resource. It distinguishes from siblings like save_search and update_saved_search by implying deletion, and provides a method to obtain the ID via list_saved_searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use: 'Use list_saved_searches first to find the ID.' It also mentions a non-counting feature. However, it does not explicitly state when not to use it or mention alternatives like update_saved_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similarFind Similar OpportunitiesARead-onlyIdempotentInspect
Find opportunities similar to a given one using semantic similarity. Returns each result with similarityScore (0-1) and a concise matchExplanation of shared signals such as category/class, geography, organization, and award amount band. Useful when user likes one result and wants more like it. Uses vector embeddings to find conceptually related opportunities, not just keyword matches. Paid feature. Counts toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max similar opportunities to return (default: 5, max: 20) | |
| opportunity_id | Yes | ID of the opportunity to find similar matches for (from search results) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool is safe. The description adds behavioral context beyond annotations: it is a paid feature that counts toward monthly searches, and it uses vector embeddings. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (4 sentences) and front-loaded. The first sentence defines the core purpose, followed by output format, usage context, technical method, and cost implications. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 parameters and no output schema, the description covers purpose, output format, usage context, and cost. It could mention ordering of results, but otherwise is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with full descriptions. The description adds no new meaning beyond stating that opportunity_id comes from search results and limit has a default. Given 100% schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds opportunities similar to a given one using semantic similarity. It specifies the verb 'Find', resource 'opportunities', and method 'semantic similarity'. It also mentions the return fields (similarityScore, matchExplanation), making the purpose distinct from sibling search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool: 'when user likes one result and wants more like it.' It contrasts with keyword-based search by noting that it uses vector embeddings for conceptual similarity. However, it does not explicitly list when not to use it or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_account_statusGet Account StatusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds a valuable behavioral detail: 'Does not count toward your monthly searches,' which informs the agent that the tool has no cost impact. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with key information. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, comprehensive annotations, and no output schema, the description fully covers what the tool returns (subscription status, usage, remaining searches) and a key behavioral note. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters and 100% schema coverage, so the description need not add parameter info. Baseline score of 4 applies as description adds no param details but is not required to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool checks 'subscription status, usage this period, and remaining searches,' using specific verbs and resources. It clearly distinguishes from sibling tools like get_pricing and get_upgrade_link by focusing on current status and remaining searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises 'Use anytime to see how many searches you have left' and notes 'Does not count toward your monthly searches,' providing clear context for when to use. It lacks explicit alternatives or when-not-to-use guidance but is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_categoriesList Funding CategoriesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the behavioral note that it does not count toward monthly searches, which provides extra value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main action, and every word adds value. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description fully explains what it returns (categories with counts) and its utility. It is complete for an AI agent to understand and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema description coverage is 100%. The description does not need to add parameter details, and it correctly focuses on behavior and return content.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all funding categories with opportunity counts, using verbs like 'Browse' and specifying the resource. It distinguishes itself from sibling tools by focusing on categories rather than searches or other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear use case ('useful for understanding what types of opportunities are available') and notes that it doesn't count toward monthly searches. However, it does not explicitly mention when not to use it or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataset_summaryGet Dataset SummaryARead-onlyIdempotentInspect
Get dataset size and coverage stats (open opportunities, certified sources). Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint false. The description adds that the tool doesn't count toward searches, which is additional behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded purpose and no extraneous information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool without output schema, the description adequately states what it retrieves and a key behavioral trait (no search count). It covers essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so the description need not explain parameters. The description adds no parameter info, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves dataset size and coverage stats, specifying 'open opportunities' and 'certified sources'. It distinguishes from sibling tools like get_opportunity or search tools by its focus on summary statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Does not count toward your monthly searches,' providing a usage benefit. However, it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_foundationGet Foundation DetailsARead-onlyIdempotentInspect
Get complete details on a PRIVATE foundation by EIN. Returns comprehensive profile including financials, grant history, sector focus, and suggested next steps. NOTE: Only includes private foundations (IRS 990-PF filers, 3,678+ foundations). Public charities, fiscal sponsors, and community foundations are NOT included. Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| ein | Yes | 9-digit EIN (no dashes). Example: 911663695. Must be a private foundation (990-PF filer). | |
| include_grants | No | Include recent grants (up to 20). Default: true |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds valuable context: it does not count toward monthly searches (a key capability trait) and clarifies the data source (990-PF filers). No contradictions are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, each adding unique value: purpose, scope limitation, and a note on usage impact. It is front-loaded with the core action and resource. There is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists the types of data returned (financials, grant history, sector focus, suggested next steps) and mentions grant control via parameter. Without an output schema, this provides sufficient context. It does not cover pagination or limits beyond 'up to 20' grants, but for a read tool with clear parameters, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has a detailed description (e.g., EIN format, example, required type). The description adds no additional parameter information beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get complete details on a PRIVATE foundation by EIN,' specifying the verb (get), resource (foundation details), and scope (private only). This distinguishes it from sibling tools like 'search_foundations' which imply a broader or different operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes that only private foundations are included and that public charities are NOT included, providing clear guidance on when to use. It also mentions that it doesn't count toward monthly searches, adding practical usage context. However, it does not explicitly name alternative tools for other foundation types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunityGet Opportunity DetailsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Exact opportunity ID from search results (CUID format like "cmk65gf09...") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, non-destructive. The description adds value by noting the tool does not count toward monthly searches (rate limit context) and warns against ID guessing, which could cause errors. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The first sentence states purpose clearly, the second delivers key usage guidance. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, 'full details' is somewhat vague but acceptable for a get-by-id pattern. The description covers what the tool does and how to call it, enough for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and schema description already provides the CUID format. The description reinforces this and adds a critical usage warning, improving practical understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get full details') and resource ('specific funding opportunity'), distinguishing it from sibling search tools like 'search_grants_and_procurement' or 'batch_search_grantsplus'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use the exact 'id' from search results and warns against constructing or guessing IDs. Also notes that it does not count toward monthly searches, providing clear context for when to use and what to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pack_linkGet Search Pack LinkAInspect
Buy Search Pack ($5 = 50 searches, never expire). Requires active subscription. Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| quantity | No | Number of packs to buy (1-20, default: 1). Each pack = 50 searches. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds behavioral detail beyond annotations: notes it's a purchase that doesn't affect monthly search count. Annotations already indicate non-readOnly, and description confirms write intent. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, 13 words, all essential. Front-loaded with main purpose. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool, but missing information about the tool's output (likely a link) and what happens after purchase. No output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter quantity is described in both schema and description (each pack = 50 searches). Schema coverage is 100%, and description adds practical meaning. Baseline 3, plus extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's for buying a Search Pack with specific details ($5 = 50 searches, never expire). It uses a specific verb-resource pair and distinguishes from sibling tools like get_pricing or get_upgrade_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context (requires active subscription, does not count toward monthly searches) but lacks explicit guidance on when to use vs alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricingGet PricingARead-onlyIdempotentInspect
Get pricing for all plans. Returns names, prices, features, limits. Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. The description adds the useful detail that it doesn't count toward monthly searches, beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with purpose and output summary. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description lists the key return fields (names, prices, features, limits). For a zero-parameter tool, this is sufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so per guidelines the baseline is 4. The description is not required to add parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves pricing for all plans and specifies the output includes names, prices, features, and limits. It is distinct from sibling tools like search or account tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that using this tool does not count toward monthly searches, providing context for when to use it. However, no direct guidance on when not to use it or alternatives is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_setup_instructionsGet Setup InstructionsARead-onlyIdempotentInspect
Return MCP setup instructions for Claude Desktop and other clients. Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds the crucial behavioral insight that it does not count toward monthly searches, which is beyond what annotations provide. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first sentence states the primary purpose, and the second adds a key behavioral detail. No unnecessary words, front-loaded, and structured effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters, no output schema, and clear annotations, the description is fully complete. It tells the purpose and a notable behavioral characteristic, covering all necessary context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema is trivially fully covered. The description does not need to add parameter information. Baseline for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Return MCP setup instructions for Claude Desktop and other clients', which is a specific verb ('Return') and resource ('setup instructions'), and the uniqueness is evident among sibling tools that are mostly search and account management tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes 'Does not count toward your monthly searches', implying it's safe to use without depleting search quota. There are no sibling tools that provide similar functionality, so no explicit alternatives needed, but it could be more explicit about when to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tool_guideGet Tool GuideARead-onlyIdempotentInspect
Get comprehensive usage guide for FundingLandscape tools. Call this FIRST to understand optimal workflows, parameter usage, and best practices. Returns detailed documentation for search tools, filters, and token optimization strategies. Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Topic to get guidance on (default: overview). Use "all" for complete reference. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds that the tool does not count toward monthly searches, providing useful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences. Each sentence adds value: first states purpose and action, second describes output and a key benefit. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional enum parameter and no output schema, the description fully covers its purpose, usage context, and a key behavioral note. It is complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and enum descriptions are provided. The description adds minimal extra meaning about parameters, referencing documentation topics but not detailing each enum value. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves comprehensive usage guides for FundingLandscape tools, explicitly advising to call it first. It distinguishes from sibling tools by mentioning documentation for search tools, filters, and token optimization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Call this FIRST' and notes it does not count toward monthly searches, providing explicit context for when to use it. However, it does not mention when not to use or alternative tools, which prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upgrade_linkGet Upgrade LinkAInspect
Get Stripe checkout URL for subscription. IMPORTANT: Requires sign-in first. If not authenticated, returns sign-in instructions. After OAuth sign-in, call again for checkout URL. Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | Plan to upgrade to (default: plus) | |
| interval | No | Billing interval (default: month) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds context beyond annotations: authentication requirement, behavior when not authenticated, and no monthly search count. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Highly concise: two sentences plus a note, front-loads purpose, no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers authentication flow well but lacks description of return value format (Stripe checkout URL). Adequate for simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema already describes both parameters (plan and interval with enums and defaults). Description does not add new parameter semantics beyond acknowledging them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get Stripe checkout URL for subscription.' It distinguishes from sibling tools like get_pack_link and get_pricing by specifying the action and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly requires sign-in first, explains the two-step process, and notes that it doesn't count toward monthly searches, providing clear when-to-use guidance.
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 SearchesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by stating it does not count toward monthly searches, and details the returned fields including remaining slots and plan info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: three sentences with no redundancy. Front-loaded with main purpose, then relevant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description fully explains functionality, return fields, and plan implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. The description adds context on what the response contains, which is helpful beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all saved searches') and resource ('for the current user'), and the purpose is differentiated from sibling tools like save_search, update_saved_search, and delete_saved_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using this tool first before creating or updating searches, and provides plan-specific limits to inform decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_feedbackReport FeedbackAInspect
Report bugs, data issues, or feedback. Actions: bug, data_issue, irrelevant, praise. Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Which tool had the issue | |
| action | Yes | Type of feedback. Use "bug" for errors, "data_issue" for stale/wrong data, "irrelevant" for poor results. | |
| message | No | Describe the issue. For bugs, include the error message. | |
| category | No | ||
| severity | No | high = user blocked, medium = degraded experience, low = minor issue | |
| request_id | No | From error response - helps us trace the issue | |
| search_query | No | The search query that produced the issue | |
| user_context | No | ||
| opportunity_id | No | ID of the opportunity being reported on (if applicable) | |
| result_position | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is not read-only nor destructive. The description adds one behavioral trait ('Does not count toward your monthly searches'), but lacks details on what happens after submission (e.g., storage, confirmation).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loads the purpose, and includes a key behavioral note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description covers the core purpose but omits important context such as confirmation of submission, anonymity, or follow-up, which would help an agent understand the full workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 70% schema coverage, the description adds semantic value by clarifying usage of the 'action' parameter (e.g., 'Use "bug" for errors'), which goes beyond the schema enum descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Report bugs, data issues, or feedback.' It lists specific actions (bug, data_issue, irrelevant, praise) and distinguishes itself from sibling tools, none of which are feedback-related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a usage note about not counting toward monthly searches but does not explicitly guide when to use this tool versus alternatives or provide context for each action beyond the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_searchSave SearchAInspect
Save a search query for email alerts. When new opportunities match, the user receives daily or weekly email notifications. The FREE tier includes 1 saved search with weekly email alerts, so any user can set one up without a paid plan.
RECOMMENDED WORKFLOW:
Call list_saved_searches first to check for existing/similar searches
If a similar search exists, offer to update_saved_search instead
Search with search_grantsplus or search_procurement first to validate the query returns good results
Save with appropriate filters based on what the user described
FILTER TIPS:
Use itemTypes ["grant"] for grants/fellowships or ["procurement"] for contracts/RFPs
Use sourceTypes ["federal"] for federal opportunities only
Use geography ["CA"] for California-specific (includes national opportunities)
For SAM.gov-specific filters (NAICS, set-asides), use sourceContext
Keep filters broad for notifications - better to get a few extra than miss one
PLAN LIMITS: Free: 1 saved search, weekly email alerts. Plus ($29/mo): 10 saved searches, daily or weekly alerts. Pro ($79/mo): 25 saved searches, daily or weekly alerts.
Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Friendly name for this search (e.g. "DOE Clean Energy Grants") | |
| query | Yes | Search query to save (e.g. "clean energy research grants", "IT services federal contracts") | |
| cadence | No | Alert frequency. daily requires a paid plan (Plus or Pro); free includes weekly. never = save the search without email alerts. Default: weekly | |
| filters | No | Filters to narrow alert results. All optional. When omitted, all opportunity types are included. | |
| hidelow | No | Hide low-confidence results in alerts. Default: false |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool modifies state (saves a search) and includes plan limits (free vs. paid) and that it does not count toward monthly searches. While annotations indicate it is not read-only, the description adds context on plan restrictions and alert cadences, but could mention more about potential side effects like triggering notifications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (RECOMMENDED WORKFLOW, FILTER TIPS, PLAN LIMITS) and is front-loaded with the core purpose. Each sentence adds value without redundancy, and the length is appropriate for the complexity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, nested objects, no output schema), the description covers the purpose, usage workflow, parameter tips, plan limits, and constraints. It is fully self-contained and enables correct invocation without external documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter is described in the schema. The description adds significant practical guidance through FILTER TIPS (e.g., itemTypes, geography, sourceContext) and examples, which goes beyond the schema descriptions. It helps the agent choose appropriate values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Save a search query for email alerts.' It distinguishes itself from sibling tools like update_saved_search and list_saved_searches by focusing on creation, and the RECOMMENDED WORKFLOW section further clarifies its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool versus alternatives. The RECOMMENDED WORKFLOW instructs to first check list_saved_searches, offer update_saved_search if a similar search exists, and validate with search_grantsplus or search_procurement before saving. It also notes plan limits implicitly indicating when to upgrade.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_foundationsSearch FoundationsARead-onlyIdempotentInspect
Search private foundations (IRS 990-PF filers only, 3,678+ foundations). Returns foundations ranked by relevance with match explanations and historical grant evidence. NOTE: Does not include public charities, community foundations, or fiscal sponsors. Best for: family foundations, corporate foundations, and independent foundations. Counts toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max foundations to return (default: 10, max: 50) | |
| query | Yes | Natural language description of the work or mission. Examples: "climate change initiatives in midwest", "youth education programs", "arts and culture in New York" | |
| states | No | Filter by state (2-letter codes). Where foundation is based. | |
| verbosity | No | minimal=name/ein/giving, summary=+location/sectors/explanation, full=+grants/trends | |
| include_grants | No | Include similar historical grants (default: true) | |
| min_annual_giving | No | Minimum annual giving in dollars |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotent, read-only, non-destructive behavior. The description adds context about result ordering (relevance), inclusion of match explanations and historical grants, and the note about monthly search counts, which goes beyond annotation metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two informative sentences plus a brief note on usage. Every part adds value, with key information front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers scope (private foundations only), result components (rankings, explanations, grant evidence), and constraints (monthly counts, state filters from schema). Without an output schema, it provides sufficient context for an agent to understand expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds overall context about results (ranked, with explanations) but does not elaborate on individual parameters beyond what the schema already provides. Adequate but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches private foundations (IRS 990-PF filers) and returns ranked results with match explanations and grant evidence. It distinguishes from siblings by explicitly excluding public charities, community foundations, and fiscal sponsors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit best-use cases (family, corporate, independent foundations) and notes that it excludes public charities and similar entities. It also mentions that searches count toward monthly limits, aiding usage decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_grants_and_procurementSearch Grants & Contracts (Combined)ARead-onlyIdempotentInspect
MIXED search across all 9,858 opportunities from 230 sources — combines grants AND procurement/contracts in one query. This mixes funding types which can create noisy results.
ROUTING — use the specialized tool instead: • User wants grants/funding/fellowships/prizes → search_grantsplus • User wants contracts/RFPs/procurement/bids → search_procurement • User explicitly wants BOTH types → search_grants_and_procurement • Intent unclear → ASK the user first
Use search_grantsplus or search_procurement for cleaner, more relevant results. Free tier: 10 searches/month, full results. Paid plans add higher monthly limits. Paid plans show new listings the day they open; the free plan reaches the same listings after 10 days. Counts toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default: 10) | |
| query | No | Natural language search query | |
| since | No | Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant. Store the previous response newSince.newest and pass it here to manage your own watermark. | |
| cursor | No | Pagination cursor from previous response | |
| source | No | Filter by source domain or dataSource (e.g., "grants.gov" or "tier0-sam.gov") | |
| status | No | Filter by status | |
| compact | No | Return 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. | |
| category | No | Filter by category | |
| min_quality | No | Minimum quality threshold (default: medium) | |
| organization | No | Filter by organization or funder name | |
| user_context | No | User context for better filtering | |
| new_within_days | No | Backwards-compatible alias for posted_within_days. Only opportunities WE ADDED (ingested) in the last N days — for recurring/delta checks ("what is new since my last check"). Additive to all other filters. 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_type | No | Filter SAM.gov contracts by industry type. professional_services = consulting, engineering, R&D (NAICS 54xxxx, excludes manufacturing/construction noise). it_services = software, IT systems (NAICS 5415xx). construction = building projects (NAICS 23xxxx). manufacturing = production (NAICS 31-33xxxx). Use this to avoid irrelevant commodity results like "O-RING" or "VALVE" when searching for service contracts. | |
| posted_within_days | No | Preferred 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_days | No | Only opportunities closing within N days |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds value by detailing the free tier search limits, paid plan advantages, and the potential for noisy results. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed and well-structured with headings for routing and tiers, but it could be slightly more concise. Every sentence adds value, and the front-loaded routing guidance is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (15 parameters, no output schema), the description effectively covers purpose, routing, limits, and behavioral nuances. It does not explain return values, but that is acceptable given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal parameter-specific information beyond high-level context like 'This mixes funding types which can create noisy results.' Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'MIXED search across all 3,321 opportunities from 226 sources — combines grants AND procurement/contracts in one query.' It distinguishes from sibling tools by naming specialized alternatives, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit routing guidance is provided: use specialized tools for grants or procurement separately, and only use this combined search when both types are explicitly desired. Additionally, it explains free tier limits and paid plan benefits, helping the agent decide when to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_grantsplusSearch Grants & FoundationsARead-onlyIdempotentInspect
GRANTS & FOUNDATIONS — Search grants, prizes, fellowships, SBIR/STTR, and private foundations. Excludes procurement/contracts for clean results. Use when user wants: funding, grants, fellowships, research money, SBIR, foundation grants. Also returns matching private foundations automatically. Examples: "cancer research funding", "clean energy small business grants", "HVAC grants in Arizona". BATCH MODE (paid): pass a queries[] array of 2-5 variations instead of query to run them in parallel, dedupe, and return all unique results in one call — this replaces the former batch_search_grantsplus tool. Paid plans show new listings the day they open; the free plan reaches the same listings after 10 days. Counts toward your monthly searches. A batch counts as 1 call.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default: 25) | |
| query | No | Natural language search query. Provide either query (single search) or queries (batch mode) — exactly one. | |
| since | No | Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant. Store the previous response newSince.newest and pass it here to manage your own watermark. | |
| cursor | No | Pagination cursor from previous response | |
| offset | No | Batch mode only: number of merged results to skip for pagination (default 0). Ignored in single-query mode. | |
| source | No | Filter to a specific source/domain, e.g. "grants.gov", "deq.nc.gov", or "sam.gov". | |
| status | No | Filter by status | |
| compact | No | Return compact results (default: true). Set to false for full details. | |
| queries | No | BATCH MODE (paid, replaces batch_search_grantsplus): array of 2-5 search queries to run in parallel, dedupe, and merge. Example for clean energy: ["renewable energy grants", "solar wind funding", "clean energy nonprofit", "sustainability grants", "green technology funding"]. When set, query is ignored and the batch response params (detail_level, max_results, offset, max_response_tokens) apply. | |
| max_results | No | Batch mode only: maximum merged results to return (default 10). Ignored in single-query mode (use limit). | |
| min_quality | No | Minimum quality threshold (default: medium) | |
| detail_level | No | Batch mode only: controls response verbosity (minimal/compact [default]/full). Ignored in single-query mode. | |
| organization | No | Filter by funding organization | |
| user_context | No | User context for better filtering | |
| grants_filters | No | Grants.gov specific filters | |
| new_within_days | No | Backwards-compatible alias for posted_within_days. Only opportunities WE ADDED (ingested) in the last N days — for recurring/delta checks ("what is new since my last check"). Additive to all other filters. 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_days | No | Preferred 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_foundations | No | Also search private foundations matching the query (default: true). Returns foundations that have historically funded similar work. | |
| max_response_tokens | No | Batch mode only: token budget for the response (default 4000). Server auto-caps results to fit. Ignored in single-query mode. | |
| deadline_within_days | No | Only opportunities closing within N days |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, and non-destructive nature. Description adds that it returns matching private foundations automatically, explains batch mode behavior (parallel queries, dedupe), and discloses pricing/timing differences (paid shows new listings immediately, free after 10 days) and monthly search counting. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is lengthy (10+ sentences) with detailed batch mode, pricing, and usage notes. While front-loaded with the core purpose, it could be more concise by moving some operational details to a separate section. Structure is logical but verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 20 parameters and no output schema, the description covers all key aspects: batch mode, pagination (cursor, offset), filtering (status, source, organization, grants_filters), user context, and temporal filters. Missing explicit documentation of return format, but given no output schema, this is acceptable. Comprehensive enough for an AI agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds significant value beyond schema: explains batch mode parameters (queries array replaces former tool, offset/max_results/detail_level/max_response_tokens behavior), the 'since' parameter as stateless alternative, and clarifies new_within_days vs posted_within_days. Examples for queries array are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool searches grants, prizes, fellowships, SBIR/STTR, and private foundations, explicitly excluding procurement/contracts. Title and name align perfectly. Distinguishes from sibling tools like search_procurement and the now-replaced batch_search_grantsplus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'when user wants: funding, grants, fellowships, research money, SBIR, foundation grants.' Includes example queries. Explains batch mode as replacement for former tool and covers paid vs free plan differences. No need to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_procurementSearch Contracts & RFPsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default: 25) | |
| query | No | Natural language search query. Provide either query (single search) or queries (batch mode) — exactly one. | |
| since | No | Stateless alternative to posted_within_days/new_within_days: ISO 8601 instant. Only opportunities ingested at/after this instant. Store the previous response newSince.newest and pass it here to manage your own watermark. | |
| cursor | No | Pagination cursor from previous response | |
| offset | No | Batch mode only: number of merged results to skip for pagination (default 0). Ignored in single-query mode. | |
| source | No | Filter to a specific source/domain, e.g. "sam.gov" or an agency source domain. | |
| status | No | Filter by status | |
| compact | No | Return compact results (default: true). Set to false for full details. | |
| queries | No | BATCH MODE (paid, replaces batch_search_procurement): array of 2-5 search queries to run in parallel, dedupe, and merge. Example for IT services: ["IT services contract", "software development federal", "technology consulting government", "computer services procurement"]. When set, query is ignored and the batch response params (detail_level, max_results, offset, max_response_tokens) apply. | |
| max_results | No | Batch mode only: maximum merged results to return (default 10). Ignored in single-query mode (use limit). | |
| min_quality | No | Minimum quality threshold (default: medium) | |
| sam_filters | No | SAM.gov specific filters | |
| detail_level | No | Batch mode only: controls response verbosity (minimal/compact [default]/full). Ignored in single-query mode. | |
| organization | No | Filter by contracting agency | |
| user_context | No | User context for better filtering | |
| new_within_days | No | Backwards-compatible alias for posted_within_days. Only opportunities WE ADDED (ingested) in the last N days — for recurring/delta checks ("what is new since my last check"). Additive to all other filters. 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_type | No | Filter by industry. professional_services = consulting/engineering/R&D (NAICS 54xxxx). it_services = software/IT (NAICS 5415xx). construction = building (NAICS 23xxxx). manufacturing = production (NAICS 31-33xxxx). | |
| posted_within_days | No | Preferred 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_tokens | No | Batch mode only: token budget for the response (default 4000). Server auto-caps results to fit. Ignored in single-query mode. | |
| deadline_within_days | No | Only opportunities closing within N days |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds significant context beyond annotations: semantic search, NAICS filtering, paid vs free data delay (10 days), counts toward monthly searches. No contradictions with annotations (readOnlyHint, idempotentHint).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with bold headings, examples, and clear sections. Slightly verbose in places but overall efficient and front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description implies return of results. Provides substantial context for a tool with 20 parameters and nested objects, including batch dedup and freshness constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds value by clarifying batch mode behavior, query examples, and the relationship between parameters like limit and max_results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it searches government contracts, RFPs, etc. from SAM.gov, with semantic search and NAICS filtering. Differentiates from siblings by mentioning it replaces the former batch_search_procurement tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use (user wants contracts, RFPs, etc.) with examples. Explains batch mode vs single query. No explicit when-not but implies alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sign_inSign InAInspect
Authenticate existing subscriber via OAuth. Opens browser login. Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide basic hints (not read-only, not destructive, open-world), but the description adds valuable behavioral context: it opens a browser login and does not count toward monthly searches. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The critical information is front-loaded: the purpose, mechanism, and key side effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple authentication tool with no parameters and no output schema, the description is fully complete. It explains the core behavior, OAuth flow, browser interaction, and search-count exemption.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is fully covered (100%). With no parameters, the description correctly does not add parameter details. Baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Authenticate', the resource 'existing subscriber', the method 'via OAuth', and the action 'Opens browser login'. It effectively distinguishes this authentication tool from the many search and account management sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for authentication but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_saved_searchUpdate Saved SearchAIdempotentInspect
Update a saved search. Modify query, filters, alert cadence, name, or quality settings. Can only update your own saved searches.
MODIFIABLE FIELDS: query, name, filters (same schema as save_search), cadence (weekly/daily/never), hidelow (quality filter), emailEnabled (on/off)
TIP: Call list_saved_searches first to see the current settings, then update only the fields that need to change. The response confirms what was updated.
Does not count toward your monthly searches.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Saved search ID to update | |
| name | No | New friendly name | |
| query | No | New search query text | |
| cadence | No | New alert frequency. daily requires a paid plan (Plus or Pro); free includes weekly. never = turn email alerts off. | |
| filters | No | New filters (same schema as save_search filters). Replaces all existing filters. | |
| hidelow | No | Hide low-confidence results in alerts. | |
| emailEnabled | No | Enable or disable email alerts without changing cadence. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false. Description adds that only your own searches can be updated, filters replace all existing filters, and the response confirms what was updated. Missing potential error cases (e.g., invalid id), but overall sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Efficient structure: first sentence states purpose, then bullet-like list of fields, tip, and monthly searches note. No redundant information, each sentence earns its place. Front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 7 parameters, nested objects, and no output schema, description covers main constraints (ownership, paid plan dependency, filters replacement) and suggests workflow. Response not detailed but says confirms updates. Lacks explanation of edge cases or full field formats, but adequate given complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so baseline is 3. Description adds value by listing modifiable fields, explaining cadence constraints (daily requires paid plan), noting that filters use same schema as save_search, and clarifying that filters replace all existing. Provides meaningful context beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Update' and resource 'saved search', lists specific modifiable fields (query, filters, cadence, name, quality settings), and distinguishes from siblings (save_search, delete_saved_search) by focusing on update operation. Also notes ownership constraint: only your own saved searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: call list_saved_searches first to see current settings, then update only needed fields. Also notes that daily cadence requires a paid plan, and that the operation does not count toward monthly searches. No when-not-to-use statement needed given context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whats_newWhat's NewARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Ingest-freshness window in days (default: 7). Only opportunities FundingLandscape ADDED in the last N days, not the opportunity posted date or deadline. Ignored if since is set. | |
| limit | No | Max results (default: 25) | |
| query | No | Optional natural language filter (e.g. "clean energy nonprofit"). Omit for a pure recency digest across all new opportunities. | |
| since | No | Stateless alternative to days: ISO 8601 instant. Only opportunities ingested at/after this instant. Store the previous response newSince.newest and pass it here to manage your own watermark. | |
| cursor | No | Pagination cursor from previous response | |
| source | No | Filter to a specific source/domain, e.g. "grants.gov" or "sam.gov". | |
| status | No | Filter by opportunity status (default: active) | |
| compact | No | Return compact results (default: true). Set to false for full details. | |
| category | No | Filter by category | |
| min_quality | No | Minimum quality threshold (default: medium) | |
| user_context | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description adds rich behavioral context: it describes the ingest-freshness filter, optional query narrowing, pagination via cursor, stateless watermark using since, and free tier behavior with held-back count. It also notes counting toward monthly searches. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concisely written with each sentence providing unique information. It starts with the core purpose, then details options, then explains the stateless watermark, and ends with free tier behavior. There is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 11 parameters, a nested object, and no output schema, the description covers main use cases, behavior, pagination, filtering, and stateless tracking. It mentions the newSince summary structure (newCount, newest, oldest ingest timestamp) but does not detail the full opportunity object structure. For an agent, this is adequate for invocation but could be more explicit about return format. Still, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 91%, so baseline is 3. The description adds significant value beyond schema by explaining the relationship between days and since, the default for days, the stateless watermark technique, and that query can be omitted for a pure recency digest. It also clarifies the behavior of compact and user_context. This goes well beyond just repeating schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a dedicated 'what's new since I last checked' tool for recurring agent checks. It specifies returning opportunities ingested in the last N days, newest-ingested-first, with a newSince summary. It distinguishes from sibling search tools by noting it wraps the same ingest-freshness filter, avoiding the need to remember date params on search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use: 'for recurring agent checks: one obvious call instead of remembering the new_within_days param on a search tool.' It advises omitting query for a pure recency digest and explains the stateless watermark technique. While it doesn't list explicit when-not scenarios, the alternatives (search tools) are implied, and the guidance is clear enough for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!