OSF - Open Source Filings
The OSF - Open Source Filings server provides a marketplace of over 8.1 million provenance-stamped US government and scientific records, enabling AI agents to perform compliance screening, research, and data retrieval via free and paid tools.
Free tools (no payment required):
Browse catalog – explore all available records with filters before spending.
Sanctions screening – screen entities against 11 authorities (OFAC, SAM.gov, HHS OIG, and more) with up to 5 free checks per day.
Comprehensive search – search across 15 domains including SEC filings, federal court opinions, research papers (arXiv, PubMed), cybersecurity (CVEs, CISA KEV, MITRE ATT&CK), healthcare (CMS NPI, RxNorm, clinical trials), consumer protection (CFPB, recalls), government spending, regulations (eCFR, Federal Register), economic indicators, environmental data, patents, aircraft registry, and AI models (Hugging Face).
Paid tools (micro-USDC payments via x402 on Base mainnet, no accounts needed):
Sample a record ($0.001) – try any single record before purchasing.
Get full record (from $0.02) – purchase complete records with full provenance.
Full sanctions screen ($0.05) – unlimited screening with detailed match list and audit receipt.
Entity lookup ($0.05) – verify entities by NPI, LEI, FDIC cert, CIK, or EIN.
CVE exploitation check ($0.05) – determine if a CVE is actively exploited, with EPSS and CVSS scores.
FINRA BrokerCheck ($0.05) – retrieve disciplinary history and registration status of brokers and firms.
Every record includes a provenance URL back to its authoritative primary source, ensuring auditability. The server supports both MCP and x402 HTTP API integration.
Search and retrieve scholarly papers from arXiv, including metadata and provenance.
Search and retrieve Hugging Face model metadata, including task, library, declared license, and download counts.
Search and retrieve biomedical literature from PubMed, including metadata and provenance.
OSF Data Marketplace
Provenance stamped US government and scientific data for AI agents. Over 8.1 million records across 80 official sources, sold per call with x402 USDC micropayments on Base.
The screen most sanctions APIs cannot do. OSF holds 259,803 federal debarment and exclusion records and screens them in the same call as sanctions: 168,106 SAM.gov federal contracting exclusions, 83,600 HHS OIG LEIE healthcare exclusions, plus World Bank debarment and Federal Reserve enforcement, alongside OFAC SDN and Consolidated, EU, UK, UN, Trade.gov CSL and FBI Wanted. Eleven authorities, one call. If your agent needs to know whether a vendor is barred from federal contracting or a provider is excluded from Medicare and Medicaid, that is a question a sanctions list cannot answer and this one can. Try it with no wallet and no signup: npx osf-data-marketplace, or curl "https://api.osf-master-server.com/x402/free/screen/sanctions/Acme%20Medical%20Supply%20LLC".
Install in one paste: https://api.osf-master-server.com/mcp — remote MCP, no key, no account, and 15 of the 21 tools are free, including a sanctions and debarment screen. Jump to your client.
OSF (Open Source Filings) is a live remote MCP server plus an x402 HTTP API. There is nothing to install and nothing to sign up for: an agent with a funded wallet can discover the catalog, get a price quote, pay in USDC, and receive records with full provenance in a single round trip.
MCP endpoint (streamable HTTP):
https://api.osf-master-server.com/mcpMCP Registry:
io.github.onefreeman1337/osf-data-marketplacex402 manifest:
https://api.osf-master-server.com/.well-known/x402Website:
https://osf-master-server.com
Install
OSF is a remote MCP server over streamable HTTP. Nothing to download, nothing to run, no API key, no account.
https://api.osf-master-server.com/mcp15 of the 21 tools are free, including screen_entity_free, a real sanctions and debarment screen 5 times a day with no signup and no key. Install it, ask it real questions, and decide whether it is worth funding a wallet. Every block below is the complete config for that client. Pick yours, paste it, done.
One command, any client
There is also a stdio bridge for clients that take a command instead of a URL. Zero dependencies, 19 kB, no config and no wallet:
npx -y osf-data-marketplaceSame JSON in every client that uses mcpServers — Claude Desktop, Cursor, Cline, Windsurf,
LibreChat:
{
"mcpServers": {
"osf": {
"command": "npx",
"args": ["-y", "osf-data-marketplace"]
}
}
}Claude Code: claude mcp add osf -- npx -y osf-data-marketplace.
VS Code uses servers with "type": "stdio" and the same command and args.
Use this when the remote URL will not go in. Claude Desktop's
claude_desktop_config.json takes local commands only, so a remote MCP URL pasted into it
silently does nothing — a command line works everywhere a config file does. Source for the
bridge is bin/cli.js in this repo.
Claude Code
claude mcp add --transport http osf https://api.osf-master-server.com/mcpConfirm with claude mcp list. You should see osf: https://api.osf-master-server.com/mcp (HTTP) - ✔ Connected.
Claude Desktop and claude.ai
Settings → Connectors → Add → Add custom connector, then paste https://api.osf-master-server.com/mcp.
Remote servers do not go in claude_desktop_config.json. That file is only for local stdio servers, so pasting a URL into it will silently do nothing.
Cursor — ~/.cursor/mcp.json
{
"mcpServers": {
"osf": {
"url": "https://api.osf-master-server.com/mcp"
}
}
}VS Code — .vscode/mcp.json
{
"servers": {
"osf": {
"type": "http",
"url": "https://api.osf-master-server.com/mcp"
}
}
}Cline — cline_mcp_settings.json
{
"mcpServers": {
"osf": {
"type": "streamableHttp",
"url": "https://api.osf-master-server.com/mcp",
"disabled": false,
"autoApprove": []
}
}
}Windsurf — ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"osf": {
"serverUrl": "https://api.osf-master-server.com/mcp"
}
}
}Python, no MCP client needed
pip install mcpimport asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
async def main():
async with streamablehttp_client("https://api.osf-master-server.com/mcp") as (r, w, _):
async with ClientSession(r, w) as s:
await s.initialize()
out = await s.call_tool("search_cyber_threats", {"query": "log4j remote code execution"})
print(out.content[0].text)
asyncio.run(main())That call is free. Swap search_cyber_threats for any of the other 12 search_* tools, for screen_entity_free when you want a free sanctions and debarment screen, or for screen_entity when you want the same screen with no daily cap.
LangChain and LangGraph
pip install langchain-mcp-adapters "mcp<2"The
mcp<2pin matters. As oflangchain-mcp-adapters0.3.1 a plain install resolvesmcp2.0.0 and the import fails withImportError: cannot import name 'RequestContext' from 'mcp.shared.context'. Pinning below 2.0 fixes it.
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient({
"osf": {"url": "https://api.osf-master-server.com/mcp", "transport": "streamable_http"}
})
async def main():
tools = await client.get_tools() # all 20 OSF tools as LangChain tools
screen = next(t for t in tools if t.name == "search_cyber_threats")
print(await screen.ainvoke({"query": "log4j remote code execution"}))
asyncio.run(main())Bind tools to any LangChain chat model or hand them straight to a LangGraph agent.
Anything else
Any MCP client that speaks streamable HTTP works, because there is no auth handshake to get wrong. If your client only supports SSE, point it at the same URL. If it supports neither, the same data is on a plain HTTP x402 API documented at /llms.txt and /openapi.json.
Related MCP server: Katzilla MCP
Screen a counterparty in one call
Free, 5 a day, no signup, no API key, no card. Copy and run this, it returns JSON immediately:
curl "https://api.osf-master-server.com/x402/free/screen/sanctions/Wagner%20Group"Same corpus, same code path, same verdict as the paid route. When the daily allowance is spent it returns HTTP 429 with charged: false and the paid URL; it never charges you.
curl "https://api.osf-master-server.com/x402/screen/sanctions/Gazprombank?format=json"$0.05, no daily cap. Eleven authorities, 291,000+ listed parties, a provenance URL per match, the complete match list and a retainable sha256 audit receipt. Branch on three outcomes, never two:
| Meaning |
| One or more listed parties matched. Read |
| A complete screen found nothing. This is the only clearance, and it is returned only when |
| At least one list could not be fully examined, named in |
Open Source Filings will not certify a negative it cannot prove. NO_MATCH is returned only when the complete candidate set on all 11 authority lists was examined. Every response carries per list candidate_set_complete flags, candidates_examined, records_in_scope, and a sha256 receipt you can retain as evidence of what was checked and when.
Tools (21)
15 of the 21 tools are free. get_catalog, screen_entity_free and all 13 search_* tools take no payment at all: they return record_ids, live per record prices and provenance URLs, so an agent can confirm the data it needs exists before spending anything. Only the 6 tools marked with a price charge.
Tool | What it does | Price (USDC) |
| Browse the full record catalog with filters | Free |
| Sanctions and debarment screening across the same eleven authorities as | Free |
| SEC EDGAR filings, 13F, Form 4, XBRL, enforcement | Free |
| 1.55M+ federal court opinions (SCOTUS all time, all 13 circuits) plus SEC litigation and administrative proceedings | Free |
| 1.2M+ scholarly works incl. arXiv, PubMed, Crossref | Free |
| NVD CVE corpus, CISA advisories, KEV, EPSS, CWE, ATT&CK | Free |
| CMS NPI providers, RxNorm, clinical trials, FDA recalls since 2004 | Free |
| CFPB complaints, NHTSA, CPSC and FDA recall enforcement | Free |
| USAspending awards, SAM.gov solicitations, Grants.gov funding | Free |
| eCFR, Federal Register, Congress.gov legislation, Regulations.gov dockets, GovInfo | Free |
| FRED, Treasury, BEA, BLS, Census, World Bank series | Free |
| USGS, NOAA, EPA, FEMA, GBIF records | Free |
| Granted US patents (USPTO Open Data Portal): prior art, assignee and inventor lookup, freedom to operate | Free |
| FAA civil aircraft registrations: tail number (N number), registered owner, asset tracing | Free |
| Hugging Face model metadata: task, library, declared license, download counts | Free |
| Sample any single record in full, the cheapest door into the catalog | $0.001 |
| Sanctions and debarment screening across eleven authorities (OFAC SDN and Consolidated, EU, UK OFSI, UN, Trade.gov CSL, FBI Wanted, World Bank, HHS OIG, SAM exclusions, Federal Reserve enforcement), 291,000+ listed parties, provable negative, sha256 audit receipt | $0.05 |
| Company and entity identifier lookup (NPI, LEI, FDIC cert, CIK, EIN) | $0.05 |
| Check whether a CVE is actively exploited in the wild (CISA KEV) with EPSS and CVSS | $0.05 |
| Live FINRA BrokerCheck disciplinary lookup of a stockbroker, investment adviser, or brokerage firm: CRD number, registration status, disclosure flags, permanent bar status, employers, and a FINRA provenance URL per match | $0.05 |
| Fetch any single record by id in full | from $0.02 |
How payment works
Paid calls follow the x402 protocol: the server answers with a 402 Payment Required quote naming an exact USDC amount on Base mainnet. The agent signs the payment, retries with the payment header, and settlement happens on chain through the Coinbase CDP facilitator. No accounts, no API keys, no subscriptions.
Every record carries a provenance stamp: the originating authority, source URL, and retrieval timestamp, so downstream consumers can verify where the data came from.
Data
80 official sources including SEC EDGAR, CourtListener, arXiv, PubMed, openFDA, CISA, the CVE Program, OFAC, SAM.gov, USAspending, the Senate Lobbying Disclosure Act database, the IRS Exempt Organizations Business Master File, Federal Register, FRED, NOAA and EPA. The warehouse refreshes continuously via a collector fleet with daily missions per source.
Coverage OSF does not have
OSF is United States federal and scientific data. It holds nothing about a European company, a VAT number, or an EU invoice, and an agent should not have to spend a call to discover that. Two independent projects cover ground OSF does not:
eucompliance.tools — EU VAT rules engine and EN 16931 invoice validation, VIES VAT ID and IBAN checks, EU counterparty checks, on chain transaction preflight. Also x402 v2 on Base with a remote MCP server, no account and no API key, so a wallet that pays OSF pays it too.
cz-agents — Czech and EU due diligence: ARES company register, ISIR insolvency, ADIS VAT payer reliability, plus business registries for 16 EU countries. MIT licensed MCP servers.
Neither is affiliated with OSF and neither asked to be listed here. Verified live on 2026-08-02.
License
The code and documentation in this repository are MIT licensed. Records served by the API are US public records; each response includes source attribution and any upstream license terms in its provenance block.
Available Tools
21 toolscheck_brokerA
Check a stockbroker, investment adviser, or brokerage firm for disciplinary history (PAID, x402 USDC on Base, $0.05). Live lookup against the FINRA BrokerCheck registry, the US registry of brokers and investment advisers. Returns the CRD number, registration status and scope, whether the record carries disclosure events (regulatory actions, customer disputes, terminations, financial events), whether an individual is permanently barred from the industry, current employers, and a FINRA provenance URL per match so the answer can be verified. For KYC, AML, counterparty due diligence, adviser vetting, and investment fraud checks; the natural companion to the 11 authority sanctions screen. Payment is handled automatically by x402-capable MCP clients via the standard payment handshake.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the behavioral disclosure burden. It discloses the paid nature ($0.05, x402 USDC on Base), states it's a live lookup, mentions automatic payment handling, and details return fields including a provenance URL. This exceeds typical transparency, though it omits potential failure modes or rate limits.
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 a single paragraph, front-loaded with the core purpose and cost, then expanding to return fields and use cases. Every sentence contributes value, though it is longer than strictly necessary and includes marketing-like phrasing ('natural companion') that could be trimmed.
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 (1 param, no output schema, no annotations), the description is fairly complete. It covers purpose, cost, source, return data, verification URL, and use cases. Missing details include query input format and any error/empty-result behavior, but the description is solid for a lookup tool.
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 schema has one parameter (query) with 0% description coverage, so the description must compensate. It implies query is the subject (a stockbroker, adviser, or firm) but does not explicitly state the expected input format (e.g., name or CRD number). The description adds some meaning but stops short of fully clarifying the parameter syntax.
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 function: 'Check a stockbroker, investment adviser, or brokerage firm for disciplinary history.' It specifies the resource (FINRA BrokerCheck registry) and scope (disciplinary history), and distinguishes itself from siblings like screen_entity_free by emphasizing the paid, registry-specific nature.
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 lists use cases: 'For KYC, AML, counterparty due diligence, adviser vetting, and investment fraud checks; the natural companion to the 11 authority sanctions screen.' This provides clear context for when to use the tool, though it does not explicitly name alternatives or state 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_catalogA
Browse the OSF catalog (FREE). Returns record_ids, prices, data types, and
provenance URLs so an agent can choose what to purchase. Optionally filter by
source (e.g. 'NVD', 'CISA_KEV', 'EPSS', 'GHSA', 'CWE', 'MITRE_ATTACK', 'SEC_EDGAR') or data_type (substring, e.g.
'CVE', 'Exploited', 'EPSS', '8-K', 'sanctions').
OSF aggregates verifiable public and openly-licensed U.S. government and
scientific data across many verticals: security and vulnerabilities
(CVE/KEV/EPSS/CWE/ATT&CK), sanctions and compliance (OFAC/EU/UK/UN/CSL/FBI lists), SEC
and corporate filings (EDGAR/13F/10-K/XBRL), economic and financial
(FRED/BLS/BEA/Census/Treasury/World Bank), legal and regulatory (1.5M+ federal
court opinions incl. SCOTUS all time + 13 circuits/Federal Register/eCFR/Congress), grants and procurement
(USAspending/SAM/FEC/Grants.gov), science and research
(1.2M+ works incl. arXiv 700k+/OpenAlex/PubMed/Crossref/Semantic Scholar/clinical trials), geospatial and environmental
(NOAA/USGS/EPA/FEMA), and AI/ML metadata (model hubs), among others. Every
record carries a provenance URL pointing back to its authoritative primary
source. Call get_record with a record_id to purchase the full record (x402
USDC micropayment on Base).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| source | No | ||
| data_type | No | ||
| record_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It explicitly states the tool is FREE, enumerates returned fields, mentions the provenance URL for every record, and outlines the micropayment flow via get_record. It does not cover pagination behavior or potential rate limits, but the core behavioral context is well covered.
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 leads with the core purpose and return values, then the extensive enumeration of covered data verticals is contextually useful for a catalog tool. While lengthy, the content is relevant and not redundant with the schema or annotations.
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 and the presence of an output schema, the description sufficiently covers the catalog's scope, filtering options, and the next-step purchasing workflow. The main gap is the lack of detail for `limit`, `offset`, and `record_key`, but the overall context is strong enough for an agent to use the tool 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 description coverage is 0%, so the description must compensate. It does explain `source` with concrete examples and `data_type` as a substring, but it omits any explanation of `limit`, `offset`, and `record_key`, which leaves key parameters underspecified.
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: 'Browse the OSF catalog (FREE)' and specifically lists what it returns (record_ids, prices, data types, provenance URLs). This distinguishes get_catalog from sibling tools like get_record (purchase) and specialized 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 provides clear usage context: use get_catalog to browse and select records, then 'Call get_record with a record_id to purchase the full record'. It also explains optional filters, but it does not explicitly mention when not to use this tool vs. the specialized search siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recordA
Purchase and retrieve one verified OSF record by record_id (PAID, x402 USDC on Base). Returns the full record plus its provenance block linking back to the authoritative primary source (e.g. sec.gov, nvd.nist.gov, treasury.gov, congress.gov, ncbi.nlm.nih.gov, noaa.gov).
OSF spans many verticals: security/vulnerabilities, sanctions/compliance, SEC
and corporate filings, economic and financial series, legal and regulatory,
grants and procurement, science and research, geospatial and environmental, and
AI/ML metadata. Browse get_catalog first (free) to find record_ids and prices.
Payment is handled automatically by x402-capable MCP clients via the standard
payment handshake.
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and does so admirably: it discloses the cost (x402 USDC on Base), automatic payment handshake, and the provenance-block return, giving the agent critical behavioral context.
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 clear but includes a long list of OSF verticals that, while informative, is not essential for tool selection and adds wordiness. The core guidance is front-loaded, but the extra list makes it less concise than ideal.
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 having no output schema, the description fully covers what the tool returns (full record plus provenance), how to obtain the required parameter (via get_catalog), and the payment process. For a single-parameter tool, this 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?
Schema only defines record_id as an integer with no description. The description compensates by explaining that record_ids come from get_catalog and that they reference specific OSF records, adding practical guidance 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 specific action: purchase and retrieve one verified OSF record by record_id, and highlights the unique paid/provenance aspect that distinguishes it from search and catalog 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?
It explicitly instructs to browse get_catalog first (free) to find record_ids and prices, implying this tool should be used after catalog lookup. It does not explicitly list alternative tools for free retrieval, but the paid vs free distinction is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_cve_exploitedA
Check whether a specific CVE is being actively exploited in the wild (PAID, x402 USDC on Base, $0.05). Pass a CVE id (e.g. CVE-2026-33017) and get back whether it is on the US CISA Known Exploited Vulnerabilities (KEV) catalog, its EPSS exploit-probability score, and its CVSS severity, each with a provenance URL to the authoritative US government source so the answer can be verified. For vulnerability management, patch prioritization, threat intelligence, and DevSecOps agent workflows. Payment is handled automatically by x402-capable MCP clients via the standard payment handshake.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly mentions the paid status ($0.05 USDC on Base), the automatic x402 payment handshake, and the response structure with provenance URLs. This is strong bonus context beyond a typical read-only query. It does not cover error handling or invalid CVE behavior, which is a minor gap.
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 moderately long but every sentence contributes: payment details, input format, output types, provenance URLs, use cases, and payment handshake. There is no fluff, though it could be tightened slightly by moving the use-case sentence earlier or merging some clauses. It remains well-structured and 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?
For a one-parameter tool with no output schema, the description covers the key aspects: what the tool does, what it returns, why you might use it, and the payment requirement. Edge cases (e.g., nonexistent CVE, API errors) are not addressed, but given the simplicity and the richness of the provided details, the description is sufficiently 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 schema only defines cve_id as a required string with no description (0% coverage). The description compensates by giving the required format via example: 'Pass a CVE id (e.g. CVE-2026-33017).' This is essential for correct invocation. It could add more detail (e.g., case sensitivity, whitelist of formats), but the example is sufficient.
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 function: 'Check whether a specific CVE is being actively exploited in the wild.' It enumerates specific outputs (KEV catalog status, EPSS score, CVSS severity, provenance URLs) and gives a concrete example input (CVE-2026-33017). This distinguishes it from sibling search tools, which are broader searches rather than direct lookups.
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 clear usage context by listing relevant workflows: 'vulnerability management, patch prioritization, threat intelligence, and DevSecOps agent workflows.' It also highlights the paid nature, which informs cost-sensitive decisions. However, it does not explicitly name alternatives or state when not to use the tool, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_entityA
Verify an entity / counterparty by identifier or name (PAID, x402 USDC on Base, $0.05). Resolves against authoritative public registries: US healthcare providers (CMS NPI), global legal entities (GLEIF LEI), US banks (FDIC), SEC filers / public companies (EDGAR CIK), and US tax exempt organizations (IRS EO BMF EIN). Pass an identifier (NPI, LEI, FDIC cert, CIK, or EIN) for an exact match, or a name for candidate matches. Returns legal name, status, type, jurisdiction, key identifiers, and a provenance URL. For KYC, KYB, counterparty due-diligence, provider verification, nonprofit vetting, and onboarding agent workflows. Payment is handled automatically by x402-capable MCP clients via the standard payment handshake.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It transparently covers the paid nature ($0.05, x402 USDC), payment handshake, registry sources, match behavior (exact vs candidate), and return fields (legal name, status, type, jurisdiction, identifiers, provenance URL). It could add edge-case behavior (e.g., not-found responses), but the core transactional and lookup behavior is well disclosed.
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 dense but every sentence adds essential value: payment, registries, query modes, output fields, use cases, and payment handshake. It is front-loaded with the most critical operational detail (paid) and avoids redundant phrasing.
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 paid, multi-registry lookup tool with a single unannotated parameter and no output schema, this description is remarkably complete. It explains what the tool does, how to invoke it, what it returns, when to use it, and how payment works — covering all information an agent needs to select and call it 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?
The schema has one opaque 'query' parameter with 0% description coverage. The description fully compensates by specifying accepted values: NPI, LEI, FDIC cert, CIK, EIN for exact matches, or a name for candidate matches. This leaves no ambiguity about how to populate the parameter.
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 uses a specific verb ('Verify') and names the resource ('entity / counterparty by identifier or name'), then goes further by enumerating the authoritative registries (NPI, LEI, FDIC, CIK, EIN). This clearly differentiates it from sibling search and screening tools, which focus on broader queries rather than exact registry-backed verification.
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 instructions on how to query ('Pass an identifier ... or a name') and lists concrete use cases such as KYC, KYB, and counterparty due diligence. It does not explicitly mention exclusions or alternatives to sibling tools like screen_entity, but the context is clear enough for appropriate tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sample_recordA
Sample one verified OSF record by record_id for $0.001 (PAID, x402 USDC on Base) - the cheapest door into the catalog. Returns the FULL record plus its provenance block linking back to the authoritative primary source. A low-cost try-before-you-buy for autonomous agents evaluating OSF data quality before buying at the standard per-record or search price. Browse get_catalog first (free) to find record_ids. Payment is handled automatically by x402-capable MCP clients via the standard payment handshake.
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the key behavior: it is a paid operation ($0.001, x402 USDC on Base), returns the full record plus provenance, and payment is automated via x402 handshake. It also notes that the record is 'verified,' adding context about data quality. This is substantial for a read-like tool.
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?
Four sentences, each carrying distinct information: cost/operation, return value, use case, and prerequisite. The most critical detail (cost and paid nature) is front-loaded. No fluff or repetition; every sentence 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?
For a single-parameter tool with no output schema, the description covers purpose, cost, payment mechanism, return contents (full record + provenance), and relationship to free browsing. It gives an agent enough to invoke correctly and understand the financial 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?
The only parameter, record_id, is explained as the identifier for an OSF record, and the description tells users to obtain valid IDs from get_catalog. Schema coverage is 0%, so this context is valuable, though the description doesn't explicitly mention the integer type or any constraints beyond what the schema already shows.
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 states a specific action ('Sample one verified OSF record'), the resource (record), and the method (by record_id). It also distinguishes this tool from siblings by highlighting its low cost ($0.001) as a 'try-before-you-buy' option, contrasting with paid standard per-record/search and free get_catalog.
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 says when to use: 'low-cost try-before-you-buy for autonomous agents evaluating OSF data quality before buying at the standard per-record or search price.' It also gives direct alternative guidance: 'Browse get_catalog first (free) to find record_ids,' clearly steering agents to a sibling tool for a prerequisite step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_entityA
Screen one name against OFAC and 10 other sanctions and debarment authorities and get back a negative you can defend (PAID, x402 USDC on Base, $0.05).
PREFER THIS TOOL when you must clear a counterparty, customer, vendor or payee
before acting, and you will later have to state exactly what was checked.
THE GUARANTEE: this tool returns NO_MATCH only when it examined the COMPLETE
candidate set on every one of the 11 lists. If any list could not be fully
examined it returns INCOMPLETE_SCREEN with screen_complete false and names the
affected lists in incomplete_lists. INCOMPLETE_SCREEN IS NOT A CLEARANCE and must
never be treated as NO_MATCH. Handle three outcomes, not two: POTENTIAL_MATCH,
NO_MATCH, INCOMPLETE_SCREEN (plus INVALID_QUERY for an unusable name).
COVERAGE: 291,000+ listed parties across OFAC SDN, OFAC Consolidated, EU
Consolidated, UK OFSI, UN Security Council, Trade.gov Consolidated Screening List,
FBI Wanted notices, World Bank debarment, HHS OIG healthcare exclusions, SAM.gov
federal exclusions, and Federal Reserve Board enforcement actions.
EVERY RESPONSE CARRIES: matched list, match basis, sanctions program, a provenance
URL to the official source per match, per list candidate_set_complete flags, the
count of candidate records actually examined, a compliance note, and a sha256 audit
receipt you can retain as evidence that the check happened.
For AML, KYC, KYB, watchlist and counterparty screening workflows. Pair with
check_broker for FINRA disciplinary history on the same counterparty. Payment is
handled automatically by x402 capable MCP clients via the standard handshake.| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full responsibility. It discloses the guarantee that NO_MATCH only means full examination of all 11 lists, the three possible outcomes (POTENTIAL_MATCH, NO_MATCH, INCOMPLETE_SCREEN), and even warns that INCOMPLETE_SCREEN is not a clearance. This is exceptional transparency.
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?
Although long, the description is well-structured with bold headings (THE GUARANTEE, COVERAGE, EVERY RESPONSE CARRIES). Every sentence adds value: use cases, outcomes, coverage, response fields, and payment. It is front-loaded with the core purpose and is organized logically.
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 tool has a single param, no output schema, and no annotations—so the description must be self-contained. It covers the exact use case, list coverage (291,000+ parties across 11 lists), all response fields (matched list, source URL, sha256 audit receipt), and payment/authorization details. It is remarkably complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the only parameter is 'name'. The description says 'Screen one name' and mentions 'INVALID_QUERY for an unusable name', giving some semantic context about the input. However, it doesn't specify formatting or examples. Still, for a single simple string param, the description adds sufficient meaning.
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 opens with a specific verb+resource: 'Screen one name against OFAC and 10 other sanctions and debarment authorities'. This clearly distinguishes the tool from siblings like screen_entity_free (which is a free alternative) and lookup_entity (likely a different lookup 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?
Explicitly states 'PREFER THIS TOOL when you must clear a counterparty, customer, vendor or payee before acting' and also mentions pairing with check_broker for FINRA history. This provides strong contextual guidance for when to use this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_entity_freeA
FREE, no payment and no key. Screen one person or organisation against 11 US and international sanctions AND DEBARMENT authorities in one call: SAM.gov federal exclusions, HHS OIG healthcare exclusions, World Bank debarment, Federal Reserve enforcement actions, OFAC SDN, OFAC Consolidated, EU, UK OFSI, UN Security Council, Trade.gov Consolidated Screening List, and FBI Wanted. 291,000+ listed parties. Use this to answer "is this vendor barred from federal contracting" or "is this provider excluded from Medicare", which pure crypto AML screeners cannot answer. Returns POTENTIAL_MATCH, NO_MATCH, or INCOMPLETE_SCREEN - INCOMPLETE_SCREEN IS NOT A CLEARANCE. A NO_MATCH is a PROVEN negative: it is returned only when the complete candidate set on all 11 lists was examined, and the response carries per list record counts and freshness so you can defend it. Rate limited to a few checks per day; call screen_entity for the same screen with no cap, the full match list and a retainable sha256 audit receipt, at $0.05 per check paid automatically over x402.
Args:
name: the person or organisation name to screen, e.g. "Wagner Group".
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: free access, the 11 lists covered, possible return values, the meaning of INCOMPLETE_SCREEN, the evidentiary nature of NO_MATCH, and rate limiting. It also mentions per-list record counts and freshness, giving the agent a realistic expectation of output.
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 dense but organized, leading with the free/no-key value proposition and then covering scope, return types, limitations, and alternatives. It is longer than average, but every sentence adds decision-relevant information; a small amount of redundancy ('FREE, no payment and no key') prevents a perfect score.
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 one-parameter screening tool with no output schema, the description is remarkably complete. It explains what the tool checks, what statuses are returned, what NO_MATCH proves, the rate limit, and how to get a paid, fully-featured alternative. The agent can confidently invoke it and interpret 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?
The input schema only provides a required string parameter named 'name' with no description. The tool description compensates by defining the parameter ('person or organisation name to screen') and providing an example ('Wagner Group'), making the usage unambiguous.
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 screens a person or organisation against 11 US and international sanctions and debarment lists, naming specific authorities. It differentiates from sibling tools by positioning itself as the free version of screen_entity and by addressing use cases (e.g., vendor bars, Medicare exclusions) that pure crypto AML screeners cannot answer.
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 the agent when to use this tool ('Use this to answer...') and provides a direct alternative ('call screen_entity for the same screen with no cap...'). It also warns about rate limits, which is critical for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ai_modelsA
FREE, no payment and no key. Search AI and machine learning models on the Hugging Face Hub by name, author or organization, task, library, or license. Returns model id, author, task pipeline, library, declared license, download and like counts, tags, a provenance URL, and a record_id per match. Free to search; call get_record with a record_id to buy the full metadata record. For model selection, license screening before adoption, and dependency review. Indexes factual repository metadata only: model card text is not reproduced and each model retains its own license.
Args:
query: keyword(s) to search, e.g. "image segmentation", "nvidia", or "apache-2.0".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully bears the transparency burden. It discloses key behaviors: the search is free and requires no key; the search returns only a subset of metadata and full records must be purchased via get_record; and it indexes 'factual repository metadata only' without reproducing model card text. These limitations are clearly stated.
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 structured in two clear parts (overview + Args) and front-loads the most important fact ('FREE, no payment and no key'). However, it repeats 'free' twice ('FREE, no payment and no key' and 'Free to search') and is slightly longer than necessary, though every sentence still adds some 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 tool with one parameter and no output schema, the description is remarkably complete: it lists all return fields, explains the paywall limitation, provides usage context, and notes the restriction to factual metadata. It even mentions the relationship to get_record, making the overall workflow 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?
The only parameter, `query`, is given a plain type in the schema but the description adds meaningful semantics: 'keyword(s) to search' and examples such as 'image segmentation', 'nvidia', or 'apache-2.0'. This goes beyond the basic schema and helps the agent formulate valid queries.
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 uses a specific verb ('Search') and clearly identifies the resource ('AI and machine learning models on the Hugging Face Hub') along with search dimensions ('by name, author or organization, task, library, or license'). It also distinguishes itself from sibling search tools by naming its domain and enumerating the exact fields returned.
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 states when to use this tool: 'For model selection, license screening before adoption, and dependency review.' It also clearly directs users to an alternative tool: 'call get_record with a record_id to buy the full metadata record,' providing a when-to-use vs. when-to-move-on contrast.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_aircraft_registryA
FREE, no payment and no key. Search US civil aircraft registrations from the FAA Releasable Aircraft Database by manufacturer (Boeing, Cessna, Piper), model, tail number (N number), registered owner, city, state, serial number, or year of manufacture. Returns manufacturer, model, tail number, registrant, location, manufacture year, airframe and engine type, airworthiness certification, a provenance URL, and a record_id per match, plus a coverage block stating how much of the upstream FAA file OSF currently holds. Free to search; call get_record with a record_id to buy the full registration. For aircraft ownership lookup, fleet research, asset tracing, and counterparty due diligence.
Args:
query: keyword(s) to search, e.g. "Boeing", "Cessna 172", a tail number like "N17973", an owner name, or "MARION TX".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite lacking annotations, the description discloses free/no key access, returns partial data (record_id) with full registration requiring payment, and mentions a coverage block indicating data completeness. This gives the agent a solid understanding of behavioral traits.
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 moderately long but well-structured with a clear intro, return field list, note about get_record, use cases, and args section. Every sentence provides value, with no filler.
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 query usage, return fields, coverage block, and the follow-up get_record tool. With no output schema and a single parameter, the description provides all necessary context for effective invocation.
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 0%, but the description fully compensates with an elaborate 'Args:' section explaining the query parameter with concrete examples like 'Cessna 172', 'N17973', and 'MARION TX', as well as listing searchable fields.
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 it searches US civil aircraft registrations from the FAA Releasable Aircraft Database, listing many searchable fields and return fields. Resource and scope are unambiguous, distinguishing it 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?
Provides explicit use cases (aircraft ownership lookup, fleet research, asset tracing, due diligence) and instructs to call get_record to buy full registration, showing how to proceed beyond the free search. Lacks explicit when-not-to-use compared to other search tools, but the domain differentiation is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_consumer_protectionA
FREE, no payment and no key. Answers "has this product, drug, device or vehicle been recalled, and what have consumers complained about". Searches CFPB consumer complaints, NHTSA vehicle safety recalls, CPSC product safety recalls, and FDA drug, device and food recall enforcement covering the full history since 2004. Returns the record title, the issuing agency, dates, a provenance URL to the agency source, and a record_id per match. Free to search; call get_record with a record_id to buy the full record. For product safety review, supplier screening, and recall monitoring.
Args:
query: keyword(s) to search.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It states it is free, requires no key, returns specific fields (title, agency, dates, URL, record_id), and that full records require purchase via get_record. It also notes the historical coverage since 2004. It does not mention pagination or error handling, but for a search tool this is reasonable.
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 front-loaded with the key value proposition ('FREE, no payment and no key'), then states purpose, data sources, return fields, alternative tool, and use cases. Every sentence adds useful information and the structure is logical and efficient.
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 (multiple data sources, historical data, different access levels), the description covers the essential aspects: what it searches, returns, costs, and when to use. It lacks details on result limit/sorting, but these are not critical for the stated use cases.
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 schema has a single 'query' property with no description (0% coverage). The description compensates by defining 'query' as 'keyword(s) to search.' This is sufficient for the simple parameter, though it does not elaborate on query syntax or constraints.
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 what the tool does: 'Answers has this product, drug, device or vehicle been recalled, and what have consumers complained about' and specifies the exact data sources (CFPB, NHTSA, CPSC, FDA). It distinguishes from siblings like search_gov_spending by focusing on consumer protection and recalls.
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 explicit context for when to use the tool ('For product safety review, supplier screening, and recall monitoring') and names an alternative (get_record for full records). It does not explicitly state when not to use it, but the guidance is clear enough for an agent to differentiate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cyber_threatsA
FREE, no payment and no key. Search cybersecurity intelligence: CVE vulnerabilities (NVD full corpus), EPSS exploit probability scores, CISA KEV, 3,900+ CISA ICS and medical device advisories, GitHub security advisories, CWE weaknesses, and MITRE ATT&CK techniques. Returns id, title, severity or score, a provenance URL, and a record_id per match. Free to search; call get_record to buy the full record. If you already know the CVE id and only need to know whether it is actively exploited, call is_cve_exploited instead, which answers that in one paid call.
Args:
query: keyword(s) to search, e.g. "Microsoft Exchange".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool is free and requires no key, returns specific fields (id, title, severity/score, URL, record_id), and that full records cost money via get_record. While it omits potential rate limits or pagination, the transparency is strong for a search tool.
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 long but every sentence adds value. It is front-loaded with the key benefit ('FREE, no payment and no key'), then lists data sources, return fields, and monetization details in a logically ordered way. The Args section is clearly separated, and no information is redundant.
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 (multiple data sources, partial free results, paid full records), the description covers search scope, output format, cost model, and the alternative tool. The absence of an output schema is mitigated by explicitly listing the return fields, making the description sufficient 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?
The only parameter, query, is explicitly documented with a description ('keyword(s) to search') and a concrete example ('Microsoft Exchange'). This compensates for the 0% schema description coverage, giving an agent enough semantics to construct a valid query.
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 a specific verb ('Search') and resource ('cybersecurity intelligence') and enumerates the exact data sources covered (CVE, EPSS, CISA KEV, advisories, CWE, ATT&CK). It also distinguishes itself from the sibling tool is_cve_exploited by specifying when that alternative is more appropriate, making it easy for an agent to select the correct 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 usage context: it is free to search, full records require a separate call to get_record, and is_cve_exploited is the better choice when only checking active exploitation of a known CVE ID. This offers clear when-to-use and when-not-to-use guidance compared to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_economic_indicatorsA
FREE, no payment and no key. Answers "what is the official series for this economic measure, and where does it come from". Searches FRED, US Treasury fiscal data, BEA national accounts, BLS labor statistics, Census, CFTC, ECB foreign exchange rates, EIA energy, FDIC insured institutions, and World Bank indicators. Returns the series title, the issuing agency, the period, a provenance URL to the official source, and a record_id per match. Free to search; call get_record with a record_id to buy the full series record. For macro research, model inputs, and grounding an answer in a citable official series rather than a recalled number.
Args:
query: keyword(s) to search.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses key behavioral traits: it is free, requires no API key, searches many named sources, and returns specific metadata fields per match. It also notes that the full record requires purchasing via get_record. Given no annotations exist, this provides substantial transparency beyond the bare operation, though it doesn't mention rate limits or error handling.
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 moderately long but each sentence provides useful information: access, purpose, sources, return fields, and usage context. The Args section is clearly separated, but the 'FREE' note could be positioned later to front-load the core function.
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 a single simple parameter and no output schema, the description covers the return values explicitly and explains how to follow up with get_record. It also lists the broad scope of sources, making it sufficiently complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, query, is described as 'keyword(s) to search', which is minimal but the main description clarifies that it relates to economic measures. With 0% schema coverage, the description compensates with some context but lacks examples or query formatting guidance.
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 function: it answers what the official series for an economic measure is and where it comes from. It lists multiple authoritative data sources and specifies the return fields, distinguishing it from sibling search tools for other domains.
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 for when to use: macro research, model inputs, and grounding answers in citable official series. It also directs users to call get_record with a record_id for the full series, indicating an alternative/follow-up tool. However, it doesn't explicitly state when not to use this tool versus other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_environmental_dataA
FREE, no payment and no key. Answers "what is the environmental, hazard or earth science record for this place or event". Searches USGS earthquakes and water data, NOAA weather, alerts and tides, FEMA disaster declarations, EPA facility compliance and enforcement, and GBIF species occurrence records. Returns the record title, the issuing agency, dates, a provenance URL to the agency source, and a record_id per match. Free to search; call get_record with a record_id to buy the full record. For site and facility diligence, climate and hazard exposure checks, and disaster response workflows.
Args:
query: keyword(s) to search.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the free/no-key access, what is returned (record title, agency, dates, provenance URL, record_id), and that full records require a separate paid call. This goes beyond a minimal listing and helps the agent set expectations, though it could mention pagination or error behavior.
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 front-loaded with the most important fact ('FREE, no payment and no key'), then clearly lists data sources, return fields, and billing guidance. Every sentence adds useful information without fluff. The Args section is minimal and necessary.
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 scope, the description is remarkably complete. It names all major data sources, lists the exact return fields, notes the free/buy model, and provides example workflows. With no output schema, this description alone gives the agent a strong understanding of what to expect.
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 schema only defines 'query' as a string with no description. The description adds the semantic 'keyword(s) to search', which clarifies the parameter's purpose. For a single, simple parameter this is adequate compensation for low schema coverage.
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 uses a specific verb ('searches') and names the exact resources: USGS earthquakes and water data, NOAA weather, alerts and tides, FEMA disaster declarations, EPA compliance, and GBIF records. It clearly distinguishes this tool from sibling search tools by enumerating the data sources.
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 clear context: it answers a specific type of question and lists target workflows ('site and facility diligence, climate and hazard exposure checks, and disaster response workflows'). It also names an alternative, 'call get_record with a record_id to buy the full record', which is useful. It does not explicitly say when not to use it, but the use cases are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_gov_spendingA
FREE, no payment and no key. Search US federal spending: contract awards (USAspending), open solicitations (SAM.gov), and grant funding (Grants.gov). Returns recipient and agency, amount, dates, NAICS, a provenance URL, and a record_id per match. Use this to find out whether OSF holds what you need before spending anything, then call get_record with a record_id to buy the full record. For govcon market intelligence, competitor award tracking, and vendor due diligence.
Args:
query: keyword(s) to search, e.g. "navy radar".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool is 'FREE, no payment and no key,' includes access context, and explains the return fields (recipient, agency, amount, dates, NAICS, provenance URL, record_id). It also implies a read-only search behavior and its role as a precursor to paid records, though it does not mention rate limits or pagination explicitly.
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, front-loaded with the free/nokey access note and followed by the tool's purpose, return values, usage guidance, and argument details. Every sentence contributes useful information without redundant wording, though it is slightly longer than the minimum needed.
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 only one parameter, no output schema, and no annotations, the description covers essential aspects: what the tool searches, what it returns (a list of fields), how to use it (query), and the relationship to get_record. It does not detail the exact response structure or edge cases, but it is sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only provides the property name and type with no description, but the description's 'Args:' section adds meaning: 'query: keyword(s) to search, e.g. "navy radar".' This clarifies the parameter's purpose and provides an example, adding significant 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 the tool's verb and resource: 'Search US federal spending' across specific sources (USAspending, SAM.gov, Grants.gov). It distinguishes itself from sibling search tools by naming the exact domain and data sources, making it unambiguous which tool to select for federal spending 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?
Explicitly provides when to use and an alternative: 'Use this to find out whether OSF holds what you need before spending anything, then call get_record with a record_id to buy the full record.' It also lists concrete use cases like govcon market intelligence and vendor due diligence, giving clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_healthcareA
FREE, no payment and no key. Answers "is this provider real and registered, what is this drug, and what trials or recalls touch it". Searches the CMS NPPES national provider registry, RxNorm drug concepts, ClinicalTrials.gov studies, and FDA drug, device and food recall enforcement since 2004. Returns the record title, identifiers such as NPI or NCT id, a provenance URL to the primary source, and a record_id per match. Free to search; call get_record with a record_id to buy the full record. For provider verification, prescriber vetting, trial status checks, and drug safety review. To verify a provider by identifier rather than search for one, call lookup_entity.
Args:
query: keyword(s) to search, e.g. a provider name or NPI, drug name, condition, or NCT id.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool is free with no key, searches multiple specific sources, returns title, identifiers, provenance URL, and record_id, and that full records require payment. It does not mention rate limits, result limits, or error conditions, but provides substantial behavioral context beyond what annotations would typically offer.
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 information-dense and logically organized, covering availability, sources, return fields, payment model, use cases, and alternatives. It is slightly longer than necessary with minor redundancy ('Free to search' repeats the opening) but every major aspect 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?
For a single-parameter search tool with no output schema, the description adequately explains what is searched, what is returned, and how the free vs paid model works. It does not specify pagination, sorting, or result count limits, but these are not critical for basic usage and the description otherwise feels 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 schema has only a 'query' field with no description, but the tool description's Args section explains 'query: keyword(s) to search, e.g. a provider name or NPI, drug name, condition, or NCT id.' This fully compensates for the schema's lack of parameter documentation.
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 it searches healthcare registries including CMS NPPES, RxNorm, ClinicalTrials.gov, and FDA recalls, and returns matching records. It distinguishes itself from sibling lookup_entity and get_record by clarifying the search use case and the paywall for full records.
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 clearly states suitable use cases: 'For provider verification, prescriber vetting, trial status checks, and drug safety review.' It also directs to alternatives: 'To verify a provider by identifier rather than search for one, call lookup_entity' and 'call get_record with a record_id to buy the full record.' This explicitly covers when to use this tool versus siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_legal_casesA
FREE, no payment and no key. Search 1.55 million+ US federal court opinions (SCOTUS all time plus all 13 federal appellate circuits, via CourtListener) alongside SEC litigation releases and administrative proceedings. Returns case name, court, citations, date, a provenance URL, and a record_id per match. Free to search; call get_record with a record_id to buy the full opinion. For precedent checks, citation lookup, and enforcement history. Regulations, statutes and the Federal Register are a separate tool: search_regulations_law.
Args:
query: keyword(s) to search, e.g. "miranda arizona" or "ninth circuit qualified immunity".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well. It discloses that the service is free and requires no API key, specifies the data source (CourtListener), lists what fields are returned, and explains the purchase mechanism via get_record. Minor gaps like rate limits or pagination are not mentioned, but the description still offers substantial transparency.
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 and well-structured. It starts with the key benefit (FREE, no key), explains the scope, lists return fields, and then provides usage examples in the Args section. There is no redundant information, and each 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?
Given the simple input (one query string) and lack of an output schema or annotations, the description is remarkably complete. It covers the tool's purpose, data scope, return fields, cost implications, and a clear path to obtain fuller results. An agent can confidently decide when and how to invoke this tool.
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?
Although the input schema only shows a required 'query' string, the description elaborates with examples ('"miranda arizona"' or '"ninth circuit qualified immunity"') and clarifies that it accepts keyword(s). This adds meaning beyond the schema. It doesn't cover advanced query syntax, but for a single free-text parameter, this is sufficient.
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 opens with a specific verb ('Search') and clearly defines the resource: 1.55 million+ US federal court opinions, including SCOTUS and appellate circuits, plus SEC litigation releases. It explicitly distinguishes itself from a sibling tool by noting that search_regulations_law covers regulations, statutes, and the Federal Register, thus clarifying its own scope.
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 states clear use cases: 'For precedent checks, citation lookup, and enforcement history.' It also provides an explicit exclusion: regulations and statutes are handled by search_regulations_law. Additionally, it directs users to call get_record for full opinions, which helps in selecting the appropriate tool in the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_patentsA
FREE, no payment and no key. Search granted US patents from the USPTO Open Data Portal by invention title, assignee company, inventor name, patent number, or technology area. Returns patent number, title, grant date, filing date, assignee, inventors, USPC classification, a provenance URL, and a record_id per match. Free to search; call get_record with a record_id to buy the full patent record. For prior art checks, freedom to operate research, competitor IP monitoring, and patent portfolio lookup.
Args:
query: keyword(s) to search, e.g. "lithium battery cathode", "Panasonic", or a patent number like "12678711".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses 'FREE, no payment and no key', the domain of search (US granted patents), and the free-to-search vs. paid full-record model. It does not mention result limits or pagination, so a minor gap.
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 and front-loaded with key information (FREE, no key), then quickly covers search scope, returned fields, and usage. The Args section is helpful without being 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?
For a single-parameter tool with no output schema, the description explains the query, return fields, and downstream action (get_record). It lacks pagination/result-limit details but is otherwise complete for a search tool.
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 single parameter 'query' is thoroughly explained with examples ('lithium battery cathode', 'Panasonic', patent number), adding significant meaning beyond the bare schema. Schema coverage is 0%, so this is fully compensated.
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 'Search granted US patents from the USPTO Open Data Portal' with specific search criteria (title, assignee, inventor, patent number, technology area) and lists return fields. This differentiates it from sibling search tools by being patent-specific.
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 mentions use cases ('prior art checks, freedom to operate research, competitor IP monitoring, and patent portfolio lookup') and names get_record as the alternative for buying full records, giving clear when-to-use and alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_regulations_lawA
FREE, no payment and no key. Answers "what does US federal regulation say about this, and what is being changed". Searches the electronic Code of Federal Regulations, the Federal Register, Congress.gov legislation, Regulations.gov dockets and public comments, and GovInfo publications. Returns the document title, agency, date, a provenance URL to the official source, and a record_id per match. Free to search; call get_record with a record_id to buy the full document. For regulatory compliance, policy monitoring, and rulemaking research. Court opinions are a separate tool: call search_legal_cases for case law.
Args:
query: keyword(s) to search.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the transparency burden. It discloses pricing ('FREE, no payment and no key'), output fields (title, agency, date, provenance URL, record_id), and the paywall model (call get_record to buy the full document). This is substantial context beyond a typical tool description.
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 longer than two sentences but every sentence adds distinct value: pricing, sources, output, paywall, use cases, and sibling distinction. Slight redundancy ('FREE' and 'no payment and no key') but overall efficient and 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?
For a broad search tool with vague schema and no output schema, the description is remarkably complete: it explains what is searched, what is returned, how to access full documents, and when to use alternatives. Minor gaps exist (e.g., pagination or sorting) but they are not crucial for initial selection.
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 schema has only one parameter 'query' with zero description coverage. The description adds 'keyword(s) to search,' which is minimal and not enough to clarify query syntax, boolean operators, or how the query is applied across the multiple sources. Given the low schema coverage, the description should compensate more than it does.
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 US federal regulations and sources like eCFR, Federal Register, Congress.gov, Regulations.gov, and GovInfo. It specifies a focused question ('what does US federal regulation say about this, and what is being changed') and explicitly distinguishes from search_legal_cases, ensuring no confusion with 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?
Explicit use cases are provided: 'For regulatory compliance, policy monitoring, and rulemaking research.' Also gives an alternative: 'Court opinions are a separate tool: call search_legal_cases for case law,' which tells the agent when NOT to use this tool and where to go instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_research_papersA
FREE, no payment and no key. Search 1.2 million+ scholarly works across arXiv (700,000+ preprints, all categories, 2024 to 2026), CrossRef, PubMed, OpenAlex, Semantic Scholar, and ClinicalTrials.gov. Returns title, authors, venue, year, DOI, a provenance URL, and a record_id per match. Free to search, so probe coverage before you spend; call get_record with a record_id to buy the full record. For literature review, citation checking, and research agent workflows.
Args:
query: keyword(s) to search, e.g. "CRISPR off-target".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral transparency. It discloses the cost model (free search, paid records), that no key is required, and the exact return fields (title, authors, venue, year, DOI, provenance URL, record_id). However, it does not mention pagination, rate limits, or result count limits, which are typical search tool behaviors. Overall, it is quite transparent but not exhaustive.
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 efficiently organized: cost info first, then scope, then returns, then workflow guidance, then use cases, and finally the args section. Every sentence adds value, and the structure is front-loaded with the most critical information. It is reasonably concise given the amount of helpful context packed in.
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 the tool's purpose, scope, return format, cost model, and how it connects with get_record. Since there is no output schema, the description's listing of return fields is essential and well done. However, missing details like result limits, pagination, or sorting leave minor gaps for a search tool. Overall, it is sufficiently complete for an agent to decide when and how to use it.
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 schema provides only the parameter name 'query' with no description (0% coverage). The description compensates fully by explaining that query is 'keyword(s) to search' and giving a concrete example ('CRISPR off-target'). This makes the parameter's meaning and usage clear, exceeding what the schema alone offers.
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: search scholarly works across multiple databases. It specifies the verb (search), the resource (1.2M+ scholarly works), and the scope (specific sources). It also distinguishes itself from siblings by mentioning the companion get_record tool for buying full records, making its role in the workflow explicit.
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 explains when to use this tool: 'Free to search, so probe coverage before you spend; call get_record with a record_id to buy the full record.' It also lists relevant use cases (literature review, citation checking, research agent workflows). This provides clear guidance relative to get_record and other potential search tools in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_sec_filingsA
FREE, no payment and no key. Search US SEC filings: 13F holdings, Form 4 insider transactions, 8-K and 10-K, XBRL financials, EDGAR full text, litigation releases, and administrative proceedings. Returns filer or company, form type, filing date, a provenance URL to sec.gov, and a record_id per match. Free to search; call get_record with a record_id to buy the full filing. For financial research, insider activity monitoring, and issuer due diligence.
Args:
query: keyword(s) to search, e.g. "Berkshire 13F".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the free/no-key nature, lists return fields (filer/company, form type, filing date, provenance URL, record_id), and explains the free search vs. paid full-filing model. This is good behavioral disclosure for a read-only search tool.
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 appropriately sized, front-loads the key value proposition (FREE, no key, search SEC filings), and every sentence adds useful information. No redundant text.
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 one-parameter search tool with no output schema, the description covers purpose, usage, return fields, and pricing. It lacks mention of result limits or pagination, but these are minor gaps for a simple search tool.
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 0%, but the Args section explains the query parameter with an example ('Berkshire 13F'). This compensates for the schema gap, though it does not cover advanced query syntax or result limiting.
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 US SEC filings, listing specific form types (13F, Form 4, 8-K, 10-K, XBRL, EDGAR full text, litigation releases, administrative proceedings). This specific verb+resource distinguishes it from sibling search tools covering other domains.
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 clear use cases: 'financial research, insider activity monitoring, and issuer due diligence.' Also directs users to call get_record with a record_id to purchase the full filing. Does not explicitly exclude alternative tools, but the context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
21 tool updates
v1.0.0- First observed
check_broker - First observed
get_catalog - First observed
get_record - First observed
is_cve_exploited - First observed
lookup_entity - First observed
sample_record - First observed
screen_entity - First observed
screen_entity_free - First observed
search_ai_models - First observed
search_aircraft_registry - First observed
search_consumer_protection - First observed
search_cyber_threats - First observed
search_economic_indicators - First observed
search_environmental_data - First observed
search_gov_spending - First observed
search_healthcare - First observed
search_legal_cases - First observed
search_patents - First observed
search_regulations_law - First observed
search_research_papers - First observed
search_sec_filings
TDQS
Most tools have clearly distinct purposes: each search_* tool targets a different data domain (e.g., patents, aircraft, AI models), and lookup/screening tools are specific. A few pairs like screen_entity vs screen_entity_free and get_record vs sample_record are near-duplicates, but their descriptions clearly explain the differences (paid vs free, full vs sample).
All tool names follow a consistent snake_case verb_noun pattern (search_*, get_*, screen_*, lookup_*, check_*, is_*). The convention is uniform and predictable across all 21 tools, making it easy for an agent to infer the action and domain from the name.
At 21 tools, this is on the heavier side but justified by the server's very broad scope—it aggregates data across many distinct verticals (security, sanctions, SEC, economic, legal, healthcare, etc.). Each tool has a specific domain and purpose, so none feels redundant or gratuitous.
The tool surface is comprehensive: free search tools across diverse domains, lookup and screening tools for entity verification, and paid record retrieval with sampling. There are no obvious dead ends—search results include record_ids that lead cleanly to get_record, and screening tools provide thorough, audit-ready outputs.
Maintenance
Related MCP Connectors
8.1M+ US gov and science data via x402 USDC. 21 tools, $0.001 sample tier, sanctions, SEC, CVEs.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Pay-per-call US government data: carrier safety, visa sponsors, contracts, employer risk.
Related MCP Servers
- AlicenseBqualityCmaintenanceQuery 20 structured datasets from AI agents — healthcare providers (9M NPI records), SEC EDGAR filings, PACER federal courts, USPTO patents and trademarks, OFAC sanctions screening, crypto whale wallets, DeFi liquidation signals, Polymarket smart money, economic indicators (FRED/BLS), federal contracts, NOAA weather, and OTC shell risk scoring. Pay per query, no subscriptions751MIT
- AlicenseAqualityNot gradedmaintenanceUnified API for Government Data and Web Scraping100-
- AlicenseNot gradedqualityFmaintenanceProvides regulatory and compliance intelligence from free government sources, including rules, recalls, enforcement actions, and comment deadlines, classified by industry and severity.MIT
- AlicenseNot gradedqualityDmaintenanceAggregate US business filings, SEC reports, federal court cases, federal spending awards, and professional licenses through a single MCP server.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/onefreeman1337/osf-data-marketplace'
If you have feedback or need assistance with the MCP directory API, please join our Discord server