Data and APIs
Server Details
Search, read and call 125+ data APIs: sanctions, barcodes, IP intelligence, companies, holidays
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
Each tool occupies a distinct stage of a clear pipeline: search_apis finds candidate APIs, get_api returns endpoint-level reference, and call_api executes the request. Descriptions explicitly cross-reference each other ('Use the slug from search_apis', 'path parameters already filled in'), leaving no realistic chance of misselection.
All three names follow a strict verb_noun snake_case pattern (search_apis, get_api, call_api) with a consistent resource noun. No mixed conventions or stylistic outliers.
Three tools is thin in absolute terms, but for a generic API gateway each tool is a necessary distinct stage and there is no redundancy. The small surface reflects a deliberate discover-inspect-invoke design rather than missing scope.
The discovery-to-invocation lifecycle is fully covered for the stated purpose. Minor gaps exist: no way to check token balance/usage before spending tokens, and search is capped at 10 results with no pagination or browse-by-category fallback.
Available Tools
3 toolscall_apiCall an API endpointAInspect
Make a live request to a dataandapis.com API with the user's API key (sent as X-Api-Key on this MCP connection). Give the API slug, the endpoint path from get_api (path parameters already filled in, e.g. '/v1/products/3017620422003'), optional query parameters and, for POST, a JSON body. Most calls cost 1 token.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | JSON body for POST endpoints. | |
| path | Yes | Endpoint path such as '/v1/screen'. A leading '/v1' is added when missing. | |
| slug | Yes | ||
| query | No | Query parameters. | |
| method | No | GET |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It does disclose the important traits: authentication via the user's API key sent as X-Api-Key, that the request is live (real network call with real effects), and that calls are metered at roughly 1 token. It does not disclose what happens on failure, whether POST calls have irreversible effects, rate limits, or the shape of the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the verb, target service, and auth mechanism, then the required inputs, then the cost note. Dense but every clause carries information. The example path in the middle of sentence two makes it slightly harder to scan than a pure bullet structure, but nothing is wasted.
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?
There is no output schema and no annotations, so the description is the only source of behavioral information — and it omits the return format, error representation, and how token cost is reported. For a generic API passthrough with a nested 'query' object and a POST body, an agent can construct the call but cannot anticipate the response.
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?
At 60% schema coverage the description usefully compensates: it explains that 'slug' identifies the API, that 'path' must be the endpoint path from get_api with path parameters already substituted, and gives a concrete example. It also clarifies query is optional and body applies to POST. It never mentions the 'method' parameter directly, relying on 'for POST' to imply it, which leaves the enum/default undocumented in prose.
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?
States a specific verb and resource: 'Make a live request to a dataandapis.com API.' It also distinguishes itself from siblings by naming get_api as the source of the endpoint path, implying search_apis/get_api are discovery tools and this is the execution tool. It stops short of an explicit 'unlike get_api, this actually calls the API' contrast.
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 workflow is implied rather than stated: the path comes 'from get_api' and the example shows path parameters already filled in. It also notes 'Most calls cost 1 token,' which is a useful usage consideration. But there is no explicit when-not-to-use guidance, no statement that get_api must be called first, and no guidance on error or retry behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_apiGet an API's endpoint referenceAInspect
Full reference for one API: every endpoint with method, path, path and query parameters with example values, request body and an example response, plus the token cost per call. Use the slug from search_apis.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | API slug, e.g. 'sanctions' or 'barcode-lookup'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and does well: it is evidently a read-only reference fetch and it enumerates the return payload, including the per-call token cost, which is non-obvious operational context. It does not address rate limits, auth, or error behavior for an unknown slug, which keeps it from a 5.
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?
One dense sentence describing the payload followed by a short routing instruction — front-loaded, no filler, and every clause adds information an agent would otherwise have to discover by calling the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description compensates by fully enumerating the response contents, and the single required parameter is already documented in the schema. For a one-parameter read tool there is nothing material an agent needs before calling 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?
Schema coverage is 100%, so the baseline is 3, and the description adds genuine value beyond the schema by telling the agent to source the slug from search_apis rather than constructing it. The schema already supplies format examples ('sanctions', 'barcode-lookup'), so no further parameter detail is needed.
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?
States a specific verb+resource (full reference for one API) and enumerates exactly what is returned: endpoints, methods, paths, parameters with examples, request body, example response, and token cost. This clearly separates it from call_api (invoke) and search_apis (discover).
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?
"Use the slug from search_apis" gives explicit workflow guidance on where the required argument comes from and establishes the search-then-inspect sequence. It stops short of stating when not to use this versus call_api, but the context is clear enough to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_apisSearch the API catalogAInspect
Find APIs on dataandapis.com by the data they provide (e.g. 'sanctions screening', 'barcode nutrition', 'IP geolocation', 'company by domain', 'public holidays'). Returns up to 10 matches with slug, one-line summary, base URL and docs. Follow with get_api for the endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | What data or capability you are looking for, in plain words. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and mostly delivers: it discloses the result envelope (slug, one-line summary, base URL, docs) and a result cap, which is essential since there is no output schema. It omits auth/rate-limit behavior, but for a read-only catalog search that 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?
Two sentences, front-loaded with the capability, then the return shape, then the next step. The parenthetical example list earns its space by teaching query formulation, and there is 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?
For a two-parameter read-only search with no output schema, the description covers what the tool does, what it returns, and what to do next. The only loose end is how the limit parameter interacts with the stated ten-result ceiling.
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?
At 50% schema coverage, the query parameter is already documented in the schema and the description's examples largely restate its intent, though they do usefully illustrate phrasing. The limit parameter is never explained in the description and appears to conflict with 'Returns up to 10 matches' given the schema maximum of 25.
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?
States a specific verb ('Find') and resource ('APIs') plus the retrieval key (the data they provide), which cleanly separates it from get_api and call_api. The five inline examples ('sanctions screening', 'IP geolocation', 'company by domain') make the query model unambiguous.
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 sequences the workflow: 'Follow with get_api for the endpoints' tells the agent this is the discovery entry point and what comes next. It does not mention call_api, the other sibling, so there is a small remaining inference about which tool ultimately executes a request.
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.
3 tool updates
- First observed
call_api - First observed
get_api - First observed
search_apis
Related MCP Connectors
Search and call 403 public-records and market-data APIs: elections, courts, permits, SEC filings.
31140+ data APIs for agents: finance, banking validation, geo, weather, text. One API key.
Official public & government APIs, dozens of countries: registers, statistics, open data. Keyless.
One key to 1,000+ paid data APIs: enrichment, SEO/SERP, scraping, places, news. Pay per call.
Related MCP Servers
- AlicenseAqualityAmaintenanceLimitguard MCP server: lead validation for AI agents. Checks the company behind a lead in the Dutch (KVK) and Belgian (KBO) registers, EU VAT (VIES) and sanctions lists. Pay per call with x402 or an API key.101MIT
- FlicenseNot gradedqualityDmaintenanceScreens names and companies against OFAC, EU, UK, and UN sanctions lists with fuzzy-match scores, supporting bulk lookups for AML/KYC checks. Data is sourced directly from official government lists and cached for fast repeat checks.-
- 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
- FlicenseNot gradedqualityCmaintenance100+ agent-payable C-suite expertises with x402 micro-payments — competitive intel, SEC filings, sanctions, KYC, clinical evidence, real estate, ESG. 183 tools, free tier 100 calls/month.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.