create_database
✓ SAFE: Create a new database in your Turso organization. Database name must be unique.
Create a Turso database, mint a token for it, and query it — with reads on a tool that rejects write operations and writes on a separate one marked destructive.
LABSCO SUMMARY
Reading is its own entry point: execute_read_only_query accepts SELECT, PRAGMA and EXPLAIN and rejects write operations outright, so an agent that should only read can be handed that tool and cannot get past it by phrasing the SQL differently. The genuinely destructive paths — execute_query and delete_database — are labelled as such in their own descriptions and ask the caller to confirm first, which is a convention in the text rather than a lock. The token you configure is organization-wide, so what the server can reach is decided when you set it, not per call.
A two-level Turso Cloud server: organization tools that create, list and delete databases and mint tokens for them, and database tools that read schema, run SQL and search vectors.
A Turso account with an API token in TURSO_API_TOKEN, plus TURSO_ORGANIZATION and TURSO_DEFAULT_DATABASE so calls that omit a database still have one to run against.
One command plus a key — npx -y mcp-turso-cloud, then supply credentials
USE CASES
Create the database in the right group and regions, mint a token scoped to it, and confirm it appears in the organization before pointing anything at it.
See which tables exist, read the columns of the one you need, then run the SELECT through the tool that refuses anything that would write.
Point the search at the table and the column holding the vectors, pass the query vector, and cap how many neighbours come back.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
create_database✓ SAFE: Create a new database in your Turso organization. Database name must be unique.
delete_database⚠️ DESTRUCTIVE: Permanently deletes a database and ALL its data. Cannot be undone. Always confirm with user before proceeding and verify correct database name.
describe_tableGets schema information for a table
execute_query⚠️ DESTRUCTIVE: Execute SQL that can modify/delete data (INSERT, UPDATE, DELETE, DROP, ALTER). Always confirm with user before destructive operations.
execute_read_only_query✓ SAFE: Execute read-only SQL queries (SELECT, PRAGMA, EXPLAIN). Automatically rejects write operations.
generate_database_tokenGenerate a new token for a specific database
list_databasesList all databases in your Turso organization
list_tablesLists all tables in a database
vector_searchPerforms vector similarity search
BEFORE YOU INSTALL
9 tools when we connected. execute_read_only_query accepts SELECT and PRAGMA; execute_query runs INSERT, UPDATE, DELETE, CREATE and DROP, and is meant to require explicit approval in your client.
CONTEXT COST
Rated by the size of the 9 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y mcp-turso-cloud{
"mcpServers": {
"mcp-turso-cloud": {
"command": "npx",
"args": [
"-y",
"mcp-turso-cloud"
],
"env": {
"TURSO_API_TOKEN": "<YOUR_TURSO_API_TOKEN>",
"TURSO_ORGANIZATION": "<YOUR_TURSO_ORGANIZATION>",
"TURSO_DEFAULT_DATABASE": "optional-default-database"
}
}
}
}Inside WSL, clone the repository, install its dependencies and build it:
git clone https://github.com/spences10/mcp-turso-cloud
cd mcp-turso-cloud && npm install && npm run buildThen add this to your Claude Desktop configuration; <YOUR_PATH_TO_MCP_TURSO_CLOUD> is the path of that clone inside WSL:
{
"mcpServers": {
"mcp-turso-cloud": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"TURSO_API_TOKEN=<YOUR_TURSO_API_TOKEN> TURSO_ORGANIZATION=<YOUR_TURSO_ORGANIZATION> node <YOUR_PATH_TO_MCP_TURSO_CLOUD>/dist/index.js"
]
}
}
}