What is A simple MCP server to explore data and prototype projections on KurrentDB.?
This MCP server is designed to make stream data available to the MCP client. It provides a simple interface for querying and retrieving stream data. It can also create, test and debug projections. Access control is done using the KurrentDB connection string provided at configuration time as an environment variable.
Documentation
KurrentDB MCP Server
This is a simple MCP server to help you explore data and prototype projections faster on top of KurrentDB.
Recommended Usage
Claude Desktop
Sequential Thinking MCP for complex tasks
Installation# KurrentDB Setup
You need to enable --run-projections=all and --start-standard-projections on KurrentDB
The $streams stream is used to look for available streams.
This configuration file should work in Cursor (.cursor\mcp.json) and Windsurf (.codeium\windsurf\mcp_config.json).
Overview
This MCP server is designed to make stream data available to the MCP client.
It provides a simple interface for querying and retrieving stream data.
It can also create, test and debug projections.
Access control is done using the KurrentDB connection string provided at configuration time as an environment variable.
Components# Tools
The servers exposes 8 tool calls:
read_stream
list_streams
build_projection
create_projection
update_projection
test_projection
write_events_to_stream
get_projections_status
Configuration
ConnectionString: This is a KurrentDB connection string which includes user credentials. Depending on the client being used, this can come from environment variable or a JSON Configuration file like in Claude Desktop's case.
Usage Documentation
Available Tools# 1. Stream Operations
read_stream
Reads events from a specific stream in KurrentDB.
Parameters:
stream (required): Stream name to read from
backwards (optional, default: false): Read direction - true for newest first, false for oldest first
limit (optional, default: 10): Number of events to return
Sample Prompts:
"Read the last 5 events from the 'orders' stream"
"Show me the first 20 events from the user-activity stream"
"Get all events from the inventory stream, reading backwards"