Afterwren
Server Details
Retired-API replacements: Clearbit-style company autocomplete, logos, profiles; geocoding; books.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Most tools target clearly distinct resources (books, companies, encyclopedia, geocoding). The main overlap is company_logo vs company_profile, since the profile already returns a logo, and company_suggest vs company_profile could blur for an agent wanting company data. These are minor and descriptions largely clarify.
Names follow a mostly consistent snake_case noun_action pattern (book_search, company_logo, company_profile, company_suggest, encyclopedia_search). geocode and reverse_geocode deviate by using bare verbs rather than noun_verb, a small but noticeable inconsistency.
Seven tools is well-scoped for a compact multi-API replacement server. Each tool maps to a distinct capability and none feels like filler.
Coverage is solid across the sub-domains: company lookup spans suggest/profile/logo, and geocoding has both forward and reverse directions. Book and encyclopedia surfaces are thinner (single search each, no retrieval-by-ID), but the core workflows are covered without obvious dead ends.
Available Tools
7 toolsbook_searchBook searchBRead-onlyIdempotentInspect
Books by title/author or ISBN: authors, year, ISBNs, pages, rating, cover (Goodreads API replacement, Open Library data).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| isbn | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, open-world, idempotent, and non-destructive behavior, so the safety profile is covered. The description adds useful context about the data source and the fields returned, but it does not disclose pagination, rate limits, or how q and isbn interact.
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 compact sentence with no filler, and it front-loads the query modes before listing returned fields. It is telegraphic rather than fully structured, but every element 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 simple search tool with rich annotations but no output schema, the description lists expected return fields and the data source, which helps. It still omits limit semantics, default behavior, and response shape, leaving gaps an agent may need to fill by experimentation.
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 carry parameter meaning. It implies q searches by title/author and isbn searches by ISBN, but it never explains the limit parameter or how the optional parameters combine. Partial compensation only.
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 names the resource (books) and the supported query modes (title/author or ISBN), which clearly distinguishes this tool from the company, encyclopedia, and geocoding siblings. It stops short of an explicit search verb, but the name and title already supply that.
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?
There is no guidance on when to use this tool versus alternatives, nor any conditions or exclusions. The parenthetical 'Goodreads API replacement' hints at context but does not tell an agent when to select book_search over other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_logoCompany logoBRead-onlyIdempotentInspect
The best logo/icon URL for a domain from the company's own site, with alternatives (Clearbit Logo replacement).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | e.g. stripe.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the bar is lower. The description adds two useful facts beyond them: results are sourced from the company's own site and multiple alternatives are returned. It stops short of describing the return shape (single URL vs. ranked list) or failure behavior when no logo exists.
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?
A single sentence with the core value ('best logo/icon URL for a domain') front-loaded and no wasted clauses. Slightly dense due to the stacked qualifiers, but appropriately sized for a one-parameter lookup 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?
For a simple one-parameter tool with no output schema and full annotation coverage, the description is close to adequate. The gap is the return contract: it says 'with alternatives' but never explains whether that means multiple URLs, a ranked list, or a fallback chain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter carries an example ('e.g. stripe.com'), so the schema does the heavy lifting. The description adds only the implied notion that a domain identifies the company, which is already obvious from the parameter name.
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 resource (logo/icon URL) and scope (for a domain, sourced from the company's own site), which clearly separates it from siblings like company_profile and company_suggest. It doesn't explicitly name a sibling, but the resource is distinct enough for an agent to route correctly.
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?
There is no when-to-use guidance, no prerequisites, and no comparison to alternatives. The parenthetical '(Clearbit Logo replacement)' hints at positioning but gives no condition for selecting this tool over company_profile or an external logo service.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_profileCompany profileBRead-onlyIdempotentInspect
Name, description, logo, social links, email provider (MX/SPF) and Wikidata facts (founded, HQ, industry, employees, ticker) for a domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | e.g. stripe.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the safety profile is covered. The description adds real value by disclosing the data sources (DNS MX/SPF lookups and Wikidata), which implies external calls and possible partial results, but it never says what happens for an unknown domain or whether missing fields are omitted.
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?
A single dense sentence with no filler, and the enumeration is genuinely informative rather than padding. It front-loads the returned contents rather than the action verb, which is a minor structural weakness but costs no clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by listing the fields, including the non-obvious MX/SPF and Wikidata facts. It stops short of covering response shape, partial-data behavior, or error cases for unresolvable domains, which is the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter at 100% schema coverage, the schema already documents 'domain' including the stripe.com example. The description only restates 'for a domain' and adds no format, normalization, or subdomain-handling detail 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 names the exact resource and enumerates the returned fields (name, logo, social links, MX/SPF, Wikidata facts), which is more informative than a generic 'gets company data'. It implicitly distinguishes itself from siblings like company_logo and company_suggest by covering a bundle rather than a single field, though it never states that contrast explicitly.
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?
There is no when-to-use guidance, no prerequisites, and no mention of the obvious alternatives (company_logo for a logo only, company_suggest to resolve a domain first). The agent must infer the routing decision from the field list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_suggestCompany autocompleteBRead-onlyIdempotentInspect
Company name or prefix to a list of {name, domain, logo, description}, best-known first (Clearbit Autocomplete replacement).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | e.g. stripe |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive behavior, so the safety profile is covered. The description adds genuine value by disclosing the result ranking ('best-known first') and the returned fields, but says nothing about result limits, empty-match behavior, 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?
One compact sentence with the input and output shape front-loaded; the parenthetical about Clearbit is useful context rather than padding. Nothing is wasted, though the structure is dense enough that the input mapping is slightly buried.
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 lookup with no output schema, the description compensates well by enumerating the returned fields and their ordering. It is only missing peripheral details such as result count and behavior on no match.
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 has 100% schema description coverage, so the baseline is 3. The description does add meaning by clarifying the parameter accepts either a full company name or a prefix, which the schema's 'e.g. stripe' does not make explicit.
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 mapping: a company name or prefix query returns a list of {name, domain, logo, description}. It is clear what the tool does, but it never differentiates itself from close siblings like company_profile or company_logo, which an agent must choose between.
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?
There is no explicit when-to-use guidance or mention of alternatives. The reader must infer from 'Clearbit Autocomplete replacement' that this is the prefix-search entry point, but nothing tells the agent when to prefer company_profile over this, or how partial matches are treated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
encyclopedia_searchEncyclopedia searchARead-onlyIdempotentInspect
Wikipedia full-text search: titles, URLs and snippets (for grounding after the Bing Search API retirement).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, open-world, and non-destructive, so the safety profile is covered. The description usefully adds what the results contain (titles, URLs, snippets), but says nothing about rate limits, result caps, or ranking 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?
A single front-loaded sentence with the resource and return fields stated first and the use-case caveat trailing. No wasted wording.
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's mention of titles/URLs/snippets is helpful, but the undocumented limit parameter and absent query-syntax guidance leave gaps an agent needs to 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?
With 0% schema description coverage and two parameters, the description must carry the load. It implies 'q' is a full-text query but never defines it, and the 'limit' parameter (1-10) is entirely unaddressed, leaving half the parameters undocumented.
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 ('Wikipedia full-text search') and enumerates the return content (titles, URLs, snippets). This clearly differentiates it from siblings like book_search, company_profile, and geocode.
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 phrase 'for grounding after the Bing Search API retirement' gives a use-case context, but there is no explicit when-to-use/when-not guidance and no comparison to the closest sibling, book_search. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geocodeGeocode an addressARead-onlyIdempotentInspect
Address or place to lat/lng with city, state, postal, country; US results include county, tract and block FIPS.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| country | No | optional ISO 2-letter code |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds post-annotation value by disclosing what the response contains — US results include county, tract and block FIPS — which matters since no output schema exists. It still says nothing about ambiguous/multiple-match behavior 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?
A single dense sentence with zero filler, and the core purpose is front-loaded. The telegraphic 'Address or place to lat/lng' phrasing is compact to the point of being slightly clipped, 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?
For a two-parameter read-only tool with no output schema, the description covers the transformation and the notable return fields, which is what an agent needs to call it. Gaps are minor: no handling guidance for ambiguous addresses and no explicit tie-break against reverse_geocode.
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 50%: 'country' is documented as an optional ISO 2-letter code while 'q' has no schema description. The phrase 'Address or place' implicitly defines q's semantics, which is genuinely helpful, but the description adds nothing about format expectations, and 'country' is already fully covered by 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 states a specific transformation: 'Address or place to lat/lng', plus the fields returned (city, state, postal, country). The forward direction is clear and implicitly distinguishes it from the reverse_geocode sibling, but that sibling is never named, so the differentiation is left to inference.
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?
Usage is only implied by the input-to-output direction (address in, coordinates out). There is no explicit 'use this when you have an address; use reverse_geocode when you have coordinates' routing guidance, which is the single most useful thing this description could add given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_geocodeReverse geocodeBRead-onlyIdempotentInspect
Coordinates to the nearest address and, in the US, county/tract/block FIPS.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lng | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description still adds genuine behavioral context beyond them: the US-conditional enrichment (county/tract/block FIPS) tells the agent output varies by region, which is not derivable from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every clause earns its place. It is perhaps overly terse for the gaps it leaves, but structurally there is no waste.
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 two-parameter tool with no output schema, the description is minimally adequate: it says what comes back (an address, plus US FIPS fields). It omits what address components are returned, whether results are normalized, and how coordinate format is expected, leaving real gaps for an agent.
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 carries the full burden, yet it only vaguely gestures at 'Coordinates' without stating that lat/lng are decimal degrees, the coordinate reference system, expected ranges, or precision. The two required parameters are effectively undocumented in both places.
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 transformation (coordinates → nearest address) plus an extra US-only output (county/tract/block FIPS), which is more than a restatement of the name. It implicitly distinguishes itself from the geocode sibling by making clear the input is coordinates, though it never names that sibling.
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?
Usage is only implied: an agent can infer from 'Coordinates to...' that this is the tool for lat/lng input and geocode is the forward direction. There is no explicit when-to-use statement, no mention of the geocode alternative, and no note about required coordinate validity or rate limits.
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.
7 tool updates
- First observed
book_search - First observed
company_logo - First observed
company_profile - First observed
company_suggest - First observed
encyclopedia_search - First observed
geocode - First observed
reverse_geocode
Related MCP Connectors
One key to 1,000+ paid data APIs: enrichment, SEO/SERP, scraping, places, news. Pay per call.
Enrich IPs, emails, domains, companies. Scrape SEC, news, jobs, Crunchbase. Bitcoin pay-per-use.
Web search, email verify, KYC, sanctions, stocks, SEC, crypto, news, data: 63 pay-per-call tools
Hundreds of scraping & data APIs through one key. USD pay-per-request, normalized schemas, failover.
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceUnified API for Government Data and Web Scraping100-

Crawlora MCPofficial
AlicenseCqualityAmaintenanceHosted MCP server for 3,093 structured public web-data tools across 420 platform groups, returning clean JSON for search, maps, commerce, social, and finance.4500536 npm1MIT- AlicenseAqualityCmaintenanceUnified place search and geocoding over OpenStreetMap, Google, and your own CSV data. Provider fallback, multi-provider merge + dedup, cost budgets, and a policy engine. Works with zero API keys. Tools: search_places, get_place, geocode_address, reverse_geocode, list_geo_providers.10Apache 2.0

Ready APIsofficial
AlicenseNot gradedqualityDmaintenanceMCP tools for geo, email, phone, company, DNS, FX, equities, weather, tax, economics, and intelligence — streamable HTTP, one API key.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.