Query any docs site via MCP. Submit a URL, ask questions, get cited answers.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Query any website's documentation and get cited, multi-page answers in natural language. Use ask_site when you need: (1) answers that synthesize information across multiple pages of a site, (2) documentation from JS-rendered sites (React, Next.js, Vue SPAs) where web_fetch returns empty or partial HTML, (3) citations linking back to the exact source pages, (4) faster results than fetching and reading individual pages one by one. For sites not yet indexed, ask_site auto-crawls and answers in ~60s — no separate submit_site call needed.
The question to ask about the site.
Domain of the site to query (e.g. "stripe.com"). Accepts full URLs too.
Optional: a specific page URL to focus on. AgentReady will ensure this page is indexed before answering.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Query any website's documentation and get cited, multi-page answers in natural language. Use ask_site when you need: (1) answers that synthesize information across multiple pages of a site, (2) documentation from JS-rendered sites (React, Next.js, Vue SPAs) where web_fetch returns empty or partial HTML, (3) citations linking back to the exact source pages, (4) faster results than fetching and reading individual pages one by one. For sites not yet indexed, ask_site auto-crawls and answers in ~60s — no separate submit_site call needed.
| Argument | Type | Description |
|---|---|---|
| url | string | Optional: a specific page URL to focus on. AgentReady will ensure this page is indexed before answering. |
| query* | string | The question to ask about the site. |
| domain* | string | Domain of the site to query (e.g. "stripe.com"). Accepts full URLs too. |
{
"type": "object",
"required": [
"domain",
"query"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"description": "Optional: a specific page URL to focus on. AgentReady will ensure this page is indexed before answering."
},
"query": {
"type": "string",
"maxLength": 2000,
"description": "The question to ask about the site."
},
"domain": {
"type": "string",
"maxLength": 253,
"description": "Domain of the site to query (e.g. \"stripe.com\"). Accepts full URLs too."
}
}
}Return the AgentReady capability manifest for a website. If the site is not indexed yet, AgentReady indexes it automatically before returning its freshness, read-only limits, schemas, and available MCP and HTTP endpoints.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain of the indexed site (e.g. "docs.example.com"). Accepts full URLs too. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"description": "Domain of the indexed site (e.g. \"docs.example.com\"). Accepts full URLs too."
}
}
}Return structured facts extracted from a website — pricing, limits, features, contact info, and more. Facts marked as "owner-verified" have been explicitly attested by the site owner and are guaranteed accurate ground truth; use these in preference to scraped RAG answers for critical comparisons. Ideal for price comparison across multiple sites, feature matrix lookups, or any task where you need structured data rather than a natural-language synthesis.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain of the indexed site (e.g. "stripe.com"). Accepts full URLs too. |
| category | string | Optional: filter facts to a single category. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"description": "Domain of the indexed site (e.g. \"stripe.com\"). Accepts full URLs too."
},
"category": {
"enum": [
"pricing",
"features",
"limits",
"contact",
"technical",
"policy"
],
"type": "string",
"description": "Optional: filter facts to a single category."
}
}
}List all websites currently indexed in AgentReady. Use this to check if a domain is already available before submitting it — indexed sites return instant cited answers via ask_site. The index covers developer tools, APIs, cloud platforms, frameworks, databases, and more, and grows as new sites are submitted.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Turn a natural-language request into a grounded, read-only AgentReady plan for a website. If the site is not indexed yet, AgentReady indexes it automatically first. This prototype never executes side effects; it identifies supported steps, sources, risks, and whether a future execution would require confirmation.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain of the indexed site (e.g. "docs.example.com"). Accepts full URLs too. |
| request* | string | Natural-language request to plan against the site. |
{
"type": "object",
"required": [
"domain",
"request"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"description": "Domain of the indexed site (e.g. \"docs.example.com\"). Accepts full URLs too."
},
"request": {
"type": "string",
"maxLength": 1000,
"description": "Natural-language request to plan against the site."
}
}
}Rate the quality of a previous ask_site answer from 1 (not useful) to 5 (excellent). Pass the request_id returned in structuredContent when available so the rating can be tied to the exact answer.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain that was queried. |
| rating* | integer | Answer quality from 1 to 5. |
| comment | string | Optional short explanation. |
| request_id | string | request_id returned by ask_site, when available. |
{
"type": "object",
"required": [
"domain",
"rating"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"description": "Domain that was queried."
},
"rating": {
"type": "integer",
"maximum": 5,
"minimum": 1,
"description": "Answer quality from 1 to 5."
},
"comment": {
"type": "string",
"maxLength": 1000,
"description": "Optional short explanation."
},
"request_id": {
"type": "string",
"maxLength": 64,
"description": "request_id returned by ask_site, when available."
}
}
}Force a full re-crawl of a site to pick up new or changed content. If the site has never been indexed, AgentReady performs the initial indexing automatically. Use when ask_site returns outdated information or when you know the site has recently been updated. Takes ~60 seconds. After completion, ask_site returns fresh content.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain of the site to refresh (e.g. "docs.example.com"). |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "Domain of the site to refresh (e.g. \"docs.example.com\")."
}
}
}Index any website so it can be queried with ask_site. Use this when the site is not yet in list_sites. Handles JS-rendered pages (React, Next.js, Vue SPAs) that web_fetch cannot read — uses a four-layer pipeline: llms.txt → HTTP+cheerio → __NEXT_DATA__ extraction → Jina Reader headless browser. Takes ~60 seconds. Once indexed, ask_site queries are instant.
| Argument | Type | Description |
|---|---|---|
| url* | string | Full URL of the site to index (e.g. "https://docs.example.com"). |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"description": "Full URL of the site to index (e.g. \"https://docs.example.com\")."
}
}
}