编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

模型上下文协议(MCP)快速入门教程

wxchong 2024-12-28 16:08:15 开源技术 41 ℃ 0 评论

一、MCP 概述

MCP(Model Context Protocol)是一种开放协议,可实现主机应用程序(如 Claude Desktop)与本地或远程资源的安全、可控交互。它遵循客户端 - 服务器架构,能让 AI 应用在安全框架下访问和处理数据资源。

二、准备工作

(一)系统及软件要求

  1. 操作系统为 macOS 或 Windows。
  2. 安装最新版 Claude Desktop。
  3. 确保 uv 版本 0.4.18 及以上(可在终端输入 uv --version 检查)。
  4. 安装 Git(在终端输入 git --version 检查)和 SQLite(输入 sqlite3 --version 检查)。

(二)安装必备工具(以 Windows 为例)

使用 winget 安装:

  • winget install --id=astral-sh.uv -e 安装 uv。
  • winget install git.git sqlite.sqlite 安装 Git 和 SQLite。

或直接从官网下载:

  • uv:https://docs.astral.sh/uv/
  • Git:https://git-scm.com
  • SQLite:https://www.sqlite.org/download.html

三、数据库设置与应用配置

(一)创建测试数据库

  1. 确定数据库文件位置:SQLite 数据库基于文件存储。在创建数据库时,若未指定绝对路径,数据库文件将位于启动 sqlite3 命令时的当前工作目录下。可在命令行(非 SQLite 命令界面)使用 cd 命令查看当前目录路径信息。例如,若在 C:\Users\YourUsername\mydir 目录下启动 sqlite3 并创建数据库,数据库文件将在此目录。若要指定绝对路径创建,如 sqlite3 C:\Data\test.db,则数据库文件会创建在 C:\Data 目录下。
  2. 创建数据库及表并插入数据:在终端运行以下命令创建名为 test.db 的 SQLite 数据库及测试表并插入数据:
sqlite3 ~/test.db <<EOF
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);
EOF

(二)配置 Claude Desktop

  1. 用文本编辑器打开 %AppData%\Claude\claude_desktop_config.json。
  2. 添加如下配置(将 YOUR_USERNAME 替换为实际用户名):
{
  "mcpServers": {
    "sqlite": {
      "command": "uvx",
      "args": ["mcp-server-sqlite", "--db-path", "C:/Users/YOUR_USERNAME/test.db"]
    }
  }
}

此配置告知 Claude Desktop 存在名为 “sqlite” 的 MCP 服务器,通过 uvx mcp-server-sqlite 启动并连接到测试数据库。

四、安装特定包及处理连接问题(针对国内环境)

在国内安装 mcp-server-sqlite 包时可能会出现连接问题,可手动输入以下命令使用清华大学镜像源进行安装:

pip install mcp-server-sqlite -i https://pypi.tuna.tsinghua.edu.cn/simple

保存配置文件后重启 Claude Desktop。

五、测试与应用

(一)测试连接

向 Claude Desktop 发送 "你能连接到我的SQLite数据库并告诉我有哪些产品可用,以及它们的价格吗?" 提问,若成功,Claude Desktop 将连接 SQLite MCP 服务器,查询本地数据库并展示产品及价格信息。

(二)进阶应用

  1. 基本查询:如查询数据库中所有产品的平均价格,提问 What's the average price of all products in the database?。
  2. 数据分析:分析价格分布并优化定价,提问 Can you analyze the price distribution and suggest any pricing optimizations?。
  3. 复杂操作:设计创建存储客户订单的新表,提问 Could you help me design and create a new table for storing customer orders?。

(三)拓展功能

若要为 Claude Desktop 增加本地集成能力,可添加如下服务器配置(需先安装 Node.js):

  • 文件系统访问:允许读取分析文件,配置如下:
"filesystem": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "C:/Users/YOUR_USERNAME/Desktop"]
}
  • PostgreSQL 连接:连接 PostgreSQL 数据库,配置如下:
"postgres": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
}


六、故障排查

(一)Claude Desktop 无响应

  1. 检查 MCP 是否启用:点击 Claude Desktop 聊天框旁的 图标,展开 “Installed MCP Servers” 查看配置的服务器。
  2. 验证配置:在 Claude Desktop 中进入 Claude > Settings…,打开 “Developer” 选项卡查看配置,确保无误后重启应用。

(二)MCP 或数据库错误

  1. 查看 Claude Desktop 日志:在终端输入 tail -n 20 -f %AppData%\Claude\logs\mcp*.log。
  2. 验证数据库访问:在终端输入 sqlite3 C:/Users/YOUR_USERNAME/test.db ".tables" 测试连接。

常见修复方法:检查配置文件路径、数据库文件权限及 SQLite 安装情况。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表