mcp_sqlite/
lib.rs

1/*!
2 * # SQLite MCP服务器库
3 *
4 * 这是一个使用Rust实现的SQLite MCP(Model Context Protocol)服务器库,
5 * 提供通过MCP协议访问SQLite数据库的能力。
6 *
7 * ## 功能
8 *
9 * 服务器提供以下MCP方法:
10 *
11 * - `query`: 执行SQL查询并返回结果
12 * - `execute`: 执行SQL语句
13 * - `executemany`: 使用不同参数多次执行SQL语句
14 * - `executescript`: 执行SQL脚本
15 *
16 * ## 使用方法
17 *
18 * ### 作为库使用
19 *
20 * ```rust
21 * use mcp_sqlite::server::SQLiteRouter;
22 * use mcp_server_fishcode2025::{router::RouterService, ByteTransport, Server};
23 * use tokio::io::{stdin, stdout};
24 *
25 * #[tokio::main]
26 * async fn main() -> anyhow::Result<()> {
27 *     // 创建SQLite路由器
28 *     let router = SQLiteRouter::new(":memory:")?;
29 *     
30 *     // 创建路由服务
31 *     let router_service = RouterService(router);
32 *     
33 *     // 创建服务器
34 *     let server = Server::new(router_service);
35 *     
36 *     // 使用标准输入输出作为传输层
37 *     let transport = ByteTransport::new(stdin(), stdout());
38 *     
39 *     // 运行服务器
40 *     Ok(server.run(transport).await?)
41 * }
42 * ```
43 *
44 * ### 作为可执行文件使用
45 *
46 * ```bash
47 * # 使用内存数据库
48 * ./mcp-sqlite
49 *
50 * # 使用指定的SQLite数据库文件
51 * ./mcp-sqlite --db path/to/database.db
52 * ```
53 *
54 * ## 命令行选项
55 *
56 * - `--db`: SQLite数据库文件路径(默认为内存数据库`:memory:`)
57 * - `--log-level`: 日志级别(默认为`info`)
58 */
59
60// 注释掉这一行,因为它需要nightly版本的Rust
61// #![cfg_attr(docsrs, feature(doc_cfg))]
62
63/// SQLite MCP服务器实现
64pub mod server;
65
66// 重新导出主要类型,方便用户使用
67pub use server::SQLiteRouter;