AfterImage
Server Details
Shared copies of public web pages for AI agents. Search stored pages or fetch a URL.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 2 tools
get_page and search_pages have clearly distinct purposes: one retrieves full text for a known URL, the other searches already indexed pages. There is no overlap or ambiguity between the two tools.
Both tools follow the same verb_noun pattern: get_page and search_pages. The naming is concise, predictable, and easy for an agent to reason about.
Two tools is minimal, but the server appears intentionally scoped to page retrieval and searching. Each tool earns its place, and the small surface is appropriate for a focused archival/search utility.
The core workflow of searching stored pages and retrieving full text is covered. There is no explicit delete or management operation, but the service's stated purpose does not necessarily require it, so the gap is minor.
Available Tools
2 toolsget_pageAInspect
Return readable text for a public http(s) URL. Reuses a stored copy if it is newer than max_age_s. Includes sha256 hash and fetched_at. Needs a funded API key on this HTTP request.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute http(s) URL to snapshot. | |
| max_age_s | No | Reuse a cached snapshot if it is no older than this many seconds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden and does well: it discloses cache reuse, output fields (sha256 hash and fetched_at), the public-URL restriction, and the funded API key requirement. These are meaningful behavioral traits beyond a bare 'fetch page' statement.
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 short sentences, each earning its place: what it returns, how caching works, and the key requirement. The most important information is front-loaded, 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?
Despite no output schema, the description names the return contents (readable text, sha256 hash, fetched_at), covers both parameters through schema plus description, and gives the auth prerequisite. This is complete enough for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains url and max_age_s. The description reinforces the caching semantics by saying 'Reuses a stored copy if it is newer than max_age_s,' but it does not add substantial new meaning beyond what the schema already provides.
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 verb and resource: 'Return readable text for a public http(s) URL.' It also clarifies caching behavior and output contents, which distinguishes it from the sibling search_pages by making clear this tool fetches a single URL rather than searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use: it applies to public http(s) URLs, can reuse cached snapshots based on max_age_s, and requires a funded API key. It does not explicitly mention when not to use it or compare it to search_pages, so it stops short of full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pagesAInspect
Search pages already stored in AfterImage. Does not visit the live web. Then call get_page for the full text of a hit. Needs a funded API key.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search the already-fetched corpus. Does not hit the live web. | |
| limit | No | ||
| max_age_s | No | Only return snapshots no older than this many seconds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses two meaningful behaviors: no live-web access and the need for a funded API key. However, it omits other behavioral details like result ordering, pagination, or read-only implications. Adequate but not rich.
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 short sentences with no filler. The most important scoping fact ('does not visit the live web') is front-loaded, and the API key requirement is included as a necessary caveat. Every sentence contributes.
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 no output schema, it covers the essential context: the stored corpus, the live-web exclusion, the natural follow-up tool, and the authentication requirement. The only notable omission is the meaning of the limit parameter, though its default and bounds in the schema make it inferable.
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 already describes q and max_age_s, but limit has no schema description. The tool description adds no parameter-specific information beyond what the schema provides, so it neither compensates for the missing limit description nor increases clarity. With 67% schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('search') and a precise resource ('pages already stored in AfterImage'), and adds a distinguishing constraint: 'Does not visit the live web.' It also mentions the sibling get_page, making the tool's role clear.
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 clarifies this tool searches an offline corpus only, ruling out live-web queries, and provides a follow-up instruction: 'Then call get_page for the full text of a hit.' This is actionable, though it does not explicitly describe when get_page would be used alone or other alternative conditions.
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.
2 tool updates
- First observed
get_page - First observed
search_pages
Related MCP Connectors
Wayback Machine for agents: closest archived copy of a URL with its text, and full capture history
Search indexed websites, read raw page markdown, and score AI visibility for any site.
Fetch pages as markdown, search web and news, extract structured data. For AI agents.
Read any web page as clean Markdown for AI agents: fetch, search, metadata, links. SSRF-safe.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceArchives live web pages for offline replay with full interactivity, enabling AI agents to analyze page structure and behavior.1-
- AlicenseNot gradedqualityBmaintenanceProvides web search and content extraction for AI agents.MIT
- AlicenseNot gradedqualityCmaintenanceHelps AI agents search the public web and fetch content with anti-bot measures, returning clean markdown outputs suitable for citation.2Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to fetch and extract clean, readable content from web pages, and search within pages for specific queries, without needing a full browser.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.