KurrentDB MCP Server

Empower your AI workflows with direct access to event streams and projections in KurrentDB, enhancing rapid development, debugging, and analytics in FlowHunt.

KurrentDB MCP Server

What does “KurrentDB” MCP Server do?

The KurrentDB MCP Server is a tool designed to empower AI assistants and developers to interact seamlessly with KurrentDB, a stream-based database. By exposing a set of tools and standardized operations, the server enables clients to query, read, and write stream data, as well as build and manage projections directly from AI development environments. This integration enhances workflows by allowing tasks such as retrieving event streams, recording new events, and creating data projections to be executed programmatically or through natural language. The KurrentDB MCP Server streamlines prototyping, debugging, and exploration of event-driven data, making it particularly valuable for rapid development and analysis in applications leveraging KurrentDB.

List of Prompts

  • read_stream: Template for retrieving events from a specified stream, with options for direction and limits.
  • write_events_to_stream: Template for adding events to a stream, specifying event type, data, and metadata.
  • list_streams: Template for listing available streams, supporting pagination and direction.
  • build_projection: Template for describing and generating a new projection using AI assistance.
  • create_projection: Template for creating a projection from a specification.
  • update_projection: Template for updating an existing projection.
  • test_projection: Template for testing a projection with sample data.
  • get_projections_status: Template for retrieving the status of all projections.

List of Resources

  • Stream Data: Access to stream event data within KurrentDB, enabling reading and analysis.
  • Streams List: List and metadata of available streams in the database.
  • Projections: Definitions and computed views (projections) built from stream data.
  • Projections Status: Real-time status information for existing projections.

List of Tools

  • read_stream: Reads events from a specific stream, with options for order (backwards/forwards) and count.
  • write_events_to_stream: Adds new events to a stream with custom data, event type, and metadata.
  • list_streams: Returns a list of all available streams in the KurrentDB instance.
  • build_projection: Uses AI to generate a projection based on user requirements.
  • create_projection: Creates a new projection in KurrentDB.
  • update_projection: Updates an existing projection with new specifications.
  • test_projection: Tests a projection using sample data or scenarios.
  • get_projections_status: Retrieves status and health information for all projections.

Use Cases of this MCP Server

  • Database Event Exploration: Developers can quickly view, filter, and analyze historical or real-time event data in any KurrentDB stream, streamlining troubleshooting and audits.
  • Event Ingestion and Logging: Programmatically log new events (e.g., user actions, system changes) directly into the database for robust event sourcing and traceability.
  • Projection Development and Debugging: Rapidly build, test, and refine projections for analytics or derived data models, shortening feedback cycles for data-driven features.
  • Stream Metadata Discovery: List all streams and examine their structure or metadata to inform schema design or data navigation.
  • Operational Monitoring: Use the tools to check the health and status of projections, ensuring that critical data transformations are running as expected.

How to set it up

Windsurf

  1. Prerequisites: Ensure Python is installed and KurrentDB is running with projections enabled (--run-projections=all --start-standard-projections).
  2. Locate Configuration: Open .codeium/windsurf/mcp_config.json.
  3. Add KurrentDB MCP Server:
    {
      "mcpServers": {
        "kurrentdb": {
          "command": "python",
          "args": ["path to mcp-server folder\\server.py"],
          "env": {
            "KURRENTDB_CONNECTION_STRING": "insert kurrentdb connection here"
          }
        }
      }
    }
    
  4. Save and Restart: Save the config and restart Windsurf.
  5. Verify Setup: Confirm the MCP server is active and connected.

Claude

  1. Prerequisites: Python installed, KurrentDB running with required projection flags.
  2. Locate Configuration: Edit your Claude Desktop configuration file.
  3. Add KurrentDB MCP Server:
    {
      "servers": {
        "KurrentDB": {
          "type": "stdio",
          "command": "uv",
          "args": [
            "--directory",
            "path to mcp-server folder",
            "run",
            "server.py"
          ],
          "env": {
            "KURRENTDB_CONNECTION_STRING": "insert kurrentdb connection here"
          }
        }
      }
    }
    
  4. Save and Restart: Save and relaunch Claude Desktop.
  5. Verify: Ensure KurrentDB MCP appears in the Claude interface.

Cursor

  1. Prerequisites: Python and KurrentDB set up as above.
  2. Locate Configuration: Edit .cursor/mcp.json.
  3. Add KurrentDB MCP Server:
    {
      "mcpServers": {
        "kurrentdb": {
          "command": "python",
          "args": ["path to mcp-server folder\\server.py"],
          "env": {
            "KURRENTDB_CONNECTION_STRING": "insert kurrentdb connection here"
          }
        }
      }
    }
    
  4. Save and Restart: Apply changes and restart Cursor.
  5. Verify: Confirm MCP server is running and accessible.

Cline

No explicit instructions provided in the repository for Cline setup.

Securing API Keys

Use environment variables in your configuration:

"env": {
  "KURRENTDB_CONNECTION_STRING": "insert kurrentdb connection here"
}

This keeps credentials secure and out of version control.

How to use this MCP inside flows

Using MCP in FlowHunt

To integrate MCP servers into your FlowHunt workflow, start by adding the MCP component to your flow and connecting it to your AI agent:

FlowHunt MCP flow

Click on the MCP component to open the configuration panel. In the system MCP configuration section, insert your MCP server details using this JSON format:

{
  "kurrentdb": {
    "transport": "streamable_http",
    "url": "https://yourmcpserver.example/pathtothemcp/url"
  }
}

Once configured, the AI agent is now able to use this MCP as a tool with access to all its functions and capabilities. Remember to change “kurrentdb” to whatever the actual name of your MCP server is and replace the URL with your own MCP server URL.


Overview

SectionAvailabilityDetails/Notes
OverviewClear overview of server purpose and capabilities
List of PromptsPrompt templates for all tools and workflows are provided
List of ResourcesStreams, projections, and their statuses are exposed
List of ToolsEight tools for stream and projection operations
Securing API KeysUses environment variables in config for secure credential handling
Sampling Support (less important in evaluation)Not mentioned in repo

Our opinion

The KurrentDB MCP Server is well-documented and provides a comprehensive set of tools and resources for interacting with streams and projections in KurrentDB. Its configuration instructions are clear for the major platforms, but some advanced MCP features like Roots and Sampling are not mentioned. Overall, this MCP is robust for its intended database use case.

Rating: 8/10

MCP Score

Has a LICENSE✅ (MIT)
Has at least one tool
Number of Forks1
Number of Stars9

Frequently asked questions

What is the KurrentDB MCP Server?

The KurrentDB MCP Server is a middleware component that allows AI assistants and developers to interact programmatically with KurrentDB—a stream-based database. It exposes tools for querying, writing, and projecting event data, streamlining workflows for analytics, debugging, and rapid prototyping.

What tools and operations does the server provide?

It offers tools for reading and writing stream data, listing streams, building and testing projections, and monitoring projection statuses. These operations enable comprehensive event stream management and advanced analytics directly from your development environment.

What are the main use cases for this MCP Server?

Common use cases include event data exploration, event ingestion and logging, rapid projection development, stream metadata discovery, and operational monitoring of data transformations in KurrentDB.

How do I securely provide my KurrentDB connection string?

Always use environment variables in your configuration files to store sensitive credentials like the KURRENTDB_CONNECTION_STRING. This keeps your secrets secure and out of version control.

How do I integrate the KurrentDB MCP Server into a FlowHunt flow?

Add the MCP component to your FlowHunt flow and configure it with your KurrentDB MCP server details. Use the provided JSON format to connect, and your AI agent will gain access to all KurrentDB tools and resources.

Integrate KurrentDB with FlowHunt

Supercharge your AI and data projects by connecting KurrentDB to FlowHunt. Gain instant access to event stream data, projections, and advanced tooling for analytics and rapid development.

Learn more