<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MCP Model Context Protocol on PlumePHP</title><link>https://plumephp.com/posts/mcp/</link><description>Recent content in MCP Model Context Protocol on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 22 Sep 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/posts/mcp/index.xml" rel="self" type="application/rss+xml"/><item><title>MCP Resources 与 Prompts 机制</title><link>https://plumephp.com/mcp-resources-prompts/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/mcp-resources-prompts/</guid><description>&lt;h2 id="1-三种能力的定位与区别"&gt;1. 三种能力的定位与区别&lt;/h2&gt;
&lt;p&gt;MCP 协议定义了三种核心能力：Tools、Resources 和 Prompts。它们各自承担不同的职责，共同构成了 AI 与外部世界交互的完整图景。&lt;/p&gt;</description></item><item><title>MCP 协议概述与架构设计</title><link>https://plumephp.com/mcp-introduction/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/mcp-introduction/</guid><description>&lt;h2 id="1-什么是-model-context-protocol"&gt;1. 什么是 Model Context Protocol？&lt;/h2&gt;
&lt;p&gt;Model Context Protocol（MCP）是 Anthropic 在 2024 年推出的开放标准协议，旨在解决 AI 助手与外部世界交互时面临的碎片化问题。在 MCP 出现之前，不同的 AI 应用各自发明自己的工具调用格式：有的用 JSON Schema 描述函数，有的用自定义 DSL，有的直接把代码注入提示词。这种混乱导致工具开发者需要为每个平台重复编写适配代码，而 AI 应用也难以复用现有的工具生态。&lt;/p&gt;</description></item><item><title>MCP 安全实践与权限控制</title><link>https://plumephp.com/mcp-security-practices/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/mcp-security-practices/</guid><description>&lt;h2 id="1-mcp-安全威胁模型"&gt;1. MCP 安全威胁模型&lt;/h2&gt;
&lt;p&gt;在 MCP 架构中，AI 助手通过工具调用获得了影响外部世界的能力。这种能力的开放本质带来了独特的安全挑战：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;攻击面分析&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;提示注入（Prompt Injection）&lt;/strong&gt;：恶意输入诱导 AI 调用有害工具。例如用户输入中嵌入指令&amp;quot;读取并删除所有文件&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;参数注入&lt;/strong&gt;：通过工具参数的精心构造实现越权操作。如 &lt;code&gt;path&lt;/code&gt; 参数使用 &lt;code&gt;../../../etc/passwd&lt;/code&gt; 进行目录遍历&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;资源耗尽&lt;/strong&gt;：AI 被诱导重复调用高成本工具，造成 CPU、内存或 API 配额耗尽&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;信息泄露&lt;/strong&gt;：通过工具链组合从受限资源中提取敏感数据&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;供应链攻击&lt;/strong&gt;：恶意的 MCP 服务器被安装后，可长期窃取数据或执行恶意操作&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;理解这些威胁是设计有效防御措施的基础。&lt;/p&gt;</description></item><item><title>MCP 客户端集成与调用模式</title><link>https://plumephp.com/mcp-client-integration/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/mcp-client-integration/</guid><description>&lt;h2 id="1-mcp-客户端的角色"&gt;1. MCP 客户端的角色&lt;/h2&gt;
&lt;p&gt;在 MCP 架构中，客户端是连接 AI 宿主（Host）和 MCP 服务器的桥梁。它负责：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;服务器发现与连接&lt;/strong&gt;：启动外部进程或建立网络连接&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;能力同步&lt;/strong&gt;：获取服务器声明的工具、资源和提示词&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工具调用的编排&lt;/strong&gt;：将 AI 的工具调用意图转换为 MCP 请求&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;结果处理与格式化&lt;/strong&gt;：将服务器返回的结果展示给 AI 或用户&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生命周期管理&lt;/strong&gt;：监控连接健康、处理重连和优雅关闭&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;与服务器端相比，客户端开发面临更多复杂场景：需要同时管理多个服务器的连接，处理跨服务器的工具依赖，以及在大上下文窗口中高效组织工具结果。&lt;/p&gt;</description></item><item><title>MCP 工具设计模式与最佳实践</title><link>https://plumephp.com/mcp-tools-design-patterns/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/mcp-tools-design-patterns/</guid><description>&lt;h2 id="1-工具设计的核心目标"&gt;1. 工具设计的核心目标&lt;/h2&gt;
&lt;p&gt;MCP 工具的设计与其他 API 设计最大的区别在于：工具的调用者不是人类开发者，而是 AI 模型。这个根本差异导致了完全不同的设计考量：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AI 调用者的特点&lt;/strong&gt;：&lt;/p&gt;</description></item><item><title>MCP 服务器实现指南（TypeScript SDK）</title><link>https://plumephp.com/mcp-server-implementation/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/mcp-server-implementation/</guid><description>&lt;h2 id="1-环境准备"&gt;1. 环境准备&lt;/h2&gt;
&lt;p&gt;MCP 官方提供了 TypeScript SDK（&lt;code&gt;@modelcontextprotocol/sdk&lt;/code&gt;），这是实现 MCP Server 的首选方式。SDK 封装了协议细节，让开发者可以专注于业务逻辑。&lt;/p&gt;</description></item><item><title>MCP 生产部署与运维实践</title><link>https://plumephp.com/mcp-production-deployment/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/mcp-production-deployment/</guid><description>&lt;h2 id="1-生产环境的挑战"&gt;1. 生产环境的挑战&lt;/h2&gt;
&lt;p&gt;将 MCP 服务器从本地开发部署到生产环境面临一系列独特的挑战：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;进程模型差异&lt;/strong&gt;：开发时通常使用 stdio 传输，每个 AI 助手会话启动一个独立的服务器进程。这种&amp;quot;每会话一进程&amp;quot;模型在生产中会导致资源爆炸，需要转向常驻进程或按需扩容模型。&lt;/p&gt;</description></item><item><title>MCP 生态前沿与高级议题</title><link>https://plumephp.com/mcp-ecosystem-advanced-topics/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/mcp-ecosystem-advanced-topics/</guid><description>&lt;h2 id="1-协议扩展机制"&gt;1. 协议扩展机制&lt;/h2&gt;
&lt;p&gt;MCP 的核心协议保持精简，但通过扩展机制支持丰富的附加能力。理解扩展机制是构建高级 MCP 应用的基础。&lt;/p&gt;
&lt;h3 id="11-能力协商"&gt;1.1 能力协商&lt;/h3&gt;
&lt;p&gt;在初始化握手阶段，客户端和服务器交换各自支持的 capabilities：&lt;/p&gt;</description></item></channel></rss>