Provides search capabilities for Cloudflare AutoRAG instances, allowing vector similarity search, AI query rewriting, and AI-powered search with configurable parameters
Runs on Cloudflare Workers for scalable deployment of the MCP server
Cloudflare AutoRAG MCP Server
A Model Context Protocol (MCP) server that provides search capabilities for Cloudflare AutoRAG instances. This server enables AI assistants like Claude to directly search and query your AutoRAG knowledge base using three distinct search methods.
Features
- 🔍 Basic Search - Vector similarity search without query rewriting or answer generation
- ✏️ Rewrite Search - Vector search with AI query rewriting but no answer generation (returns document chunks only)
- 🤖 AI Search - Full AI-powered search with optional AI response and configurable query rewriting
- ⚙️ Configurable Parameters - Support for
score_threshold
(default: 0.5) andmax_num_results
(1-50, default: 10) - 📄 Pagination Support - AI search supports cursor-based pagination for large result sets (v1.2.0+)
- 🏢 Multi-AutoRAG Support - Manage and search across multiple AutoRAG instances (v2.0.0+)
- 🌐 Remote Deployment - Runs on Cloudflare Workers for scalability
- 🔗 MCP Compatible - Works with Claude Desktop and other MCP clients
Tools
autorag_basic_search
Performs a basic vector similarity search in your Cloudflare AutoRAG index without AI query rewriting or answer generation. Returns raw document chunks only.
Parameters:
query
(string, required) - The search query text (max 10,000 characters)score_threshold
(number, optional) - Minimum similarity score threshold (0.0-1.0, default: 0.5)max_num_results
(number, optional) - Maximum number of results to return (1-50, default: 10)autorag_name
(string, optional) - Name of the AutoRAG instance to use (defaults to configured default)
autorag_rewrite_search
Performs a vector search with AI query rewriting but no answer generation. Uses Cloudflare's search()
method with configurable rewrite_query
for better semantic matching and returns only document chunks.
Parameters:
query
(string, required) - The search query text (max 10,000 characters)score_threshold
(number, optional) - Minimum similarity score threshold (0.0-1.0, default: 0.5)max_num_results
(number, optional) - Maximum number of results to return (1-50, default: 10)rewrite_query
(boolean, optional) - Whether to rewrite query for better matching (default: true)autorag_name
(string, optional) - Name of the AutoRAG instance to use (defaults to configured default)
autorag_ai_search
Performs AI-powered search using Cloudflare's aiSearch()
method with optional AI-generated response. Returns document chunks and optionally an AI answer based on the include_ai_response
parameter. Supports pagination for large result sets.
Parameters:
query
(string, required) - The search query text (max 10,000 characters)score_threshold
(number, optional) - Minimum similarity score threshold (0.0-1.0, default: 0.5)max_num_results
(number, optional) - Maximum number of results to return (1-50, default: 10)rewrite_query
(boolean, optional) - Whether to rewrite the query for better semantic matching (default: true)include_ai_response
(boolean, optional) - Whether to include the AI-generated response in the output (default: false)cursor
(string, optional) - Pagination cursor from previous response to fetch next page of results (v1.2.0+)autorag_name
(string, optional) - Name of the AutoRAG instance to use (defaults to configured default)
Response includes:
data
- Array of source document chunks with scores and metadata (always included)response
- AI-generated answer based on retrieved documents (only wheninclude_ai_response: true
)has_more
- Boolean indicating if more results are availablenext_page
- Cursor token for fetching the next page (whenhas_more
is true)nextCursor
- MCP-compliant cursor field (mirrorsnext_page
value)
list_autorags
(v2.0.0+)
Lists all available AutoRAG instances configured in the server.
Parameters: None
Response includes:
autorags
- Array of AutoRAG instances with name, description, and is_default flagtotal
- Total number of configured AutoRAG instancesdefault
- Name of the default AutoRAG instance
get_current_autorag
(v2.0.0+)
Gets information about the currently configured default AutoRAG instance.
Parameters: None
Response includes:
current_autorag
- Name of the current default AutoRAG instancedescription
- Description of the instanceis_default
- Always true for this endpoint
Prerequisites
- Cloudflare Account with AutoRAG access
- AutoRAG Instance - Created and indexed in your Cloudflare account
- Wrangler CLI - For deployment (
npm install --save-dev wrangler
)
Deployment
- Clone the repository:
- Install dependencies:
- Configure your AutoRAG instance:
Edit
wrangler.toml
and update the configuration:For a single AutoRAG instance:For multiple AutoRAG instances: - Deploy to Cloudflare Workers:This will output your Worker URL, which you'll need for the MCP client configuration.
Claude Desktop Configuration
To use this MCP server with Claude Desktop, add the following configuration to your Claude Desktop config file:
macOS
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
:
Windows
Edit %APPDATA%/Claude/claude_desktop_config.json
:
Configuration
Replace https://your-worker-url.workers.dev/
with your actual deployed Worker URL.
After updating the configuration:
- Restart Claude Desktop
- You should see the AutoRAG search tools available in your conversation
Configuration
Environment Variables
The server uses the following Cloudflare Worker bindings:
AI
- Cloudflare AI binding for AutoRAG access (handles all AutoRAG operations)AUTORAG_NAME
- Your AutoRAG instance name (for single instance configuration)AUTORAG_INSTANCES
- Comma-separated list of AutoRAG instances (for multi-instance configuration)AUTORAG_DESCRIPTIONS
- Comma-separated list of descriptions for each instance
Wrangler Configuration
The wrangler.toml
file includes:
Note: The VECTORIZE binding is not required. AutoRAG manages its own vector index access internally through the AI binding.
Usage Examples
Once configured with Claude Desktop, you can use the tools like this:
Basic Search (no query rewriting, no AI response):
Rewrite Search (AI query rewriting, no AI response):
AI Search with Document Chunks Only (default behavior):
AI Search with AI-Generated Response:
Multi-AutoRAG Usage (v2.0.0+):
Important Notes:
autorag_basic_search
performs pure vector search without any AI enhancementsautorag_rewrite_search
uses AI query rewriting but returns document chunks onlyautorag_ai_search
by default returns document chunks only (letting the client LLM generate responses), but can optionally include Cloudflare's AI-generated response- All tools use a default score threshold of 0.5 if not specified
- All tools support the same parameter structure for consistent usage
- Metadata filtering is not supported in Workers bindings - use the REST API if you need filtered queries
Development
Local Development
Project Structure
Technical Details
- Protocol: JSON-RPC 2.0 over HTTP
- Runtime: Cloudflare Workers with Node.js compatibility
- MCP Version: 2024-11-05
- Transport: HTTP-based (no streaming)
- Default Score Threshold: 0.5 for all search tools
- Parameter Validation: Comprehensive validation with clear error messages
Troubleshooting
Common Issues
- "AutoRAG instance not found"
- Verify your
AUTORAG_NAME
inwrangler.toml
- Ensure your AutoRAG instance is properly created and indexed
- Verify your
- "MCP server disconnected"
- Check that your Worker URL is correct in the Claude Desktop config
- Verify the Worker is deployed and accessible
- "Tool not found" errors
- Restart Claude Desktop after configuration changes
- Check the Worker logs:
npx wrangler tail
- Empty search results
- Try lowering the
score_threshold
parameter (default is 0.5) - Verify your AutoRAG index has been populated with documents
- Check that your query terms exist in the indexed content
- Try lowering the
Logs
View real-time logs from your deployed Worker:
Version History
- v2.0.0 - Multi-AutoRAG support, enhanced schema documentation, removed VECTORIZE binding
- v1.2.0 - Added cursor-based pagination support for AI search tool
- v1.1.3 - Removed filters parameter (not supported in Workers bindings), added helpful error messages for filter attempts
- v1.1.2 - Attempted to fix filter format (discovered Workers bindings don't support filters)
- v1.1.1 - Added
include_ai_response
parameter to AI search tool, default score threshold of 0.5, comprehensive parameter validation - v1.1.0 - Added three distinct search tools with boolean parameter support
- v1.0.0 - Initial release
License
This project is licensed under the MIT License.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
Support
For issues related to:
- Cloudflare AutoRAG: Cloudflare AutoRAG Documentation
- Model Context Protocol: MCP Documentation
- This Server: Open an issue in this repository
This server cannot be installed
Provides search capabilities for Cloudflare AutoRAG instances, enabling AI assistants like Claude to directly search and query knowledge bases using three distinct search methods: basic search, rewrite search, and AI search.
Related MCP Servers
- PythonMIT License
Tavily MCP Serverofficial
AsecurityAlicenseAqualityThis server enables AI systems to integrate with Tavily's search and data extraction tools, providing real-time web information access and domain-specific searches.Last updated -26,005403JavaScriptMIT License- -securityFlicense-qualityIntegrates Claude Desktop with Azure AI Search, allowing users to query search indexes using keyword, vector, or hybrid search methods.Last updated -26Python
- -securityAlicense-qualityA server that enables AI assistants like Claude to perform web searches using the Exa AI Search API, providing real-time web information in a safe and controlled way.Last updated -2,167MIT License