Skip to main content
Glama
manticoresoftware

Manticore Search MCP

Official

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


Related MCP server: MCP MariaDB Server

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

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"

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

Edit ~/.gemini/settings.json:

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

Create .vscode/mcp.json in your workspace:

{
  "servers": {
    "manticore": {
      "type": "stdio",
      "command": "uvx",
      "args": ["mcp-manticore"],
      "env": {
        "MANTICORE_HOST": "localhost",
        "MANTICORE_PORT": "9308"
      }
    }
  }
}
  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"
      }
    }
  }
}
  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"
      }
    }
  }
}

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

Available Tools

5 tools
describe_tableA

Get the schema of a specific table/index in Manticore Search.

Args: table_name: The name of the table/index to describe

Returns: A dictionary containing column information including: - columns: List of column names and types

ParametersJSON Schema
NameRequiredDescriptionDefault
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the return structure ('A dictionary containing column information'), but fails to explicitly state safety properties (read-only/non-destructive), error conditions (e.g., table not found), or idempotency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description uses a standard docstring format (Args/Returns) which is efficiently organized. The main purpose is front-loaded in the first sentence. While the Args/Returns format duplicates schema concepts, it is necessary here due to the zero-coverage schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter introspection tool, the description adequately covers the input parameter and return value structure. It appropriately compensates for the lack of schema descriptions. Minor gap: no mention of error handling for invalid table names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, leaving the parameter completely undocumented in structured data. The description compensates effectively by defining table_name as 'The name of the table/index to describe', providing necessary semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb ('Get') and resource ('schema of a specific table/index'), and specifies the system context ('Manticore Search'). This clearly distinguishes it from siblings: list_tables (lists tables), run_query (executes queries), and documentation tools (retrieves docs).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., using list_tables first to discover valid names) or when to prefer this over run_query for schema introspection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_documentationA

Fetch documentation from Manticore Search manual.

Use list_documentation() first to discover available files.

Args: file_path: Path to documentation file (e.g., "Searching/KNN.md") content: Optional search term to filter content (returns only matching sections) before: Number of lines before match to include (default: 0) after: Number of lines after match to include (default: 0)

Returns: Documentation content as markdown text

Examples: get_documentation( "Searching/Full_text_matching/Operators.md", content="MATCH", before=2, after=2 )

get_documentation("Creating_a_table/Data_types.md")
ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
contentNo
beforeNo
afterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It successfully discloses the return format ('markdown text'), the filtering behavior ('returns only matching sections'), and the context line logic for the before/after parameters. It does not explicitly declare read-only/safety properties or error handling, but 'Fetch' implies a safe read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Appropriately structured with clear sections (implied Args, Returns, Examples) using Google-style docstring formatting. Every sentence earns its place: the opening defines purpose, the Args section explains parameters, Returns clarifies output format, and Examples demonstrate concrete usage. No waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters with 0% schema coverage and an output schema existing, the description is complete. It documents all parameters, explains the return type (leaving detailed schema to the output_schema), provides usage examples, and establishes ecosystem context with sibling tools. No gaps remain for this complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, requiring the description to fully compensate. It excellently documents all 4 parameters: file_path includes a concrete example ('Searching/KNN.md'), content explains the filtering semantic, and before/after clarify they represent line counts with default values. This fully compensates for the schema deficiency.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb and resource ('Fetch documentation from Manticore Search manual'). It effectively distinguishes from sibling tools by explicitly referencing list_documentation() as a prerequisite discovery mechanism, establishing the workflow relationship between the two.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool versus its sibling: 'Use list_documentation() first to discover available files.' This provides clear prerequisite guidance. The examples further clarify usage patterns showing both filtered and unfiltered invocation patterns.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_documentationA

List available documentation files from Manticore Search manual.

IMPORTANT: Make ONE call with regex OR patterns to find multiple topics at once. DO NOT make multiple calls - use pipe (|) to combine patterns.

The file list is cached, so filtering is instant and local.

Args: search: Regex pattern to filter files (case-insensitive). Use OR patterns (|) to match multiple topics in ONE call:

    EFFICIENT (single call):
    - "knn|vector|embedding" - find all vector-related docs
    - "search|query|match" - find all search-related docs
    - "^Searching/|^Creating_a_table/" - multiple directories
    - "index|table|cluster" - multiple topics

    INEFFICIENT (avoid multiple calls):
    - Don't: list_documentation("knn"), then list_documentation("vector")
    - Do: list_documentation("knn|vector")  # ONE call

Returns: Filtered list of documentation files, grouped by category

Examples: # List all documentation (no filter) list_documentation()

# Find multiple topics in ONE call (RECOMMENDED)
list_documentation(search="knn|vector|embedding")
list_documentation(search="search|query|match|full-text")
list_documentation(search="index|table|cluster|replication")

# Directory-specific searches
list_documentation(search="^Searching/")  # all in Searching/
list_documentation(search="^Creating_a_table/")  # all in Creating_a_table/

# Combine directories and topics
list_documentation(search="^Searching/|^Creating_a_table/")
ParametersJSON Schema
NameRequiredDescriptionDefault
searchNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Adds valuable behavioral context: 'file list is cached, so filtering is instant and local' and describes return format ('grouped by category'). Does not explicitly state read-only/safety status, though implied by operation type.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Lengthy but high information density. Structure is logical: purpose → critical usage warning → technical note → parameter details → examples. Every sentence earns its place, including the IMPORTANT call-efficiency warning which prevents API misuse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Comprehensive for tool complexity (1 param, output schema exists). Covers purpose, parameter semantics (since schema lacks them), behavioral traits (caching), and return structure. Output schema presence excuses minimal return value description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% (parameter has no description), but description extensively compensates: explains regex pattern support, case-insensitivity, OR syntax with pipe (|), directory prefix matching (^), and provides 6 concrete examples covering multiple use cases.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb ('List') + specific resource ('documentation files from Manticore Search manual'). Distinguishes from sibling 'get_documentation' (likely retrieves content) and 'list_tables' (different domain).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Excellent explicit guidance: 'Make ONE call with regex OR patterns' vs 'DO NOT make multiple calls', with concrete EFFICIENT/INEFFICIENT examples. Clearly states when to use pipe patterns versus separate calls.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tablesA

List available tables/indexes in Manticore Search.

Returns: JSON string containing list of table names and their types

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It usefully specifies the return format (JSON string with table names and types), but omits safety characteristics (read-only), rate limits, or error conditions that annotations would typically cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with two distinct, information-dense segments: purpose declaration and return value specification. No redundant or filler text; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (zero parameters) and existence of an output schema, the description adequately covers the essential contract. However, the absence of usage guidance and behavioral annotations leaves minor gaps in contextual completeness for an agent deciding between discovery tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters present, which per calibration establishes a baseline of 4. The description correctly omits parameter discussion since none exist, and the schema coverage is trivially complete at 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (List) and resource (tables/indexes in Manticore Search), providing specific context. However, it does not explicitly differentiate from sibling 'describe_table' (list vs. describe single table), though the distinction is implied by the verb choice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance provided on when to use this versus 'describe_table' or 'run_query'. For example, it does not indicate whether this should be called before querying or how it relates to schema discovery workflows.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_queryA

Execute a SQL query against Manticore Search.

Queries run in read-only mode by default. Set MANTICORE_ALLOW_WRITE_ACCESS=true to allow DDL and DML statements when your Manticore server permits them.

Args: query: The SQL query to execute (e.g., "SELECT * FROM my_index LIMIT 10")

Returns: A dictionary containing: - columns: List of column names - rows: List of row values - total: Total number of results

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full disclosure burden. It effectively communicates the default read-only safety behavior, the mechanism for enabling write access (environment variable), and documents the return structure (dictionary with columns/rows/total). It lacks mention of error handling or rate limits, preventing a perfect score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with clear docstring-style sections (Args, Returns). The purpose is front-loaded in the first sentence, followed by critical behavioral constraints, then parameter details. Every sentence provides necessary information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's single-parameter simplicity but behavioral complexity (read-only vs. write modes), the description is complete. It covers invocation requirements, parameter semantics, execution behavior, and return values, providing sufficient context for correct agent operation despite the lack of annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, requiring the description to fully compensate. It successfully adds semantic meaning by documenting the 'query' parameter as 'The SQL query to execute' and provides a concrete example ('SELECT * FROM my_index LIMIT 10'), effectively bridging the schema documentation gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Execute a SQL query against Manticore Search,' providing a specific verb (Execute), resource (SQL query), and target system (Manticore Search). This clearly distinguishes it from sibling tools like describe_table and list_tables, which handle metadata rather than execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage constraints regarding read-only mode by default and the MANTICORE_ALLOW_WRITE_ACCESS environment variable requirement for DDL/DML. However, it does not explicitly differentiate when to use this tool versus sibling introspection tools like describe_table, though the behavioral guidance for write operations is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv0.1.2
    • First observeddescribe_table
    • First observedget_documentation
    • First observedlist_documentation
    • First observedlist_tables
    • First observedrun_query

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a distinct and non-overlapping purpose: describe_table for schema inspection, list_tables for inventory, run_query for data retrieval/manipulation, and two documentation tools (list_documentation and get_documentation) that work together as a clear pair. No ambiguity exists between tools.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern (describe_table, get_documentation, list_documentation, list_tables, run_query). The verbs are appropriate and predictable, with no mixing of conventions or styles.

Tool Count5/5

Five tools is well-scoped for a search database server, covering core operations: schema inspection, table listing, query execution, and documentation access. Each tool serves a clear purpose without redundancy or bloat.

Completeness4/5

The toolset covers essential read operations and documentation access effectively. A minor gap exists in write operations (e.g., create/update/delete tables or documents), though run_query hints at DDL/DML capabilities with server permissions. For a search-focused server, this is reasonable but not fully comprehensive.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with MariaDB databases through standard SQL operations and advanced vector/embedding-based search. Supports database management, schema inspection, and semantic document storage and retrieval with multiple embedding providers.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with MariaDB databases through SQL operations and vector-based semantic search. Supports standard database queries, schema inspection, and optional embedding-powered document storage and retrieval.
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables AI assistants to securely interact with MariaDB and MySQL databases using granular per-connection read/write permissions and transaction support. It allows users to manage multiple database connections, explore schemas, and execute controlled SQL queries through a standardized interface.
    6
    26
    5
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Connect AI agents to SQL databases (SQLite, PostgreSQL, MySQL) with a unified interface for querying data, exploring schemas, inserting rows, and exporting results to CSV. Includes safety features like dangerous query blocking and write guards.
    13
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/manticoresoftware/mcp-manticore'

If you have feedback or need assistance with the MCP directory API, please join our Discord server