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.
- 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
- Go 1.24 or later
- Manticore Search server running and accessible
git clone https://github.com/krajcik/manticore-mcp-server.git
cd manticore-mcp-server
go build -o manticore-mcp-server
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
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"
}
}
}
}
The MCP protocol automatically exposes these tools to clients:
Full-text search in Manticore indexes.
Key Parameters:
table
(required): Table namequery
: Search textlimit
: Max resultshighlight
: Enable result highlightingbool_query
: Complex boolean queries
List available tables/indexes.
Get table schema information.
Parameters:
table
(required): Table name
Insert document into index.
Parameters:
table
(required): Table namedocument
(required): Document data
Display cluster health status.
All tools return structured JSON:
{
"success": true,
"data": { /* results */ },
"meta": {
"total": 42,
"count": 10,
"operation": "search"
}
}
MCP clients automatically discover available tools and their schemas through the protocol. No manual configuration required.
Connection Issues:
- Verify Manticore is running:
curl http://localhost:9308
- Check server path in MCP configuration
- Use
--debug
for verbose logging
Performance:
- Adjust
MAX_RESULTS_PER_QUERY
for your needs - Increase
REQUEST_TIMEOUT
for complex queries
MIT License