Skip to main content
Glama
LadybugDB

mcp-server-ladybug

Official
by LadybugDB

LadybugDB MCP Server

MCP Badge

An MCP server implementation that interacts with LadybugDB graph databases, providing Cypher query capabilities to AI Assistants and IDEs.

About LadybugDB

LadybugDB is an embedded graph database built for query speed and scalability. It is optimized for handling complex join-heavy analytical workloads on very large graphs.

Key features:

  • Property Graph data model with Cypher query language

  • Embedded database - runs in-process with your application

  • Columnar disk-based storage for analytical performance

  • Strongly typed schema with explicit data types

  • JSON support through the json extension

  • Interoperability with Parquet, Arrow, DuckDB, and more

Related MCP server: Gremlin MCP Server

Components

Prompts

The server provides one prompt:

  • ladybugdb-initial-prompt: A prompt to initialize a connection to LadybugDB and start working with it

Tools

The server offers one tool:

  • query: Execute a Cypher query on the LadybugDB database

    • Inputs:

      • query (string, required): The Cypher query to execute

All interactions with LadybugDB are done through writing Cypher queries.

Result Limiting: Query results are automatically limited to prevent using up too much context:

  • Maximum 1024 rows by default (configurable with --max-rows)

  • Maximum 50,000 characters by default (configurable with --max-chars)

  • Truncated responses include a note about truncation

Installation

pip install mcp-server-ladybug
mcp-server-ladybug --db-path :memory:

Note: Replace :memory: with a path like /path/to/local.lbdb to persist data to disk.

Using Docker

docker run -it --rm ghcr.io/ladybugdb/mcp-server-ladybug:latest --db-path :memory:

Note: Replace :memory: with a path like /path/to/local.lbdb to persist data to disk.

Using uvx

uvx mcp-server-ladybug --db-path :memory:

Note: Replace :memory: with a path like /path/to/local.lbdb to persist data to disk.

From source

git clone https://github.com/LadybugDB/mcp-server-ladybug.git
cd mcp-server-ladybug
uv pip install -e .
mcp-server-ladybug --db-path :memory:

Note: Replace :memory: with a path like /path/to/local.lbdb to persist data to disk.

Command Line Parameters

Parameter

Type

Default

Description

--transport

Choice

stdio

Transport type. Options: stdio, sse, stream

--port

Integer

8000

Port to listen on for sse and stream transport mode

--host

String

127.0.0.1

Host to bind the MCP server for sse and stream transport mode

--db-path

String

:memory:

Path to LadybugDB database file

--max-rows

Integer

1024

Maximum number of rows to return from queries

--max-chars

Integer

50000

Maximum number of characters in query results

Usage with Claude Desktop

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-server-ladybug": {
      "command": "uvx",
      "args": [
        "mcp-server-ladybug",
        "--db-path",
        ":memory:"
      ]
    }
  }
}

Note: Replace :memory: with a path like /path/to/local.lbdb to persist data to disk.

Cypher Query Examples

Create a graph schema

CREATE NODE TABLE Person (id INT64 PRIMARY KEY, name STRING, age INT64);
CREATE NODE TABLE City (name STRING PRIMARY KEY, population INT64);
CREATE REL TABLE Follows (FROM Person TO Person, since INT64);
CREATE REL TABLE LivesIn (FROM Person TO City);

Import data from CSV

COPY Person FROM 'persons.csv';
COPY City FROM 'cities.csv';
COPY Follows FROM 'follows.csv';

Query relationships

MATCH (a:Person)-[:Follows]->(b:Person)
WHERE a.age > 25
RETURN a.name, b.name, a.age;

Use JSON data (requires json extension)

INSTALL json;
LOAD json;

CREATE NODE TABLE Product (id INT64 PRIMARY KEY, details JSON);
COPY Product FROM 'products.json';

MATCH (p:Product)
WHERE json_extract(p.details, '$.category') = 'electronics'
RETURN p.id, json_extract(p.details, '$.name') AS product_name;

Development

uv pip install -e .
python -m mcp_server_ladybug --db-path :memory:

Note: Replace :memory: with a path like /path/to/local.lbdb to persist data to disk.

License

MIT License

Available Tools

1 tool
queryA

Use this to execute a Cypher query on the LadybugDB database

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesCypher query to execute on the LadybugDB graph database

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description fails to disclose behavioral traits such as whether queries are read-only, modification capabilities, rate limits, or authentication needs. The description only states the basic action.

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 a single, concise sentence that directly conveys the tool's purpose. No extraneous information is present.

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

Completeness3/5

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

Given the simplicity of the tool (one parameter, no output schema, no annotations), the description is adequately complete in stating the primary function. However, it lacks behavioral context such as mutation restrictions or error behavior, which might be needed for safe usage.

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

Parameters3/5

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

Schema coverage is 100% with the parameter already having a description. The tool description adds no additional meaning beyond what the schema provides, resulting in redundancy without added value.

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 verb 'execute' and the resource 'Cypher query on the LadybugDB database'. It is specific and unambiguous, with no sibling tools requiring differentiation.

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 phrase 'Use this to' explicitly indicates when to use the tool. No exclusions or alternatives are needed as there are no sibling tools, but prerequisites or restrictions are not mentioned.

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. 1 tool updatev0.1.2
    • First observedquery

TDQS

A3.5/5.0
Disambiguation5/5

With only a single tool, there is no possibility of confusion between tools. The tool's purpose is clearly defined as executing Cypher queries on the LadybugDB database.

Naming Consistency3/5

With only one tool named 'query', there is no pattern to assess consistency. However, the name is simple and descriptive, matching common conventions for a single-operation server.

Tool Count2/5

A single tool is minimal for a database server. While a query tool is essential, the server likely needs additional tools for schema exploration, data manipulation, or other database operations to be functional.

Completeness2/5

The tool set is severely incomplete for typical database interactions. It only provides query execution, lacking tools for schema inspection, data definition, or other common operations, which will likely cause agent failures.

Maintenance

ActivityInactive
ResponsivenessSyncing

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 interaction with Neo4j graph databases through Cypher queries, supporting both read and write operations, schema exploration, and remote database connections via SSE or STDIO transport protocols.
    5
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to interact with Gremlin-compatible graph databases through natural language, supporting schema discovery, complex graph queries, relationship analysis, and data import/export operations.
    18
    9
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Neo4j graph databases through natural language, supporting Cypher queries, schema management, data manipulation, and graph algorithms.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Neo4j databases from the Cursor IDE by executing Cypher queries, managing connections, and retrieving database information.
    3
    -

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/LadybugDB/mcp-server-ladybug'

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