ravendb-mcp
v0.0.1
Published
MCP Server for interacting with RavenDB
Downloads
6
Readme
RavenDB MCP Server
A Model Context Protocol (MCP) server that enables AI assistants to interact with RavenDB databases through a standardized interface.
Overview
This MCP server allows AI assistants to perform common RavenDB operations including:
- Connection management
- Database selection
- Collection listing
- Index management
- Document operations (get, store, delete)
- RQL queries
Requirements
- Node.js 16+
- RavenDB 7.x
- Authentication using non-secured mode (no authentication)
Installation
# Install globally
npm install -g ravendb-mcp
# Or run directly with npx
npx ravendb-mcpConfiguration
Server Configuration
Configure the server using environment variables or a .env file:
# Authentication Method (Only non-secured mode is supported)
RAVENDB_AUTH_METHOD=none
# Connection
RAVENDB_URL=http://your-ravendb-server:port
# Optional settings
RAVENDB_QUERY_TIMEOUT=30000 # Query timeout in milliseconds (optional)Cline MCP Configuration
To configure this MCP server for use with Cline AI, add the following to your MCP configuration:
Non-secured Mode Configuration
{
"mcpServers": {
"github.com/johnib/ravendb-mcp": {
"disabled": false,
"timeout": 60,
"command": "npx",
"args": ["-y", "ravendb-mcp"],
"env": {
"RAVENDB_AUTH_METHOD": "none",
"RAVENDB_URL": "http://your-ravendb-server:port"
},
"transportType": "stdio"
}
}
}You can customize the environment variables based on your specific RavenDB setup.
Available Tools
Connection Tools
initialize-connection
Establishes a connection to a RavenDB server.
{
"server_url": "https://your-ravendb-server:port",
"database": "YourDatabase"
}select-database
Switches to a specific database context.
{
"database": "AnotherDatabase"
}Exploration Tools
show-collections
Lists all collections in the current database.
{}show-indexes
Lists all indexes in the current database.
{}Document Operations
get-document
Retrieves a document by ID.
{
"id": "employees/1"
}store-document
Creates or updates a document.
{
"document": {
"name": "John Doe",
"email": "[email protected]",
"department": "Engineering"
},
"id": "employees/1" // Optional, will be generated if not provided
}delete-document
Deletes a document by ID.
{
"id": "employees/1"
}Query Operations
query-documents
Executes RQL queries with results handling.
{
"query": "from Employees where department = 'Engineering'"
}Example Usage
Here's a typical workflow for interacting with the RavenDB MCP server through an AI assistant:
Connect to the database
Use the initialize-connection tool to connect to your RavenDB serverExplore the database structure
Use show-collections to see what collections are availableRetrieve documents
Use get-document to fetch specific documents by IDRun queries
Use query-documents to execute RQL queriesModify data
Use store-document to create or update documents Use delete-document to remove documents
Development
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run dev
# Test with the MCP inspector
npm run inspectorLicense
MIT
