Files
turso/cli/Cargo.toml
Glauber Costa 32532b4feb Add a native MCP server
The SQLite command line has facilities to ingest things like csv, and
other formats. But here we are, in 2025, and I asked Claude if Turso's
CLI should, in the same vein, have a native MCP server.

Claude told me: "You're absolutely right!" "That's a great insight!"
"That's a fantastic idea!" and then proceeded to help me with the
boilerplate for this beautiful server.

Rust has a crate, mcp_server, that implements an mcp_server trait.
However, that depends on Tokio, and I think that would bloat our binary
too much.

I have also considered implementing an MCP server that operates on a
directory and allows to list many SQLite files, but figured that would
be a good job for a more advanced and specialized server, not for the
one that comes by default with the CLI. Let's go for simple.
2025-07-17 15:05:29 -05:00

56 lines
1.8 KiB
TOML

# Copyright 2023 the Limbo authors. All rights reserved. MIT license.
[package]
authors.workspace = true
default-run = "tursodb"
description = "The Turso interactive SQL shell"
edition.workspace = true
license.workspace = true
name = "turso_cli"
repository.workspace = true
version.workspace = true
[package.metadata.dist]
dist = true
[[bin]]
name = "tursodb"
path = "main.rs"
[dependencies]
anyhow.workspace = true
cfg-if = "1.0.0"
clap = { version = "4.5.31", features = ["derive"] }
clap_complete = { version = "=4.5.47", features = ["unstable-dynamic"] }
comfy-table = "7.1.4"
csv = "1.3.1"
ctrlc = "3.4.4"
dirs = "5.0.1"
env_logger = "0.10.1"
libc = "0.2.172"
turso_core = { path = "../core", default-features = true, features = [] }
limbo_completion = { path = "../extensions/completion", features = ["static"] }
miette = { version = "7.4.0", features = ["fancy"] }
nu-ansi-term = {version = "0.50.1", features = ["serde", "derive_serde_style"]}
rustyline = { version = "15.0.0", default-features = true, features = [
"derive",
] }
shlex = "1.3.0"
syntect = { git = "https://github.com/trishume/syntect.git", rev = "64644ffe064457265cbcee12a0c1baf9485ba6ee" }
tracing = "0.1.41"
tracing-appender = "0.2.3"
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
toml = {version = "0.8.20", features = ["preserve_order"]}
schemars = {version = "0.8.22", features = ["preserve_order"]}
serde = { workspace = true, features = ["derive"]}
validator = {version = "0.20.0", features = ["derive"]}
toml_edit = {version = "0.22.24", features = ["serde"]}
serde_json = "1.0"
[features]
default = ["io_uring"]
io_uring = ["turso_core/io_uring"]
[build-dependencies]
syntect = { git = "https://github.com/trishume/syntect.git", rev = "64644ffe064457265cbcee12a0c1baf9485ba6ee" }