Surreal Mcp
@lfnovo
MCP server for SurrealDB database
Overview
What is Surreal Mcp?
Surreal Mcp is a Model Context Protocol server that enables AI assistants to interact with SurrealDB databases by providing a standardized interface for executing SurrealQL queries, performing CRUD operations, managing graph relationships, and handling bulk operations.
How to use Surreal Mcp?
Install and run via uvx surreal-mcp (no installation needed) or using uv/pip after cloning the repository. Configure required environment variables (SURREAL_URL, SURREAL_USER, SURREAL_PASSWORD) and optionally set a default namespace and database. Add the server to your MCP client configuration (e.g., Claude Desktop) with the appropriate command and environment variables.
Key features of Surreal Mcp
- Full SurrealQL query execution
- Comprehensive CRUD create, read, update, delete operations
- Graph database relationship creation and traversal
- Bulk multi-record inserts
- Smart updates: full replace, merge, and JSON Patch
- Type-safe handling of SurrealDB RecordIDs
- Connection pooling for efficient database management
- Multi-database support via namespace/database override per tool call
Use cases of Surreal Mcp
- Let an AI assistant query and update user records based on natural language requests.
- Build and traverse graph relationships (e.g., "user purchased product") with simple tool calls.
- Perform complex SurrealQL queries that the AI formulates from a description.
- Run bulk inserts or updates across multiple records in one operation.
- Manage data in separate namespaces/databases from a single session.
FAQ from Surreal Mcp
What prerequisites are needed to run Surreal Mcp?
Python 3.10 or higher, a running SurrealDB instance (local or remote), and an MCP-compatible client (e.g., Claude Desktop, MCP CLI).
How do I configure database connection settings?
Set environment variables SURREAL_URL, SURREAL_USER, and SURREAL_PASSWORD (required) plus optional SURREAL_NAMESPACE and SURREAL_DATABASE. These can be overridden per tool call by passing namespace and database parameters.
What tools does Surreal Mcp provide?
It provides ten tools: query, select, create, update, delete, merge, patch, upsert, insert, and relate, each documented with example usage.
Can I work with multiple databases in one session?
Yes. By providing namespace and database parameters in individual tool calls, you can operate on different databases without needing multiple server instances.
How is connection management handled?
The server uses connection pooling (with SurrealDB Python SDK) and async/await for non-blocking database operations, with a pooled connection for the default environment and separate connections for overrides.