项目简介
Turso是一个高性能的进程内SQL数据库,与SQLite完全兼容,并以Rust语言编写。除了作为独立的数据库使用外,其命令行工具(CLI)'tursodb'还内置了一个Model Context Protocol (MCP) 服务器模式。这个MCP服务器旨在让AI助手能够以标准化、结构化的方式与Turso数据库进行交互,从而提供上下文信息和执行数据操作。
主要功能点
- 数据库交互工具: Turso MCP服务器将数据库操作封装为一系列可供AI助手调用的“工具”(Tools)。这些工具允许AI助手执行以下操作:
- 数据库管理: 打开新的数据库连接,或获取当前数据库的描述信息。
- Schema探索: 列出数据库中的所有表,并详细描述特定表的结构(列名、类型等)。
- 数据查询: 执行只读的SQL 'SELECT'查询,获取所需数据。
- 数据操作: 插入新数据、更新现有数据或删除数据。
- Schema变更: 执行DDL(数据定义语言)语句,如'CREATE TABLE'、'ALTER TABLE'、'DROP TABLE'等,以修改数据库结构。
- JSON-RPC通信: 服务器通过标准JSON-RPC协议进行通信。它通过标准输入(stdin)接收客户端的请求(如调用工具),并通过标准输出(stdout)返回相应的JSON-RPC响应。
- 会话管理: 服务器负责管理与底层Turso数据库的会话状态,确保客户端请求在正确的上下文中执行。
- 传输协议支持: 目前主要通过stdin/stdout提供服务,便于与各种支持标准I/O的LLM客户端或集成工具进行交互。
安装步骤
- 安装Turso CLI: 在Linux或macOS系统上,您可以通过以下命令安装最新的'turso' CLI:
对于Windows或其他安装方式,请参考Turso官方文档获取详细说明。curl --proto '=https' --tlsv1.2 -LsSf \ https://github.com/tursodatabase/turso/releases/latest/download/turso_cli-installer.sh | sh - 验证安装: 安装完成后,请确保'tursodb'命令已添加到您的系统PATH中,可以通过运行'tursodb --version'来验证。
服务器配置
Turso MCP服务器通过命令行参数启动,MCP客户端需要配置相应的启动命令和参数才能建立连接。以下是一个标准的MCP客户端配置示例,包含了必要的参数说明:
{ "server_name": "my-turso-database-server", "command": "tursodb", "args": ["/path/to/your/database.db", "--mcp"], "comment_database_path": "请将 '/path/to/your/database.db' 替换为您的Turso数据库文件在服务器端(或本地)的实际路径。如果是内存数据库,可以使用 ':memory:'。", "comment_mcp_flag": " '--mcp' 是必需的参数,用于指示 'tursodb' CLI以MCP服务器模式启动,并监听标准输入/输出。", "comment_encoding": "(可选)如果您的MCP客户端支持,可以指定字符编码,例如 'utf-8'。", "comment_protocol_version": "(可选)指定MCP协议版本,例如 '2024-11-05'。" }
基本使用方法
一旦Turso MCP服务器启动,它会通过标准I/O等待JSON-RPC请求。以下是两种常见的使用场景:
-
手动通过命令行发送JSON-RPC请求: 您可以通过管道(pipe)将JSON-RPC请求发送到'tursodb --mcp'命令的标准输入,并从其标准输出获取响应。
- 启动服务器并发送初始化及列出表请求的示例:
上述命令会创建一个名为'my_local_data.db'的数据库(如果不存在),在其中创建'users'表,插入一条数据,然后列出所有表并查询'users'表内容。响应将直接打印到终端。cat << 'EOF' | tursodb my_local_data.db --mcp {"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "manual-client", "version": "1.0"}}} {"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "schema_change", "arguments": {"query": "CREATE TABLE users (id INTEGER, name TEXT)"}}} {"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "insert_data", "arguments": {"query": "INSERT INTO users VALUES (1, 'Alice')"}}} {"jsonrpc": "2.0", "id": 4, "method": "tools/call", "params": {"name": "list_tables", "arguments": {}}} {"jsonrpc": "2.0", "id": 5, "method": "tools/call", "params": {"name": "execute_query", "arguments": {"query": "SELECT * FROM users"}}} EOF
- 启动服务器并发送初始化及列出表请求的示例:
-
与支持MCP的AI助手集成: 如果您使用支持Model Context Protocol的AI助手(例如Anthropic的Claude Code),可以直接通过AI助手的MCP管理命令来添加和配置Turso MCP服务器。
- 以Claude Code为例的配置步骤:
- 添加MCP服务器到Claude Code:
此命令会将一个名为 'my-database' 的MCP服务器添加到Claude Code的配置中,并指定其启动命令。claude mcp add my-database -- tursodb ./path/to/your/database.db --mcp - 重启Claude Code: 通常需要重启AI助手,以使其加载新的MCP服务器配置。
- 通过自然语言与数据库交互: 配置完成后,您即可直接向AI助手提问,例如:
- "Show me all tables in the database." (显示数据库中的所有表。)
- "What's the schema for the users table?" (users表的Schema是什么?)
- "Insert a new user with name 'Bob' and email '[email protected]'." (插入一个新用户,名为'Bob',邮箱为'[email protected]'。) AI助手将利用Turso MCP服务器提供的工具来执行这些操作。
- 添加MCP服务器到Claude Code:
- 以Claude Code为例的配置步骤:
关键词
SQL数据库, AI助手集成, 数据访问, 数据库工具, JSON-RPC服务
信息
分类
数据库与文件