PHP中使用MCP构建AI袋里
# 使用 MCP 在 PHP 中打造智能化 AI 助手
如果您正在开发 AI 助手,那么 MCP(模型上下文协议)这个词您大概率已经听过很多次了。事实上,如今几乎每个人都在讨论它。但从网络上的讨论来看,许多人并不清楚我们具体在谈论什么,更不了解这背后潜藏着怎样的产品创新机遇。
为了真正理解“将 MCP 服务器直接与您的 AI 助手集成”的价值,有必要先拆解几个核心概念。这能帮助您——作为软件构建者——奠定正确的基础,从而在下一个助手实现中解锁全新的可能性。
## LLM 工具简介
作为工程师,我们天生倾向于标准。标准之所以重要,是因为它让我们能够构建可以相互通信的系统。
想想 REST API。通过标准化的方式来认证和使用第三方服务,这个想法在过去多年里催生了巨大的创新浪潮。MCP 的核心思路与此类似:让开发者实现一个标准协议,将应用程序服务暴露给 LLM。
这里必须强调一点:LLM 本身并不具备实际行动能力。它们本质上只是“令牌预测器”。如果你随便打开一个 LLM 聊天窗口,让它帮你发送一封电子邮件,它根本无法完成。它只会告诉你:“我不知道如何发送电子邮件,不过我可以帮你起草邮件内容。”——事实上,LLM 只能处理文本。

AI 平台的下一次进化,是开发者找到了将 LLM 能力与“函数(或回调)”机制相结合的方法。

以当前流行的聊天界面为例:你可以把网页 URL 粘贴到消息中,LLM 就能抓取内容并给出回复。假设我们输入这样一条提示:“能不能帮我看看,如何优化这篇文章的 SEO 表现:https://example.com/blog/article” LLM 本身根本没法完成这个任务。但开发者做了什么?他们构建了一个文本协议,让 LLM 可以向运行它的程序发起请求,调用一个负责获取网页内容的函数,从而继续生成最终回复。
借助这种机制,开发者可以实现并向 LLM 提供各种函数(工具),让它们执行操作、利用训练数据之外的信息来解答用户问题。如果你不给 LLM 提供获取网页内容的工具,它们基本无法完成这类任务。现在,你也可以为 LLM 提供执行数据库查询、从外部 API 获取信息,或者任何特定用例所需的其他函数。
## MCP(模型上下文协议)之前
当我们把工具连接到 LLM 后,LLM 才开始真正变得强大——因为我们可以将它的推理能力与对外部世界执行操作的能力结合起来。
问题在于,如果你需要构建一个执行多项任务的助手,这个过程可能会令人相当头痛。想象一下:读取电子邮件、在互联网上搜索、从数据库收集信息、连接到 Google Drive 阅读文档、接入 GitHub 处理代码、对接知识库……以及各种其他类型的资源。
可以想象,助手的实现会变得极其繁琐。把所有工具堆叠在一起,让它们在 LLM 的上下文里协调工作,本身就非常复杂。更麻烦的是,我们想连接的每一个服务都有自己的 API,都有不同的技术要求。每个想去跟这些外部服务通信的开发者,都得从头实现一遍对接。
有些大公司可以做到,但对更多公司来说,这几乎是不可能完成的任务。这就是我们之前所处的困境。
## 介绍 MCP(模型上下文协议)
MCP 是什么?它是你的 LLM 和你想要连接的工具之间的一个中间层。

现在,公司可以实现一个 MCP 服务器——本质上是一种全新的方式来暴露自己的 API,但这次是以一种 LLM 随时可用的形式。
拿 Stripe 的 API 举个例子。它提供了访问订阅、发票、交易等各种类型信息的接口。而有了 Stripe MCP 服务器(由 Stripe 自己构建),你基本上可以把整个 Stripe API 直接暴露给 LLM。这样,LLM 就能收集信息、回答关于你的财务状况的问题,或者回答客户关于其订阅和发票的疑问。甚至,助手还可以执行动作——比如取消订阅,或者为客户激活一个新订阅。
你只需要安装 MCP 服务器,把助手连接到服务器暴露的资源(具体怎么操作稍后会讲),然后你就立刻拥有一个具备强大能力的助手,根本不需要费劲去实现 Stripe API 调用。更重要的是,如果 Stripe 更改了 API,你也不再需要担心。即便是高度互连、由多个相互依赖步骤组成的复杂系统,也能更容易地开发,并且更加可靠。用简单的工具一次实现所有动作,根本无法克服某些复杂性。
## MCP 如何工作
我们来进入一个实际示例,看看如何托管一个 MCP 服务器供你的助手使用。
从核心架构来看,MCP 需要三个组件才能工作:一个主机、一个 MCP 服务器,以及一个 MCP 客户端。
别被“服务器”这个词给吓住。在当前这个协议实现阶段,MCP 服务器运行在跟助手同一台机器上。它们通过标准输入/输出的本地接口(stdio)进行通信。

未来或许可以实现远程托管 MCP 服务器,但目前它只能在同一台机器上运行。所以,你必须在开发期间在本地计算机上安装 MCP 服务器;如果要在生产环境部署,也得在云服务器上安装。关于 MCP 服务器安装的具体细节,会在后续的文章中深入讨论,目前你可以直接去 MCP 服务器仓库查看安装说明。网上也有一些网站提供了可用 MCP 服务器的列表,值得去探索。
当然,现阶段并非一切都一帆风顺。还有些技术细节需要配置——你必须设置服务器、配置一些文件。但一旦你弄明白了,你的助手就能变得非常强大,实现自主完成各种任务。
## 在 PHP 中将您的 AI 助手连接到 MCP 服务器
要在 PHP 中开始构建 AI 助手,首先要安装 Neuron AI 框架。我们以开源项目的形式发布 Neuron,正是为了填补 PHP 与其他编程语言在 AI 开发上的差距。Neuron 让 PHP 开发者能够开发助手应用,而无需转向其他语言。
它为你提供了一个完整的工具包——从单个助手到全功能的 RAG 系统、向量存储、嵌入,以及广泛的可观测性特性。更多信息可以查看文档:https://docs.neuron-ai.dev
安装 Neuron 的命令如下,通过 composer:
```ja vascript
composer require inspector-apm/neuron-ai
```
然后创建一个自定义助手,扩展 `NeuronAIAgent` 类:
```ja vascript
use NeuronAIAgent;
use NeuronAIProvidersAIProviderInterface;
use NeuronAIProvidersAnthropicAnthropic;
class MyAgent extends Agent
{
public function provider(): AIProviderInterface
{
// 返回一个AI提供者(Anthropic, OpenAI, Mistral等)
return new Anthropic(
key: 'ANTHROPIC_API_KEY',
model: 'ANTHROPIC_MODEL',
);
}
public function instructions()
{
return "LLM system instructions.";
}
}
```
接下来,你需要把工具附加到助手,这样它才能在应用上下文中执行任务,解决你或用户发送的问题。如果你需要实现与特定环境相关的动作,可以附加一个工具并创建自己的实现:
```ja vascript
use NeuronAIAgent;
use NeuronAIProvidersAIProviderInterface;
use NeuronAIProvidersAnthropicAnthropic;
use NeuronAIToolsTool;
use NeuronAIToolsToolProperty;
class MyAgent extends Agent
{
public function provider(): AIProviderInterface
{
return new Anthropic(
key: 'ANTHROPIC_API_KEY',
model: 'ANTHROPIC_MODEL',
);
}
public function instructions()
{
return "LLM system instructions.";
}
public function tools(): array
{
return [
Tool::make(
"get_article_content",
"Use the ID of the article to get its content."
)
->addProperty(
new ToolProperty(
name: 'article_id',
type: 'integer',
description: 'The ID of the article you want to analyze.',
required: true
)
)
->setCallable(function (string $article_id) {
// 在这里使用数据库层...
$stm = $pdo->prepare("SELECT * FROM articles WHERE id=? LIMIT 1");
$stm->execute([$article_id]);
return json_encode($stmt->fetch(PDO::FETCH_ASSOC));
})
];
}
}
```
对于其他工具,你可以搜索现成的 MCP 服务器,并将暴露的工具附加到助手。Neuron 提供了 `McpConnector` 组件,可以自动从服务器收集可用工具并附加到助手:
```ja vascript
use NeuronAIAgent;
use NeuronAIProvidersAIProviderInterface;
use NeuronAIProvidersAnthropicAnthropic;
use NeuronAIToolsTool;
use NeuronAIToolsToolProperty;
class MyAgent extends Agent
{
public function provider(): AIProviderInterface
{
return new Anthropic(
key: 'ANTHROPIC_API_KEY',
model: 'ANTHROPIC_MODEL',
);
}
public function instructions()
{
return "LLM system instructions.";
}
public function tools(): array
{
return [
// 从MCP服务器加载工具...
McpConnector::make([
'command' => 'npx',
'args' => [
'-y',
'@modelcontextprotocol/server-everything'
],
])->tools(),
// 自定义工具
Tool::make(
"get_article_content",
"Use the ID of the article to get its content."
)
->addProperty(
new ToolProperty(
name: 'article_id',
type: 'integer',
description: 'The ID of the article you want to analyze.',
required: true
)
)
->setCallable(function (string $article_id) {
$stm = $pdo->prepare("SELECT * FROM articles WHERE id=? LIMIT 1");
$stm->execute([$article_id]);
return json_encode($stmt->fetch(PDO::FETCH_ASSOC));
})
];
}
}
```
Neuron 会自动发现服务器暴露的工具,并把它们连接到你的助手。当助手决定运行某个工具时,Neuron 会生成合适的请求来调用 MCP 服务器上的工具,然后把结果返回给 LLM 以继续后续任务。整个过程用起来就跟使用你自己定义的工具一样,但背后你只用一行代码就能访问到助手可以执行的庞大预定义动作库。
从这个角度看,MCP 确实是一件大事——因为现在助手只需要极少的开发投入,就能完成数量惊人的任务。随着所有这些工具的可用性提升,产品开发机会也会呈指数级增长。实现检索增强生成(RAG)通常是 PHP 开发者在超越简单聊天脚本时遇到的第一个“障碍”。虽然“让 LLM 访问你自己的数据”这个概念很简单,但在 PHP 环境中可靠地实现它,所需完成的任务可能会让人感到沮丧——你得管理文档解析、向量嵌入,等等。
来源:https://cloud.tencent.com.cn/developer/article/2701197
上一篇:
转炉炼钢终点静态控制预测模型概述
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Claude Token节省十大实用技巧方案
通过编辑而非追加消息、每15-20条消息开新对话、合并问题、利用Projects缓存、预设记忆、关闭附加功能、按任务选择模型、分散时段、避开高峰及开启超额使用,能有效减少上下文重读,节省Token。
时间:2026-07-04 14:54
硅基流动冲刺Token工厂第一股亏损反更值钱?
硅基流动冲刺港交所“Token工厂第一股”,2025年营收5533万元,净亏损3 45亿元,毛利率-24%。两条业务线分化:公有云服务亏损严重,本地部署毛利率达82 5%。依赖中立第三方定位吸引资本,但面临原厂降价、大厂竞争及供应链风险,估值77亿背后存隐忧。
时间:2026-07-04 14:54
AI Agent的真正价值在于长在业务流程中
AIAgent需嵌入企业业务流程,而非仅作聊天工具。以零售品类管理为例,通过趋势识别、选品与货架规划,预计可带来2%—5%销售提升及10%P&L改善。设计需模块化、可整合,确保可解释性,重新界定人、AI与工具的关系。
时间:2026-07-04 14:54
后张雪峰时代大厂抢滩AI志愿填报
AI高考志愿填报工具在大厂推动下普及,能快速整合信息、生成方案,但存在数据幻觉、同质化风险。它无法替代张雪峰式实用主义建议和信誉责任,志愿填报仍需个性化判断与深度信息。
时间:2026-07-04 14:53
阿里禁用Anthropic全系产品的理性风控决策
阿里自7月10日起全员禁用Anthropic全系产品,因其ClaudeCode被发现存在隐蔽身份识别与隐写标记机制,且Anthropic曾指控阿里进行模型蒸馏。此举源于安全信任崩塌、中美AI博弈加剧,阿里同步换装自研工具Qoder,推动国产AI编码工具替代。
时间:2026-07-04 14:53
- 日榜
- 周榜
- 月榜
相关攻略
2026-07-04 14:54
2026-07-04 14:54
2026-07-04 14:54
2026-07-04 14:53
2026-07-04 14:53
2026-07-04 14:53
2026-07-04 06:48
2026-07-04 06:48
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
黑色四叶草魔法帝之道角色推荐与选择指南
发布于 2026-07-04
DNF土罐夏日清凉宾果活动攻略指南
发布于 2026-07-04
和平精英×国际汽联电动方程式联创载具7月4日上线
发布于 2026-07-04
圣境之塔剑术士职业玩法技巧与高阶攻略
发布于 2026-07-04
时空猎人觉醒全角色强度排行及图鉴解析
发布于 2026-07-04
热门魔幻手游推荐 高人气强剧情沉浸感十足
发布于 2026-07-04
年五款热门高口碑耐玩奇迹类手游推荐
发布于 2026-07-04
天堂2盟约守护精灵系统玩法与实用技巧
发布于 2026-07-04
Win11频繁断网提示默认网关不可用怎么办
发布于 2026-07-03
Mac如何取消正在进行的系统备份任务
发布于 2026-07-03
电脑显示器刷新率锁死60Hz无法调整的解决方法
发布于 2026-07-03
Linux系统下Systemd服务管理从零开始方法步骤详解完整教程
发布于 2026-07-03
Google Chrome浏览器官方下载入口
发布于 2026-07-04
电脑正版Excel软件下载安装步骤
发布于 2026-07-04
Excel电脑版免费下载安装
发布于 2026-07-04
傲游浏览器安卓手机版官方免费下载安装
发布于 2026-07-04
热门话题

