Skip to content

manticoresoftware/mcp-manticore

Repository files navigation

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

Tool Description
run_query Execute SQL queries (SELECT, SHOW, DESCRIBE, etc.)
list_tables List all tables and indexes
describe_table Get table schema
list_documentation List available documentation files
get_documentation Fetch 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

Variable Default Description
MANTICORE_HOST localhost Manticore server host
MANTICORE_PORT 9308 HTTP API port
MANTICORE_USER Username (optional)
MANTICORE_PASSWORD Password (optional)
MANTICORE_CONNECT_TIMEOUT 30 Connection timeout (seconds)
MANTICORE_QUERY_TIMEOUT 30 Query timeout (seconds)
MANTICORE_ALLOW_WRITE_ACCESS false Enable write operations (INSERT, UPDATE, DELETE)
MANTICORE_ALLOW_DROP false Enable destructive operations (DROP, TRUNCATE)
GITHUB_TOKEN GitHub 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

Claude Code

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.

Cursor

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"]
    }
  }
}
Windsurf

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"

OpenAI Codex

Run in terminal:

codex mcp add manticore -- uvx mcp-manticore

With environment variables:

codex mcp add manticore \
  --env MANTICORE_HOST=localhost \
  --env MANTICORE_PORT=9308 \
  -- uvx mcp-manticore

Or edit ~/.codex/config.toml directly:

[mcp_servers.manticore]
command = "uvx"
args = ["mcp-manticore"]
env = { MANTICORE_HOST = "localhost", MANTICORE_PORT = "9308" }
Gemini CLI

Edit ~/.gemini/settings.json:

{
  "mcpServers": {
    "manticore": {
      "command": "uvx",
      "args": ["mcp-manticore"],
      "env": {
        "MANTICORE_HOST": "localhost",
        "MANTICORE_PORT": "9308"
      }
    }
  }
}
VS Code (GitHub Copilot)

Create .vscode/mcp.json in your workspace:

{
  "servers": {
    "manticore": {
      "type": "stdio",
      "command": "uvx",
      "args": ["mcp-manticore"],
      "env": {
        "MANTICORE_HOST": "localhost",
        "MANTICORE_PORT": "9308"
      }
    }
  }
}
Cline
  1. Open Cline panel in VS Code
  2. Click the MCP Servers icon
  3. Click "Configure" → "Add Server"
  4. Select "Command (stdio)" and enter:
    • Name: manticore
    • Command: uvx mcp-manticore

Or edit the MCP settings file directly (accessible via the MCP Servers icon → "Edit Config"):

{
  "mcpServers": {
    "manticore": {
      "command": "uvx",
      "args": ["mcp-manticore"],
      "env": {
        "MANTICORE_HOST": "localhost",
        "MANTICORE_PORT": "9308"
      }
    }
  }
}
Roo Code
  1. Open Roo Code panel in VS Code
  2. Click the MCP Servers icon → "Edit MCP Settings"
  3. Add the server configuration

Or create .roo/mcp.json in your project root:

{
  "mcpServers": {
    "manticore": {
      "command": "uvx",
      "args": ["mcp-manticore"],
      "env": {
        "MANTICORE_HOST": "localhost",
        "MANTICORE_PORT": "9308"
      }
    }
  }
}
Claude Desktop (Legacy)

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

File Purpose
mcp_manticore/mcp_env.py Configuration management
mcp_manticore/mcp_server.py MCP server implementation
mcp_manticore/manticore_prompt.py LLM guidance/prompts
mcp_manticore/docs_fetcher.py GitHub docs fetcher
mcp_manticore/main.py CLI entry point

License

Apache-2.0

About

MCP server for Manticore Search daemon

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages