Manticore Search MCP Server
A Model Context Protocol (MCP) server that provides access to Manticore Search functionality through MCP-compatible clients like Claude Code, Cursor, and other AI development tools.
Features
- Full-text search with advanced query options
- Table/index management operations
- Document insertion and manipulation
- Cluster status monitoring
- Boolean queries with highlighting and fuzzy search
- Configurable result limits and pagination
Installation
Prerequisites
- Go 1.22 or later
- Manticore Search server running and accessible
Build
git clone https://github.com/krajcik/manticore-mcp-server.git
cd manticore-mcp-server
go build -o manticore-mcp-server
Configuration
Configure using environment variables:
export MANTICORE_URL="http://localhost:9308"
export MAX_RESULTS_PER_QUERY="100"
export REQUEST_TIMEOUT="30s"
export DEBUG="false"
Or command-line flags:
./manticore-mcp-server --manticore-url="http://localhost:9308" --max-results=100
MCP Client Integration
Add to your MCP client configuration (e.g., ~/.claude.json for Claude Code):
{
"mcpServers": {
"manticore-search": {
"command": "/path/to/manticore-mcp-server",
"args": [],
"env": {
"MANTICORE_URL": "http://localhost:9308",
"MAX_RESULTS_PER_QUERY": "50"
}
}
}
}
Available Tools
The MCP protocol automatically exposes these tools to clients:
search
Full-text search in Manticore indexes.
Key Parameters:
table(required): Table namequery: Search textlimit: Max resultshighlight: Enable result highlightingbool_query: Complex boolean queries
show_tables
List available tables/indexes.
describe_table
Get table schema information.
Parameters:
table(required): Table name
insert_document
Insert document into index.
Parameters:
table(required): Table namedocument(required): Document data
update_document
Update an existing document by id (attributes) with optional additional condition.
Parameters:
table(required)id(required)document(required): fields to updatecondition(optional)
delete_document
Delete documents by id or condition.
Parameters:
table(required)idorcondition(one required)
show_cluster_status
Display cluster health status.
create_cluster / join_cluster / alter_cluster / delete_cluster / set_cluster
Cluster management operations (use with caution in production).
Response Format
All tools return structured JSON:
{
"success": true,
"data": { /* results */ },
"meta": {
"total": 42,
"count": 10,
"operation": "search"
}
}
API Discovery
MCP clients automatically discover available tools and their schemas through the protocol. No manual configuration required.
Troubleshooting
Connection Issues:
- Verify Manticore is running:
curl http://localhost:9308 - Check server path in MCP configuration
- Use
--debugfor verbose logging - For complex boolean queries, ensure HTTP JSON API is reachable (POST to
/search).
Performance:
- Adjust
MAX_RESULTS_PER_QUERYfor your needs - Increase
REQUEST_TIMEOUTfor complex queries
License
MIT License