什么是 MCP?
MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。
MCP 架构
MCP 遵循客户端-服务器架构(client-server),其中包含以下几个核心概念:
- MCP 主机(MCP Hosts):发起请求的 LLM 应用程序(例如 Claude Desktop、IDE 或 AI 工具)。
- MCP 客户端(MCP Clients):在主机程序内部,与 MCP server 保持 1:1 的连接。
- MCP 服务器(MCP Servers):为 MCP client 提供上下文、工具和 prompt 信息。
- 本地资源(Local Resources):本地计算机中可供 MCP server 安全访问的资源(例如文件、数据库)。
- 远程资源(Remote Resources):MCP server 可以连接到的远程资源(例如通过 API)。
MCP Client
MCP client 充当 LLM 和 MCP server 之间的桥梁,MCP client 的工作流程如下:
- MCP client 首先从 MCP server 获取可用的工具列表。
- 将用户的查询连同工具描述通过 function calling 一起发送给 LLM。
- LLM 决定是否需要使用工具以及使用哪些工具。
- 如果需要使用工具,MCP client 会通过 MCP server 执行相应的工具调用。
- 工具调用的结果会被发送回 LLM。
- LLM 基于所有信息生成自然语言响应。
- 最后将响应展示给用户。
你可以在 Example Clients 找到当前支持 MCP 协议的客户端程序。本文将会使用 Claude Desktop 作为 MCP client,你可以在此页面下载安装:claude.ai/download 。
MCP Server
MCP server 是 MCP 架构中的关键组件,它可以提供 3 种主要类型的功能:
- 资源(Resources):类似文件的数据,可以被客户端读取,如 API 响应或文件内容。
- 工具(Tools):可以被 LLM 调用的函数(需要用户批准)。
- 提示(Prompts):预先编写的模板,帮助用户完成特定任务。
这些功能使 MCP server 能够为 AI 应用提供丰富的上下文信息和操作能力,从而增强 LLM 的实用性和灵活性。
你可以在 MCP Servers Repository 和 Awesome MCP Servers 这两个 repo 中找到许多由社区实现的 MCP server。使用 TypeScript 编写的 MCP server 可以通过 npx 命令来运行,使用 Python 编写的 MCP server 可以通过 uvx 命令来运行。
使用 Claude Desktop 通过 PostgreSQL MCP Server 查询数据库信息
接下来演示通过 PostgreSQL MCP Server 使 LLM 能够基于 PostgreSQL 中的数据来回答问题。
准备 PostgreSQL 数据
首先使用 Docker 启动 PostgreSQL 服务。
bash 体验AI代码助手 代码解读复制代码docker run -d --name postgres \
-e POSTGRES_PASSWORD=postgres -p 5432:5432 \
postgres
在 PostgreSQL 中创建数据库和表,并插入数据。
sql 体验AI代码助手 代码解读复制代码-- 登录 PostgreSQL
docker exec -it postgres psql -U postgres
-- 创建数据库
CREATE DATABASE shopdb;
-- 连接到新创建的数据库
\c shopdb;
-- 创建 users 表
CREATE TABLE users (
user_id SERIAL PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL
);
-- 创建 orders 表
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
order_date TIMESTAMP NOT NULL,
total_amount DECIMAL(10, 2) NOT NULL,
user_id INT REFERENCES users(user_id)
);
-- 插入示例数据
INSERT INTO users (first_name, last_name, email) VALUES
('John', 'Doe', 'john.doe@example.com'),
('Jane', 'Smith', 'jane.smith@example.com'),
('Alice', 'Johnson', 'alice.johnson@example.com');
INSERT INTO orders (order_date, total_amount, user_id) VALUES
('2025-01-05 10:30:00', 150.75, 1),
('2025-01-06 11:00:00', 200.50, 2),
('2025-01-07 12:45:00', 120.25, 1);
配置连接 PostgreSQL MCP Server
在 Claude Desktop 中配置 PostgreSQL MCP Server 的连接信息,具体内容可以参考:For Claude Desktop Users。最终是在 claude_desktop_config.json
文件中添加如下内容:
json 体验AI代码助手 代码解读复制代码{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://postgres:postgres@127.0.0.1/shopdb"
]
}
}
}
配置完毕后,重启 Claude Desktop。一切正常的话,你应该能在输入框的右下角看到一个锤子图标。点击锤子图标,可以看到 PostgreSQL MCP Server 提供的工具信息。
根据 PostgreSQL 的数据进行提问
首先来问一个简短的问题:数据库中有哪些表? Claude 会判断出需要调用 MCP server 来查询 PostgreSQL 中的数据。这里会弹出一个窗口,需要用户授权。
点击 Allow 后,Claude 成功返回了结果。
接下来我们可以增加一点难度:查询金额最高的订单信息。在数据库中有两张表 users
和 orders
,要想得到完整的订单信息,需要先去查询 orders
表中金额最高的一条记录,然后根据 user_id
这个外键再去查询 users
表中对应的用户信息。
从下面的输出可以发现 Claude 一开始是不知道数据库中的表结构的,因此先发送请求分别确定 orders
表和 users
表中相应的字段,然后再对两张表进行 join 查询。
点击 View Result from query from postgres
可以看到 Claude Desktop 向 MCP server 发送的请求以及得到的响应,说明这个结果确实是从 PostgreSQL 数据库中查询得到的。
你也可以复制这条 SQL 语句到数据库中查询进行确认。
SQL 数据库中查询得到的。
[外链图片转存中…(img-Ax3OXhs4-1747899518539)]
你也可以复制这条 SQL 语句到数据库中查询进行确认。
[外链图片转存中…(img-Naosp9g6-1747899518539)]
总结
本文带领读者快速入门了 MCP(模型上下文协议),介绍了其架构、核心概念以及实际应用场景。通过演示 Claude Desktop 结合 PostgreSQL MCP Server 查询数据库的场景,展示了 MCP 如何增强 LLM 与外部数据源的交互能力。后续文章还会继续分享 MCP server 和 MCP client 开发的相关内容,欢迎持续关注。
大模型岗位需求
大模型时代,企业对人才的需求变了,AIGC相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
掌握大模型技术你还能拥有更多可能性:
• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;
• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;
• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;
• 更优质的项目可以为未来创新创业提供基石。
可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把全套AI技术和大模型入门资料、操作变现玩法都打包整理好,希望能够真正帮助到大家。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
零基础入门AI大模型
今天贴心为大家准备好了一系列AI大模型资源,包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
有需要的小伙伴,可以点击下方链接免费领取【保证100%免费
】
内容包括:项目实战、面试招聘、源码解析、学习路线。
如果大家想领取完整的学习路线及大模型学习资料包,可以扫下方二维码获取
👉2.大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。(篇幅有限,仅展示部分)
大模型教程
👉3.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(篇幅有限,仅展示部分,公众号内领取)
电子书
👉4.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(篇幅有限,仅展示部分,公众号内领取)
大模型面试
**因篇幅有限,仅展示部分资料,**有需要的小伙伴,可以点击下方链接免费领取【保证100%免费
】
**或扫描下方二维码领取 **