Manticore Search

MCP server for Manticore Search — query and manage search database

Manticore Search MCP Server

PyPI - Version uv

MCP server for Manticore Search — enables AI assistants to query and manage Manticore Search databases directly.

Quick Start

Installation

# Option 1: Install with uv (recommended, requires PyPI release)
uvx mcp-manticore

# Option 2: Install with pip
pip install mcp-manticore

# Option 3: Run from source (for local development)
uvx --from . mcp-manticore
# Or: uv run mcp-manticore

Note:

  • uvx runs the package directly without installation. First-time run may take a moment to download dependencies.
  • The package must be published to PyPI for uvx mcp-manticore to work.
  • For local development or testing unreleased versions, use uvx --from . mcp-manticore

What It Does

Tools

ToolDescription
run_queryExecute SQL queries (SELECT, SHOW, DESCRIBE, etc.)
list_tablesList all tables and indexes
describe_tableGet table schema
list_documentationList available documentation files
get_documentationFetch specific documentation from Manticore manual

Prompts

  • manticore_initial_prompt — Built-in prompt teaching LLMs about Manticore Search features (full-text operators, KNN vector search, fuzzy search, etc.)

Health Check

HTTP endpoint at /health for monitoring connectivity.


Configuration

Environment Variables

VariableDefaultDescription
MANTICORE_HOSTlocalhostManticore server host
MANTICORE_PORT9308HTTP API port
MANTICORE_USERUsername (optional)
MANTICORE_PASSWORDPassword (optional)
MANTICORE_CONNECT_TIMEOUT30Connection timeout (seconds)
MANTICORE_QUERY_TIMEOUT30Query timeout (seconds)
MANTICORE_ALLOW_WRITE_ACCESSfalseEnable write operations (INSERT, UPDATE, DELETE)
MANTICORE_ALLOW_DROPfalseEnable destructive operations (DROP, TRUNCATE)
GITHUB_TOKENGitHub token for higher API rate limit

Safety

By default, all write operations are blocked. To enable:

# Enable writes (INSERT, UPDATE, DELETE)
export MANTICORE_ALLOW_WRITE_ACCESS=true

# Enable destructive operations (DROP, TRUNCATE)
export MANTICORE_ALLOW_DROP=true

Connect to Your AI Assistant

Open terminal and run:

claude mcp add manticore -- uvx mcp-manticore

Or with environment variables:

claude mcp add manticore -- uvx mcp-manticore -- \
  MANTICORE_HOST=localhost \
  MANTICORE_PORT=9308

For full configuration, edit ~/.claude/mcp_settings.json:

{
  "mcpServers": {
    "manticore": {
      "command": "uvx",
      "args": ["mcp-manticore"],
      "env": {
        "MANTICORE_HOST": "localhost",
        "MANTICORE_PORT": "9308"
      }
    }
  }
}

Restart Claude Code or type /mcp restart to apply changes.

Method 1: Via Settings UI

  1. Open Cursor → Settings → Tools & MCP
  2. Click "Add MCP Server"
  3. Enter name: manticore
  4. Command: uvx mcp-manticore

Method 2: Via Config File

Global config (~/.cursor/mcp.json):

{
  "mcpServers": {
    "manticore": {
      "command": "uvx",
      "args": ["mcp-manticore"],
      "env": {
        "MANTICORE_HOST": "localhost",
        "MANTICORE_PORT": "9308"
      }
    }
  }
}

Project config (.cursor/mcp.json in your project):

{
  "mcpServers": {
    "manticore": {
      "command": "uvx",
      "args": ["mcp-manticore"]
    }
  }
}

Method 1: Via Cascade UI

  1. Open Windsurf → Cascade panel
  2. Click the MCPs icon (🔨) in the top-right
  3. Click "Add Server"
  4. Enter: uvx mcp-manticore

Method 2: Via Config File

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "manticore": {
      "command": "uvx",
      "args": ["mcp-manticore"],
      "env": {
        "MANTICORE_HOST": "localhost",
        "MANTICORE_PORT": "9308"
      }
    }
  }
}

Or open directly in Windsurf: Cmd/Ctrl + Shift + P → "MCP Configuration Panel"

VS Code uses the same MCP configuration as Cursor. Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "manticore": {
      "command": "uvx",
      "args": ["mcp-manticore"],
      "env": {
        "MANTICORE_HOST": "localhost",
        "MANTICORE_PORT": "9308"
      }
    }
  }
}

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "manticore": {
      "command": "uvx",
      "args": ["mcp-manticore"],
      "env": {
        "MANTICORE_HOST": "localhost",
        "MANTICORE_PORT": "9308"
      }
    }
  }
}

HTTP Transport (Remote MCP)

By default, MCP uses stdio (local). For remote access:

export MANTICORE_MCP_SERVER_TRANSPORT=http
export MANTICORE_MCP_BIND_PORT=8000
export MANTICORE_MCP_AUTH_TOKEN="your-secure-token"

uvx mcp-manticore

Connect via URL:

{
  "mcpServers": {
    "manticore": {
      "url": "http://localhost:8000/mcp",
      "headers": {
        "Authorization": "Bearer your-secure-token"
      }
    }
  }
}

Troubleshooting

Install uv (required)

macOS / Linux:

# Via installer script (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Or via Homebrew
brew install uv

Windows:

# Via PowerShell
irm https://astral.sh/uv/install.ps1 | iex

# Or via winget
winget install astral-sh.uv

Verify installation:

uv --version

MCP server not connecting

  1. Verify Manticore is running: curl http://localhost:9308/health
  2. Check environment variables are set correctly
  3. For Claude Code: restart with /mcp restart

Too many tools loaded

Some agents limit active MCP tools. Remove unused servers or use project-scoped configs.


Development

# Clone and setup
git clone https://github.com/manticoresoftware/mcp-manticore.git
cd mcp-manticore

# Install dependencies
uv sync

# Run locally
uv run mcp-manticore

# Run with custom config
MANTICORE_HOST=remote-server MANTICORE_PORT=9308 uv run mcp-manticore

# Run tests
uv run pytest

# Build package
uv build

# Publish to PyPI
uv publish

Architecture

FilePurpose
mcp_manticore/mcp_env.pyConfiguration management
mcp_manticore/mcp_server.pyMCP server implementation
mcp_manticore/manticore_prompt.pyLLM guidance/prompts
mcp_manticore/docs_fetcher.pyGitHub docs fetcher
mcp_manticore/main.pyCLI entry point

License

Apache-2.0

Related Servers