SkillAgentSearch skills...

Turso

Turso is an in-process SQL database, compatible with SQLite.

Install / Use

/learn @tursodatabase/Turso
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <img src="assets/turso.png" alt="Turso Database" width="800"/> <h1 align="center">Turso Database</h1> </p> <p align="center"> An in-process SQL database, compatible with SQLite. </p> <p align="center"> <a title="Build Status" target="_blank" href="https://github.com/tursodatabase/turso/actions/workflows/rust.yml"><img src="https://img.shields.io/github/actions/workflow/status/tursodatabase/turso/rust.yml?style=flat-square"></a> <a title="Releases" target="_blank" href="https://github.com/tursodatabase/turso/releases"><img src="https://img.shields.io/github/release/tursodatabase/turso?style=flat-square&color=9CF"></a> <a title="Rust" target="_blank" href="https://crates.io/crates/turso"><img alt="Crate" src="https://img.shields.io/crates/v/turso"></a> <a title="JavaScript" target="_blank" href="https://www.npmjs.com/package/@tursodatabase/database"><img alt="NPM" src="https://img.shields.io/npm/v/@tursodatabase/database"></a> <a title="Python" target="_blank" href="https://pypi.org/project/pyturso/"><img alt="PyPI" src="https://img.shields.io/pypi/v/pyturso"></a> <a title="Java" target="_blank" href="https://central.sonatype.com/artifact/tech.turso/turso"><img alt="Maven Central" src="https://img.shields.io/maven-central/v/tech.turso/turso"></a> <a title="MIT" target="_blank" href="https://github.com/tursodatabase/turso/blob/main/LICENSE.md"><img src="http://img.shields.io/badge/license-MIT-orange.svg?style=flat-square"></a> <br> <a title="GitHub Pull Requests" target="_blank" href="https://github.com/tursodatabase/turso/pulls"><img src="https://img.shields.io/github/issues-pr-closed/tursodatabase/turso.svg?style=flat-square&color=FF9966"></a> <a title="GitHub Commits" target="_blank" href="https://github.com/tursodatabase/turso/commits/main"><img src="https://img.shields.io/github/commit-activity/m/tursodatabase/turso.svg?style=flat-square"></a> <a title="Last Commit" target="_blank" href="https://github.com/tursodatabase/turso/commits/main"><img src="https://img.shields.io/github/last-commit/tursodatabase/turso.svg?style=flat-square&color=FF9900"></a> </p> <p align="center"> <a title="Developer's Discord" target="_blank" href="https://discord.gg/jgjmyYgHwB"><img alt="Chat with the Core Developers on Discord" src="https://img.shields.io/discord/1258658826257961020?label=Discord&logo=Discord&style=social&label=Core%20Developers"></a> </p> <p align="center"> <a title="Users's Discord" target="_blank" href="https://tur.so/discord"><img alt="Chat with other users of Turso (and Turso Cloud) on Discord" src="https://img.shields.io/discord/933071162680958986?label=Discord&logo=Discord&style=social&label=Users"></a> </p>

About

Turso Database is an in-process SQL database written in Rust, compatible with SQLite.

⚠️ Warning: This software is in BETA. It may still contain bugs and unexpected behavior. Use caution with production data and ensure you have backups.

Features and Roadmap

  • SQLite compatibility for SQL dialect, file formats, and the C API [see document for details]
  • Change data capture (CDC) for real-time tracking of database changes.
  • Multi-language support for
  • Asynchronous I/O support on Linux with io_uring
  • Cross-platform support for Linux, macOS, Windows and browsers (through WebAssembly)
  • Vector support support including exact search and vector manipulation
  • Improved schema management including extended ALTER support and faster schema changes.

The database has the following experimental features:

  • BEGIN CONCURRENT for improved write throughput using multi-version concurrency control (MVCC).
  • Encryption at rest for protecting the data locally.
  • Incremental computation using DBSP for incremental view maintenance and query subscriptions.
  • Full-Text-Search powered by the awesome tantivy library

The following features are on our current roadmap:

Getting Started

Please see the Turso Database Manual for more information.

<details> <summary>💻 Command Line</summary> <br> You can install the latest `turso` release with:
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/tursodatabase/turso/releases/latest/download/turso_cli-installer.sh | sh

Then launch the interactive shell:

$ tursodb

This will start the Turso interactive shell where you can execute SQL statements:

Turso
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database
turso> CREATE TABLE users (id INT, username TEXT);
turso> INSERT INTO users VALUES (1, 'alice');
turso> INSERT INTO users VALUES (2, 'bob');
turso> SELECT * FROM users;
1|alice
2|bob

You can also build and run the latest development version with:

cargo run

If you like docker, we got you covered. Simply run this in the root folder:

make docker-cli-build && \
make docker-cli-run
</details> <details> <summary>🦀 Rust</summary> <br>
cargo add turso

Example usage:

let db = Builder::new_local("sqlite.db").build().await?;
let conn = db.connect()?;

let res = conn.query("SELECT * FROM users", ()).await?;
</details> <details> <summary>✨ JavaScript</summary> <br>
npm i @tursodatabase/database

Example usage:

import { connect } from '@tursodatabase/database';

const db = await connect('sqlite.db');
const stmt = db.prepare('SELECT * FROM users');
const users = stmt.all();
console.log(users);
</details> <details> <summary>🐍 Python</summary> <br>
uv pip install pyturso

Example usage:

import turso

con = turso.connect("sqlite.db")
cur = con.cursor()
res = cur.execute("SELECT * FROM users")
print(res.fetchone())
</details> <details> <summary>🦫 Go</summary> <br>
go get turso.tech/database/tursogo
go install turso.tech/database/tursogo

Example usage:

import (
    "database/sql"
    _ "turso.tech/database/tursogo"
)

conn, _ = sql.Open("turso", "sqlite.db")
defer conn.Close()

stmt, _ := conn.Prepare("select * from users")
defer stmt.Close()

rows, _ = stmt.Query()
for rows.Next() {
    var id int
    var username string
    _ := rows.Scan(&id, &username)
    fmt.Printf("User: ID: %d, Username: %s\n", id, username)
}
</details> <details> <summary>️#️⃣ .NET</summary> <br>

Example usage:

using Turso;

using var connection = new TursoConnection("Data Source=:memory:");
connection.Open();

connection.ExecuteNonQuery("CREATE TABLE t(a, b)");
var rowsAffected = connection.ExecuteNonQuery("INSERT INTO t(a, b) VALUES (1, 2), (3, 4)");
Console.WriteLine($"RowsAffected: {rowsAffected}");

using var command = connection.CreateCommand();
command.CommandText = "SELECT * FROM t";
using var reader = command.ExecuteReader();
while (reader.Read())
{
    var a = reader.GetInt32(0);
    var b = reader.GetInt32(1);
    Console.WriteLine($"Value1: {a}, Value2: {b}");
}
</details> <details> <summary>☕️ Java</summary> <br>

We integrated Turso Database into JDBC. For detailed instructions on how to use Turso Database with java, please refer to the README.md under bindings/java.

</details> <details> <summary>🤖 MCP Server Mode</summary> <br>

The Turso CLI includes a built-in Model Context Protocol (MCP) server that allows AI assistants to interact with your databases.

Start the MCP server with:

tursodb your_database.db --mcp

Configuration

Add Turso to your MCP client configuration:

{
  "mcpServers": {
    "turso": {
      "command": "/path/to/.turso/tursodb",
      "args": ["/path/to/your/database.db", "--mcp"]
    }
  }
}

Available Tools

The MCP server provides nine tools for database interaction:

  1. open_database - Open a new database
  2. current_database - Describe the current database
  3. list_tables - List all tables in the database
  4. describe_table - Describe the structure of a specific table
  5. execute_query - Execute read-only SELECT queries
  6. insert_data - Insert new data into tables
  7. update_data - Update existing data in tables
  8. delete_data - Delete data from tables
  9. schema_change - Execute schema modification statements (CREATE TABLE, ALTER TABLE, DROP TABLE)

Once connected, you can ask your AI assistant:

  • "Show me all tables in the database"
  • "What's the schema for the users table?"
  • "Find all posts with more than 100 upvotes"
  • "Insert a new user with name 'Alice' and email 'alice@example.com'"

MCP Clients

<details> <summary>Claude Code</summary>

If you're using Claude Code, you can easily connect to your Turso MCP server using the built-in MCP management commands:

Quick Setup

  1. Add the MCP server to Claude Code:

    claude mcp add my-database -- tursodb ./path/to/your/database.db --mcp
    
  2. Restart Claude Code to activate the connection

  3. Start querying your database through natural language!

Command Breakdown

claude mcp add my-database -- tursodb ./path/to/your/database.db --mcp
#              ↑            ↑       ↑                           ↑
#              |            |       |                           |
#              Name         |       Database path               MCP flag
#                          Separator
  • my-database - Choose any name for your MCP server
  • -- - Required separator between Claude option

Related Skills

View on GitHub
GitHub Stars18.1k
CategoryData
Updated1m ago
Forks817

Languages

Rust

Security Score

100/100

Audited on Apr 1, 2026

No findings