SurrealDB MCP. Control your data layer from natural conversation.
SurrealDB connects your AI agent directly to a multi-model database instance, letting you manage complex data operations using natural language conversation. Execute raw SurrealQL queries, create new records, update existing tables, and move data in or out of the system without ever leaving your chat interface.
Give Claude and any AI agent real-world access
Run complex, raw SurrealQL statements to pull specific data or run custom logic against the database.
Create new records with a random ID, update specific entries using update_record, or delete individual records when they are retired.
Modify all records in a table at once, or clear out an entire table entirely by selecting or deleting all data.
Check the current operational status of your instance using get_status and verify its overall stability with get_health.
Move information in or out of your database by importing raw SQL queries or exporting structured datasets.
Ask an AI about this
Waiting for input…
What AI agents can do with SurrealDB: 15 Database Operation Tools
These tools let you perform every common database action—from reading single records to importing entire SQL dumps—all through your AI agent.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using SurrealDB MCPCreate Specific Record
Builds and inserts one new, defined record into a target table.
Delete All
Wipes every single record out of an entire specified table.
Delete Record
Removes one specific, targeted record from a table.
Export Data
Export data
Get Health
Checks the current health and operational status of your SurrealDB instance.
Import Sql
Ingests external data by running raw SurrealQL statements into the database.
Modify All
Overwrites or updates every single record in a table using merge operations.
Modify Record
Updates one specific, targeted record with new data via merge operations.
Select All
Retrieves every single record that exists in an entire specified table.
Select Record
Retrieves the details of a single, specified record by its unique ID.
Create Record
Inserts a new record into a table and assigns it a randomly generated ID.
Execute Sql
Runs arbitrary SurrealQL statements, allowing variables to be passed in via URL parameters.
Get Status
Checks the web server status and operational uptime of your SurrealDB instance.
Update All
Applies updates to every single record in a table, overwriting existing data.
Update Record
Updates one specific, targeted record with new information.
Get Version
Returns the exact version number of the SurrealDB software currently running on the...
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on each call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with SurrealDB, then connect any of our 5,200+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,200+ others, all in one place
- Add new capabilities to your AI anytime you want
- Connections are secured and governed automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog weekly
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by SurrealDB. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS CLOUD
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on each call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
The Friction of Data Context Switching
Right now, doing anything non-trivial with your database is a multi-step ritual. You open your IDE, you switch tabs to the DB GUI, you write raw SQL into a separate query window, and then copy/paste results back into your main code file just to verify something. It's slow, it's tedious, and half the time you get distracted before you finish.
With this MCP connected via Vinkius, that workflow vanishes. You tell your agent what needs changing—whether it’s running `select_all` or using `create_record`. The entire cycle happens within one conversation window. It's immediate action, not staged process.
SurrealDB MCP: Data Management in Conversation
The manual steps of verifying table names, remembering the correct SQL syntax for updates, or running separate scripts just to check health are gone. Your agent handles the mechanics of `get_health`, `update_record`, and complex queries through `execute_sql` automatically.
You stop thinking about database commands and start focusing on outcomes. The data is simply available when you need it.
What SurrealDB MCP does for your AI
You can connect your private SurrealDB instance right into your AI client. Instead of writing boilerplate code or opening a separate database console, you talk to your agent about what you need done with your data—and it does it. Need to check if a record exists? Ask the agent. Want to pull every user ID from the 'users' table? Just prompt it.
The MCP allows your AI client to run raw SurrealQL statements and handle all the tedious mechanics of database interaction, like creating records or exporting full datasets. If you access this via Vinkius, you get immediate control over a multi-model data layer right where you work. You manage everything from schema inspection using get_health to moving entire databases with tools like import_sql and export_data.
It's about treating your database not as an isolated system, but as another service available in conversation.
019e38f6-6c6b-712f-9baf-7ee14f53045c How to set up SurrealDB MCP
The bottom line is that you talk to your AI client like it’s an extension of your terminal, giving it direct data access.
First, subscribe to this MCP on Vinkius and provide the necessary SurrealDB URL along with your credentials (namespace, database name, and authentication key).
Next, connect your preferred AI client—like Cursor or Claude—to the configured endpoint. Your agent now recognizes the full set of available data tools.
Finally, simply ask your agent to perform a task, such as 'Select all users who haven't logged in this month.' The MCP executes the necessary database calls and returns the structured results.
Who uses SurrealDB MCP
This MCP is for developers and engineers who hate switching context. If you find yourself jumping between a coding environment, a database GUI, and a query console just to verify data, this tool saves you time. It lets you keep your entire workflow inside one chat window.
You use it to rapidly test complex queries or inspect the current database state without ever leaving your IDE's terminal.
You manage schema changes and perform quick data migrations, like importing raw SQL into a testing environment.
You query live business metrics directly from the database using natural language prompts instead of waiting for an analyst to run a report.
Benefits of connecting SurrealDB MCP
You stop switching between tabs. Instead of opening a separate database console to test logic, you can execute raw SurrealQL statements using execute_sql directly within the chat interface.
Data maintenance is faster than manual clicks. Need to clean up old entries? Use delete_all or modify_record to manage records without writing complex scripts outside your environment.
Migration and auditing are simplified. If you need to move data, use import_sql to load queries or grab a full dataset using export_data, all prompted naturally.
You get immediate visibility into the system. Use get_status and get_health to confirm your instance is up and running before starting any critical tasks.
The process of getting data out is straightforward. You can select everything in a table with select_all, or just pull one specific piece using select_record, then pass that result on.
SurrealDB MCP use cases
Verifying database schema changes
A data engineer needs to confirm if a new table structure is compatible with old scripts. Instead of running multiple manual checks, they prompt their agent to run execute_sql for various queries and check the system's response.
Cleaning up test environments
A backend developer finishes a feature branch and needs to wipe all generated user data. They simply ask the agent to use delete_all on the 'test_users' table, confirming cleanup without running SQL in a separate terminal.
Ad-hoc reporting for PMs
A product manager needs to see all posts from last quarter. They ask their agent to select_all records from the 'posts' table, getting an immediate list of IDs and metadata without involving the BI team.
Onboarding new data sources
A data scientist has a CSV dump that needs to populate a live database. They use import_sql through their agent, feeding the raw queries directly into the MCP for immediate ingestion.
SurrealDB MCP tradeoffs
What to watch out for, and the recommended way to handle each one.
Treating the AI like a search engine
Asking 'How do I modify user records?' and getting only documentation links. The agent won't guess what you want.
Be specific: 'Use update_record to change the email of user:123 to new@email.com.' Use the action name, not a question.
Running complex logic manually
Having to write and execute five different raw SQL queries in separate tabs just to compare data across tables.
Group them into one prompt: 'Run an execute_sql query that joins users and orders where the status is pending.' The MCP handles the full logic flow.
Forgetting data scope
Trying to delete all records but accidentally deleting a production table because you didn't specify the target table.
Always confirm the action. For mass deletion, use delete_all and explicitly name the table before prompting.
When to use SurrealDB MCP
Use this MCP if your core pain point is context switching. If you are a developer or data professional who needs to execute database commands (queries, CRUD operations, schema checks) but hates opening separate terminals or GUIs, this is for you. The ability to talk to the database via natural language and get immediate action is the value here. Don't use this if all you need to do is read public data—you might be better off with a simple read-only API connector. Also, don't use it if your primary goal is running complex machine learning pipelines; for those, a dedicated vector store or specialized agent framework will work better than pure SQL execution.
Frequently asked questions about SurrealDB MCP
How do I run a query using SurrealDB MCP? +
You use the execute_sql tool by prompting your agent with the specific SurrealQL statement. The system executes it against your live database instance and returns structured results.
Can I delete all data from a table using SurrealDB MCP? +
Yes, you can use the delete_all tool to wipe every record in an entire table. Be careful with this action; it's irreversible.
What is the difference between create_record and execute_sql? +
create_record generates a new record with a random ID for simple inserts. execute_sql lets you run any complex, raw SurrealQL statement, giving you full control over the query logic.
Does this MCP handle data migration? +
Yes, it handles migration using tools like import_sql, which allows you to feed external SQL queries into your instance for ingestion.
What if I only need one specific record? Should I use select_record or execute_sql? +
If you know the exact ID, use select_record. If you need to filter records using complex criteria (like 'all active users'), it's better to wrap that logic in an execute_sql query.