agentready-mcp
This server connects AI agents to AgentReady, a hosted service that indexes websites and makes them queryable with natural language. It provides three core tools:
submit_site: Submit any public website URL for indexing. Supports static sites, server-rendered pages, and JavaScript SPAs, with content available for querying in ~60 seconds.list_sites: Retrieve all websites currently indexed by AgentReady, including their domain, title, summary, and page count.ask_site: Ask a natural language question about a specific indexed website and receive a cited answer grounded in that site's content. If the site isn't already indexed, it will be crawled and indexed automatically before answering.
Plugin (via Starlight) that automatically indexes the documentation site in AgentReady on every build, ensuring fresh content for AI agents.
Plugin that automatically indexes the documentation site in AgentReady on every build, keeping the AI discovery layer up to date.
Extension that automatically indexes the documentation site in AgentReady on every build, maintaining an up-to-date AI-accessible index.
@agentreadyweb/mcp
What is AgentReady?
AgentReady is a hosted capability layer that makes any website discoverable and usable by agents through MCP.
Paste a URL → AgentReady crawls the site, generates a spec-compliant llms.txt, and hosts a live /ask RAG endpoint and MCP server. Any MCP-compatible agent client can then discover the site, ask natural-language questions, inspect capabilities, and create grounded read-only plans with citations.
The problem it solves: AI agents using web_fetch fetch one page at a time, get empty HTML from JavaScript SPAs (React, Next.js, Vue), and hallucinate when the answer spans multiple pages. AgentReady indexes the whole site, handles JS rendering, and retrieves across pages — so agents get the right answer instead of a confident wrong one.
What's already indexed: Browse the live AgentReady directory → or index any public site yourself.
Key properties:
Works on any public URL — static sites, React/Next.js SPAs, Docusaurus, GitBook, custom engines
No account required to index your first site
Shared index — one team member submits a site, everyone on the team can query it instantly
Handles JS-rendered pages that
web_fetchreturns empty forCapability manifests expose freshness, schemas, endpoints, and read-only limits
Grounded plans return evidence, risks, confirmation requirements, and durable receipts
Related MCP server: Crawl4AI RAG MCP Server
CLI
The same package doubles as a CLI — no install, no account:
# Agent-readiness report card (llms.txt, sitemap, robots, JS-rendering, index status)
npx @agentreadyweb/mcp grade yourdocs.com
# Ask any site a question, get a cited answer (auto-indexes new sites in ~60s)
npx @agentreadyweb/mcp ask stripe.com "what is the test card number?"
# Index or re-crawl a site
npx @agentreadyweb/mcp index yourdocs.com
npx @agentreadyweb/mcp refresh yourdocs.comFor CI, dashboards, or scripts, add --json to receive the raw report on
stdout (progress remains on stderr):
npx @agentreadyweb/mcp grade yourdocs.com --json | jq '.grade, .score'The command still exits 1 when the grade is below B.
grade exits non-zero below a B, so you can use it as a CI gate. refresh in your docs deploy pipeline keeps the index fresh automatically:
# GitHub Actions — after your docs deploy step
- run: npx @agentreadyweb/mcp refresh yourdocs.comConnect any MCP-compatible client to AgentReady:
Local MCP bridge (stdio)
For clients that use an mcpServers configuration, add the AgentReady bridge:
{
"mcpServers": {
"agentready": {
"command": "npx",
"args": ["-y", "@agentreadyweb/mcp"]
}
}
}Restart your client. You'll have eight tools available:
list_sites— see all indexed websitesget_site_capabilities— index on demand, then inspect a site manifest, freshness, schemas, and endpointsget_site_facts— key structured facts extracted from a siteask_site— query any site with cited, multi-page answersplan_site_action— index on demand, then create a grounded, read-only plan and receiptsubmit_site— index any website so it can be queriedrefresh_site— re-crawl a site, or perform its initial index when it is newrate_answer— submit quality feedback
Cursor
Add to ~/.cursor/mcp.json:
{
"agentready": {
"command": "npx",
"args": ["-y", "@agentreadyweb/mcp"]
}
}Project or terminal setup
npx @agentreadyweb/mcpOr add the same agentready server to your client's project configuration to share it with your team:
{
"mcpServers": {
"agentready": {
"command": "npx",
"args": ["-y", "@agentreadyweb/mcp"]
}
}
}VS Code (GitHub Copilot agent mode)
Requires VS Code 1.99+ with the GitHub Copilot extension. Create .vscode/mcp.json in your project root:
{
"servers": {
"agentready": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@agentreadyweb/mcp"]
}
}
}Copilot's MCP tools are only available in agent mode. Commit this file to share with your team.
Windsurf / Zed / other clients
Any MCP client that supports stdio transport works the same way — use npx -y @agentreadyweb/mcp as the command.
WebMCP (no install)
If your client supports HTTP transport, connect directly by URL — no npm required:
https://www.agentready.it.com/api/mcpDocusaurus plugin
If your docs site uses Docusaurus, auto-index on every build:
npm install @agentreadyweb/docusaurus-plugin// docusaurus.config.js
plugins: [
['@agentreadyweb/docusaurus-plugin', { domain: 'docs.yoursite.com' }]
]MkDocs plugin
If your docs site uses MkDocs, auto-index on every build:
pip install mkdocs-agentready# mkdocs.yml
plugins:
- search
- agentreadyIf site_url is not set, specify the domain explicitly:
plugins:
- agentready:
domain: docs.yoursite.comStarlight plugin
If your docs site uses Starlight (Astro), auto-index on every build:
npm install starlight-agentready// astro.config.mjs
import agentready from 'starlight-agentready'
export default defineConfig({
site: 'https://docs.yoursite.com',
integrations: [
starlight({
plugins: [agentready()],
}),
],
})Sphinx extension
If your docs site uses Sphinx, auto-index on every build:
pip install sphinx-agentready# conf.py
extensions = [
"sphinx_agentready.extension",
]
# Domain is inferred from html_baseurl automatically, or set explicitly:
agentready_domain = "docs.yoursite.com"Available tools
list_sites
Lists all websites currently indexed by AgentReady with their titles and page counts. Use this to check if a domain is already available before submitting it.
get_site_capabilities
get_site_capabilities(domain: string)Returns the site's capability manifest, freshness state, schemas, and available HTTP/MCP endpoints.
get_site_facts
get_site_facts(domain: string)Returns key structured facts extracted from a site — pricing tiers, feature lists, limits, and other high-signal data points that agents frequently need.
plan_site_action
plan_site_action(domain: string, request: string)Creates a grounded, read-only plan with evidence, risks, confirmation requirements, and a durable receipt. It does not execute side effects.
submit_site
submit_site(url: string)Index any website with AgentReady. Takes ~60 seconds. Handles static sites, server-rendered pages, and JavaScript-heavy SPAs via a four-layer pipeline. Once done, query it with ask_site.
Example: submit_site("https://docs.example.com")
ask_site
ask_site(domain: string, query: string, url?: string)Ask a question about any website and get a cited answer grounded in its content. Synthesises information across multiple pages. If the site isn't indexed yet, AgentReady crawls and indexes it automatically before answering (~60s).
Example: ask_site("stripe.com", "What are the fees for card payments?")
refresh_site
refresh_site(domain: string)Force a full re-crawl of a site to pick up new or changed content. If the site is new, AgentReady performs its initial index automatically. Takes ~60 seconds.
Example: refresh_site("docs.example.com")
rate_answer
rate_answer(domain: string, rating: number, request_id?: string, comment?: string)Submits 1–5 quality feedback, optionally tied to the exact ask_site request.
Deploy webhook
Automatically re-index your docs on every deploy. No auth required — rate limited to once per hour per domain.
curl -X POST https://www.agentready.it.com/api/webhook/refresh \
-H "Content-Type: application/json" \
-d '{"domain": "docs.yoursite.com"}'Or pass the domain as a query param (works with Vercel/Netlify form-encoded webhook payloads):
https://www.agentready.it.com/api/webhook/refresh?domain=docs.yoursite.comHow indexing works
AgentReady uses a layered approach to handle any public website:
llms.txt / llms-full.txt — if the site publishes one, it's used as a high-quality structured content source
Standard HTML crawl — fetches up to 10 pages via sitemap or link crawling, extracts clean text
__NEXT_DATA__extraction — for Next.js apps, parses server-side rendered data embedded in the HTMLJina Reader fallback — for JS-only SPAs that return empty HTML, uses a remote rendering service to extract content
Sites behind authentication or with no public HTML content cannot be indexed.
Environment variables
Variable | Default | Description |
|
| Override the MCP endpoint (for self-hosted) |
|
| Set to |
Telemetry
This package sends a lightweight anonymous ping to agentready.it.com/api/telemetry each time the MCP bridge starts or a CLI command runs. It contains: a random install ID (stored in ~/.agentready/install-id), package version, Node version, platform, and which mode/command was used. No query content, no domain names, no personal data. Set AGENTREADY_TELEMETRY=0 to opt out.
Available Tools
2 toolsask_siteAInspect
Ask a question about any website indexed by AgentReady and get a cited answer grounded in that site's actual content. First call list_sites to see which domains are available.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question to ask about the site. | |
| domain | Yes | Domain of the site to query (e.g. "agentready.org"). Accepts full URLs too. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes the tool as returning a cited answer grounded in site content, implying read-only behavior. However, it lacks details on error handling, authentication, rate limits, or response format.
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: first sentence states the main function, second provides prerequisite usage. No unnecessary words, front-loaded with key action.
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 no output schema, description mentions 'cited answer' which gives some expectation. It provides the prerequisite (list_sites). However, it doesn't specify behavior for missing domains or citation format, but overall adequate for a simple query 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 100% with both parameters documented. The description adds value by clarifying that 'domain' accepts full URLs and giving an example, and 'query' is described as the question to ask, which supplements 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?
Clearly states the action (ask a question), resource (website indexed by AgentReady), and outcome (cited answer). It distinguishes from sibling list_sites by mentioning that one must first list sites.
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 advises to first call list_sites to see available domains, providing clear when-to-use guidance. However, it doesn't explicitly state when not to use or provide alternatives beyond list_sites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sitesAInspect
List all websites indexed by AgentReady that can be queried with ask_site. Returns domain, title, summary, and page count for each site.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully explains the behavior: it returns domain, title, summary, and page count for all sites. It implies no side effects or destructive actions, which is appropriate for a listing 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 a single, well-constructed sentence that conveys purpose, scope, and output fields without any extraneous 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?
Given no parameters and no output schema, the description provides all necessary details: what the tool does, what it returns, and its relation to the sibling tool. The context signals confirm simplicity.
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?
There are no parameters, and the schema coverage is 100%. The description does not need to add parameter information, and the baseline of 4 applies.
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 lists all websites indexed by AgentReady, specifying the verb 'list', the resource 'websites', and the context of being queryable with ask_site. It also lists the returned fields, distinguishing itself from the sibling tool ask_site.
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 implies usage before ask_site by noting the sites can be queried with that tool. It provides clear context for when to use this tool, though it does not explicitly exclude other alternatives.
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.
2 tool updates
v1.0.5- First observed
ask_site - First observed
list_sites
TDQS
ask_site and list_sites have clearly distinct purposes: one lists available sites, the other queries a specific site's content. There is no overlap.
Both tool names follow a consistent verb_noun pattern (list_sites, ask_site) and use snake_case.
With only 2 tools, the server is minimal but covers the core workflow (discovery and query). It feels slightly thin but acceptable for a narrow domain.
The tool surface covers the primary tasks: discovering indexed sites and asking questions about them. Minor missing features like pagination for list_sites or site detail, but no dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Web data tools for AI agents: pages as markdown, search, maps, commerce, jobs, AI answers.
Search indexed websites, read raw page markdown, and score AI visibility for any site.
Score any website's AI-agent readiness. Open Agent Registry scanner + platform tools.
Web search and page-reading for AI agents. One-click OAuth connect, or a Caesar API key.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides AI agents and coding assistants with advanced web crawling and RAG capabilities, allowing them to scrape websites and leverage that knowledge through various retrieval strategies.2MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI agents and assistants with advanced web crawling and RAG capabilities, enabling them to scrape websites and perform semantic search over crawled content.1MIT
- AlicenseAqualityCmaintenanceWeb tools for AI agents. Search the web for full page content, fetch URLs as clean markdown including PDFs, extract structured data from a page with a prompt, and run multi-source deep research that returns a cited report.41MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to perform web searches, extract webpage content, and conduct end-to-end search-and-extract operations using multiple search providers and content extraction methods.-
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/AshutoshRaj97/agentready-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server