Skip to main content

An MCP server for Manticore Search.

Project description

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"

VS Code (with VSCode Copilot)

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_manticore-0.1.2.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_manticore-0.1.2-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file mcp_manticore-0.1.2.tar.gz.

File metadata

  • Download URL: mcp_manticore-0.1.2.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_manticore-0.1.2.tar.gz
Algorithm Hash digest
SHA256 90bca9c06afdbed377a6ea78fe2f5dd3a8db82219efff4d4d849a15b9edf7c46
MD5 1eb78cb5e34e2242f3da918caca98993
BLAKE2b-256 80bdae1c481f2bcd8b052a247d9021be000b50e3d669335dc70c26460417846b

See more details on using hashes here.

File details

Details for the file mcp_manticore-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: mcp_manticore-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 23.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_manticore-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ed5ef9c680dd84638f775f284bf423e344f3d8c3202542bd483801debd1b122e
MD5 22aa2d5462f01cbedd87e969e09896fb
BLAKE2b-256 d903949b0908c23cea0ce4dc36361b03b02762621c4caf6ea0247cbc75d71880

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page