问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

配置MCP server连接本地SQLite和文件系统

创作时间:
作者:
@小白创作中心

配置MCP server连接本地SQLite和文件系统

引用
CSDN
1.
https://m.blog.csdn.net/davenian/article/details/144164804

MCP(Model Context Protocol)是一种将人工智能助手与数据存储系统连接的新标准,能够帮助前沿模型生成更好、更相关的响应。本文将详细介绍MCP的概念、工作原理以及在Windows 11系统上配置MCP server的具体步骤,包括连接本地SQLite数据库和访问文件系统。

什么是 MCP

MCP(Model Context Protocol)是Claude开源的模型关联(上下文)协议,其目的是帮助前沿模型生成更好、更相关的响应。MCP提供了一种通用的开放标准,用于将AI系统与数据源连接,取代了分散的集成,使用单一协议。它使开发者能够在他们的数据源和人工智能工具之间建立安全的双向连接。

MCP主要有三个组成部分:

  • MCP规范和SDK
  • 本地的MCP服务器支持在Claude Desktop App中使用
  • 一个开源的MCP服务器库

MCP如何工作

MCP实现AI应用程序与本地或远程资源之间的安全的、受控的对话。其核心遵循客户端-服务器架构,其中主机应用程序可以连接到多个服务器。

名词解释

  • MCP Hosts:程序如Claude Desktop、IDE或者AI工具,希望通过MCP访问资源
  • MCP Clients:保持着与服务器1对1的连接的协议客户端
  • MCP Servers:通过标准化的MCP协议展露特定功能的每个轻量级程序
  • Local Resources:MCP servers能访问的你的计算机上的资源,如:数据库,文档,应用/系统服务
  • Remote Resources:MCP Servers能通过互联网连接到的可用资源,如:APIs

实践1:使用SQLite

环境准备

需要安装Claude Desktop App、uv(Python包管理器和虚拟环境工具)、SQLite(轻量级的关系型数据库管理系统)和Git(版本控制系统)。以下是使用winget进行安装的命令:

winget install --id=astral-sh.uv -e
winget install git.git sqlite.sqlite

创建样本数据库

创建一个名为create_db.ps1的PowerShell脚本文件,内容如下:

# Create a new SQLite database
$sql = @'
CREATE TABLE products (
  id INTEGER PRIMARY KEY,
  name TEXT,
  price REAL
);
INSERT INTO products (name, price) VALUES
  ('Widget', 19.99),
  ('Gadget', 29.99),
  ('Gizmo', 39.99),
  ('Smart Watch', 199.99),
  ('Wireless Earbuds', 89.99),
  ('Portable Charger', 24.99),
  ('Bluetooth Speaker', 79.99),
  ('Phone Stand', 15.99),
  ('Laptop Sleeve', 34.99),
  ('Mini Drone', 299.99),
  ('LED Desk Lamp', 45.99),
  ('Keyboard', 129.99),
  ('Mouse Pad', 12.99),
  ('USB Hub', 49.99),
  ('Webcam', 69.99),
  ('Screen Protector', 9.99),
  ('Travel Adapter', 27.99),
  ('Gaming Headset', 159.99),
  ('Fitness Tracker', 119.99),
  ('Portable SSD', 179.99);
'@
cd ~
& sqlite3 test.db $sql

运行该脚本创建一个包含20条记录的test.db数据库。

配置Claude Desktop

编辑%APPDATA%\Claude\claude_desktop_config.json配置文件,添加以下内容:

{
  "mcpServers": {
    "sqlite": {
      "command": "uvx",
      "args": [
        "mcp-server-sqlite",
        "--db-path",
        "Z:\\practice\\test.db"
      ]
    }
  }
}

重启Claude Desktop应用,使其连接到新创建的SQLite数据库。

验证

在Claude Desktop中输入以下Prompt:

Can you connect to my SQLite database and tell me what products are available, and their prices?

执行时,会有一个CMD窗口来运行uvx mcp-server-sqlite --db-path连接数据库,不要关闭!还会遇到授权:

C:\Users\dave>sqlite3
SQLite version 3.47.0 2024-10-21 16:30:22
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .open test.db
sqlite> .schema table_name
sqlite> SELECT * FROM sqlite_master WHERE type='table';
table|products|products|2|CREATE TABLE products (
  id INTEGER PRIMARY KEY,
  name TEXT,
  price REAL
)
table|orders|orders|3|CREATE TABLE orders (
    order_id INTEGER PRIMARY KEY,
    customer_name TEXT NOT NULL,
    customer_email TEXT,
    product_id INTEGER,
    quantity INTEGER NOT NULL DEFAULT 1,
    order_date DATETIME DEFAULT CURRENT_TIMESTAMP,
    total_amount REAL NOT NULL,
    status TEXT DEFAULT 'pending',
    shipping_address TEXT,
    FOREIGN KEY (product_id) REFERENCES products(id)
)
sqlite>

实践2:访问文件系统

环境准备

需要安装Node.js和uv工具。在电脑上运行JavaScript代码需要Node.js,npx需要uv工具。

配置Claude Desktop

编辑claude_desktop_config.json文件,添加以下内容:

"filesystem": {
  "command": "npx",
  "args": ["/c", "@modelcontextprotocol/server-filesystem", "/Users/YOUR_USERNAME/claude-server"]
}

配置文件

需要准备三个文件:index.tspackage.jsontsconfig.json。这些文件可以从GitHub上下载,并放置在需要Claude AI访问的目录中。

在目标目录中运行以下命令安装Node.js依赖库:

cd C:\Users\dave\claude-server
npm install

验证

重启Claude Desktop应用,如果在对话框中有“小锤子”图标,说明配置成功。可以使用以下Prompt测试:

create a text file that name is greeting with content "hello word!" in my folder

Claude Desktop应用将利用Node.js在计算机上创建一个文本文件,内容为“Hello Word!”。

实践3:网络文件系统(Windows映射网络驱动器)

环境准备

与实践2相同,需要安装Node.js和uv工具。

配置Claude Desktop

编辑claude_desktop_config.json文件,配置网络驱动器映射:

{
    "mcpServers": {
        "filesystem": {
            "command": "npx",
            "args": [ 
                "-y", 
                "@modelcontextprotocol/server-filesystem", 
                "\\\\davens\\Multimedia\\2024-MyProgramFiles"
            ]
        }
    }
}

配置文件

index.tspackage.jsontsconfig.json三个文件复制到目标目录Z:\2024-MyProgramFiles下。

验证

使用以下Prompt测试:

list local file

这将列出目标目录下的所有文件。

总结

本文详细介绍了MCP的概念、工作原理以及在Windows 11系统上配置MCP server的具体步骤。通过实践操作,读者可以掌握如何使用MCP连接本地SQLite数据库和访问文件系统。需要注意的是,Claude Desktop的MCP支持目前仅限于本地服务器连接,远程连接尚未支持。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号