MCP Documentation Crawler
This MCP server provides tools to crawl, index, search, and retrieve documentation, with optional AI summaries. Key capabilities:
Crawl: Crawl documentation sites with configurable scope, concurrency, delays, page limits, and content size to build a local searchable index.
Search: Perform keyword/phrase searches on the index, returning results with URL, title, excerpt, and relevance score (up to 20 results).
Page retrieval: Fetch complete content of a specific documentation page by URL.
Status check: View crawler configuration and whether an index exists.
HTTP API: Expose search and health endpoints; optionally generate AI-powered summaries via AWS Bedrock.
MCP integration: Serve as an MCP server for AI clients (e.g., Claude Desktop), exposing tools for crawl, search, get page, and status.
Configuration: Controlled via
config.jsonor environment variables.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Documentation Crawler search the Plant Applications docs for 'production unit'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Documentation Crawler
A local, configurable Model Context Protocol server that crawls a documentation site, stores a local index, and gives Claude (or another MCP client) search and page-retrieval tools.
The default configuration targets GE Vernova Proficy Plant Applications 2025 documentation. It only follows links within the configured domain and path prefix.
Install and crawl
git clone https://github.com/codecracker2020/mcp-server-crawler.git
cd mcp-server-crawler
npm install
cp config.example.json config.json
npm run crawl -- --config=config.json
npm run search -- --config=config.json "production unit"The generated local index is data/index.json (ignored by Git). Re-run npm run crawl to refresh it.
Related MCP server: rock-mcp
HTTP API for other applications
Start the API after crawling:
npm run serve -- --config=config.jsonIt listens on http://127.0.0.1:3100 by default and exposes:
curl "http://127.0.0.1:3100/health"
curl "http://127.0.0.1:3100/search?q=releasing%20a%20route&limit=5"
curl "http://127.0.0.1:3100/search?q=releasing%20a%20route&summarize=true"GET /search returns JSON with the query, index timestamp, and matching url, title, excerpt, and score fields. Add summarize=true to include a Claude summary grounded only in those matching excerpts. This uses AWS Bedrock's normal credential chain (for example AWS_PROFILE, access keys, or an IAM role) and the configured bedrockRegion and bedrockModelId; it makes a billed Bedrock request. Use apiHost, apiPort, and apiCorsOrigin to configure the server. Keep the default loopback host unless another machine truly needs access; if you expose it on a network, set MCP_CRAWLER_API_KEY and send it as the X-API-Key request header.
Claude Desktop / Claude Code / VS Code configuration
Add this server configuration to the MCP settings used by your client, adjusting the absolute paths:
{
"mcpServers": {
"plant-applications-docs": {
"command": "node",
"args": ["/absolute/path/to/mcp-server-crawler/src/server.js", "--config=/absolute/path/to/mcp-server-crawler/config.json"]
}
}
}For Claude Code, the equivalent command is:
claude mcp add --transport stdio plant-applications-docs -- node /absolute/path/to/mcp-server-crawler/src/server.js --config=/absolute/path/to/mcp-server-crawler/config.jsonAfter restarting or reloading the client, it exposes four tools: crawl_documentation, search_documentation, get_documentation_page, and crawler_status.
Configuration
Copy config.example.json to config.json and change any field. startUrl, allowedDomains, and urlPathPrefix form the crawl boundary. The server also accepts every major setting as an environment variable, which is useful for VS Code settings or CI:
JSON field | Environment variable |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use the configuration conservatively and comply with the documentation site's terms and robots policy. The crawler deliberately ignores non-HTML pages and removes navigation, scripts, styles, and other page chrome before indexing.
Available Tools
4 toolscrawl_documentationA
Crawl the configured documentation site and save a local searchable index. Use refresh=false to reuse an existing index.
Inputs: refresh, maxPages.
crawler_statusA
Show active crawler configuration and whether a local documentation index exists.
Inputs: no named parameters.
get_documentation_pageB
Retrieve a complete indexed documentation page by URL.
Inputs: url (required).
search_documentationA
Search the locally crawled documentation index. Crawl first if no index is available.
Inputs: query (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a distinct purpose: status checking, crawling, searching, and page retrieval. No overlap or ambiguity exists between them.
Most tools follow a clear verb_noun pattern (crawl_documentation, search_documentation, get_documentation_page), but crawler_status uses a noun_noun style. Still, the snake_case naming is consistent and readable.
With exactly 4 tools, the set is well-scoped for a documentation crawler. Each tool serves a necessary function and the count is appropriate for the server's purpose.
The core workflow of crawling, searching, and fetching pages is covered. A minor gap is the lack of an explicit clear/delete index operation, but refresh=false in crawl_documentation mitigates this.
Maintenance
Related MCP Connectors
MCP server for querying Forkast documentation
MCP server for opencode documentation, generated by doc2mcp.
MCP server for innovationlab documentation, generated by doc2mcp.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that provides indexed, searchable access to Anthropic Claude and Google Gemini documentation, with full-text search, page fetching, and section listing capabilities.4MIT
- FlicenseNot gradedqualityDmaintenanceDocumentation crawler MCP server that crawls and indexes documentation sites so that any MCP-compatible AI can search, read, and expand on the content.1-
- AlicenseNot gradedqualityDmaintenanceA documentation MCP server that crawls websites and Git repositories, stores them as Markdown, and provides tools to search and retrieve documentation for local LLMs and AI agents.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server for documentation search that automatically indexes web documentation sites and provides semantic, full-text, or hybrid search capabilities.2 npmMIT