🗂️ A Model Context Protocol (MCP) server that provides integration with Turso databases for LLMs. This server implements a two-level authentication system to handle both organization-level and database-level operations, making it easy to manage and query Turso databases directly from LLMs.
The server implements a sophisticated authentication system:
This server requires configuration through your MCP client. Here are examples for different environments:
Add this to your Cline/Claude Desktop MCP settings:
{
"mcpServers": {
"mcp-turso-cloud": {
"command": "npx",
"args": ["-y", "mcp-turso-cloud"],
"env": {
"TURSO_API_TOKEN": "your-turso-api-token",
"TURSO_ORGANIZATION": "your-organization-name",
"TURSO_DEFAULT_DATABASE": "optional-default-database"
}
}
}
}
For WSL environments, add this to your Claude Desktop configuration:
{
"mcpServers": {
"mcp-turso-cloud": {
"command": "wsl.exe",
"args": [\
"bash",\
"-c",\
"TURSO_API_TOKEN=your-token TURSO_ORGANIZATION=your-org node /path/to/mcp-turso-cloud/dist/index.js"\
]
}
}
}
The server requires the following environment variables:
TURSO_API_TOKEN
: Your Turso Platform API token (required)TURSO_ORGANIZATION
: Your Turso organization name (required)TURSO_DEFAULT_DATABASE
: Default database to use when none is specified (optional)TOKEN_EXPIRATION
: Expiration time for generated database tokens (optional, default: '7d')TOKEN_PERMISSION
: Permission level for generated tokens (optional, default: 'full-access')The server implements MCP Tools organized by category:
Lists all databases in your Turso organization.
Parameters: None
Example response:
{
"databases": [\
{\
"name": "customer_db",\
"id": "abc123",\
"region": "us-east",\
"created_at": "2023-01-15T12:00:00Z"\
},\
{\
"name": "product_db",\
"id": "def456",\
"region": "eu-west",\
"created_at": "2023-02-20T15:30:00Z"\
}\
]
}
Creates a new database in your organization.
Parameters:
name
(string, required): Name for the new databasegroup
(string, optional): Group to assign the database toregions
(string[], optional): Regions to deploy the database toExample:
{
"name": "analytics_db",
"group": "production",
"regions": ["us-east", "eu-west"]
}
Deletes a database from your organization.
Parameters:
name
(string, required): Name of the database to deleteExample:
{
"name": "test_db"
}
Generates a new token for a specific database.
Parameters:
database
(string, required): Database nameexpiration
(string, optional): Token expiration timepermission
(string, optional): Permission level ('full-access' or 'read-only')Example:
{
"database": "customer_db",
"expiration": "30d",
"permission": "read-only"
}
Lists all tables in a database.
Parameters:
database
(string, optional): Database name (uses context if not provided)Example:
{
"database": "customer_db"
}
Executes a SQL query against a database.
Parameters:
query
(string, required): SQL query to executeparams
(object, optional): Query parametersdatabase
(string, optional): Database name (uses context if not provided)Example:
{
"query": "SELECT * FROM users WHERE age > ?",
"params": { "1": 21 },
"database": "customer_db"
}
Gets schema information for a table.
Parameters:
table
(string, required): Table namedatabase
(string, optional): Database name (uses context if not provided)Example:
{
"table": "users",
"database": "customer_db"
}
Performs vector similarity search using SQLite vector extensions.
Parameters:
table
(string, required): Table namevector_column
(string, required): Column containing vectorsquery_vector
(number[], required): Query vector for similarity searchlimit
(number, optional): Maximum number of results (default: 10)database
(string, optional): Database name (uses context if not provided)Example:
{
"table": "embeddings",
"vector_column": "embedding",
"query_vector": [0.1, 0.2, 0.3, 0.4],
"limit": 5,
"database": "vector_db"
}
npm install
npm run build
npm run dev
npm run build
npm publish
If you encounter authentication errors:
If you have trouble connecting to databases:
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see the LICENSE file for details.
Built on: