MCP Server Development Protocol
该协议旨在简化使用 Cline 构建 MCP 服务器的开发过程。
**构建并与世界分享你的 MCP 服务器。**一旦你创建了一个很棒的 MCP 服务器,将其提交到 Cline MCP 市场,使其可以被数千名开发者发现并可一键安装。
什么是 MCP 服务器?
模型上下文协议 (MCP) 服务器通过赋予 AI 助手(如 Cline)以下能力来扩展它们:
访问外部 API 和服务
检索实时数据
控制应用程序和本地系统
执行超出文本提示词本身能力的操作
没有 MCP,AI 助手功能强大但是隔离的。有了 MCP,它们获得了与几乎任何数字系统交互的能力。
开发协议
有效的 MCP 服务器开发的核心是遵循结构化协议。该协议通过位于你的 MCP 工作目录根目录(/Users/your-name/Documents/Cline/MCP)的 .clinerules 文件实现。
使用 .clinerules 文件
.clinerules 文件.clinerules 文件是一种特殊配置,Cline 在放置它的目录中工作时会自动读取。这些文件:
配置 Cline 的行为并强制执行最佳实践
将 Cline 切换到专用的 MCP 开发模式
提供构建服务器的分步协议
实施安全措施,如防止过早完成
引导你完成规划、实施和测试阶段
以下是应放置在 .clinerules 文件中的完整 MCP 服务器开发协议:
当你的工作目录中存在此 .clinerules 文件时,Cline 将:
从计划模式开始,在实施之前设计你的服务器
在执行模式中强制执行正确的实施模式
要求在允许完成之前测试所有工具
引导你完成整个开发生命周期
入门
创建 MCP 服务器只需几个简单的步骤即可开始:
1. 创建 .clinerules 文件(重要)
.clinerules 文件(重要)首先,使用上面的协议将 .clinerules 文件添加到 MCP 工作目录的根目录。此文件配置 Cline 在此文件夹中工作时使用 MCP 开发协议。
2. 以清晰的描述开始聊天
通过清楚地描述你想要构建的内容来开始 Cline 聊天。具体说明:
你的 MCP 服务器的目的
你想要集成的 API 或服务
你需要的任何特定工具或功能
例如:
3. 按照协议工作
Cline 将自动以计划模式开始,引导你完成规划过程:
讨论问题范围
审查 API 文档
规划身份验证方法
设计工具接口
准备好后,使用聊天底部的切换按钮切换到执行模式以开始实施。
4. 尽早提供 API 文档
帮助 Cline 构建 MCP 服务器的最有效方法之一是在开始时分享官方 API 文档:
提供全面的 API 详细信息(端点、身份验证、数据结构)显著提高 Cline 实施有效 MCP 服务器的能力。
了解两种模式
计划模式
在这个协作阶段,你与 Cline 一起设计你的 MCP 服务器:
定义问题范围
选择适当的 API
规划身份验证方法
设计工具接口
确定数据格式
执行模式
规划完成后,Cline 帮助实施服务器:
设置项目结构
编写实施代码
配置设置
彻底测试每个组件
完成文档
案例研究:AlphaAdvantage 股票分析服务器
让我们来了解我们的 AlphaAdvantage MCP 服务器的开发过程,该服务器提供股票数据分析和报告功能。
规划阶段

在规划阶段,我们:
定义了问题:用户需要直接通过 AI 助手访问财务数据、股票分析和市场洞察
选择了 API:用于金融市场数据的 AlphaAdvantage API
标准 API 密钥身份验证
每分钟 5 次请求的速率限制(免费层)
不同财务数据类型的各种端点
设计了所需的工具:
股票概览信息(当前价格、公司详情)
带有指标的技术分析(RSI、MACD 等)
基本面分析(财务报表、比率)
收益报告数据
新闻和情绪分析
规划了数据格式化:
干净、格式良好的 markdown 输出
用于结构化数据的表格
趋势的视觉指示器(↑/↓)
财务数字的适当格式
实施

我们通过引导启动项目开始:
接下来,我们用以下结构构建了项目:
API 客户端实施
API 客户端实施包括:
速率限制:强制执行每分钟 5 次请求的限制
缓存:通过战略性缓存减少 API 调用
错误处理:强大的错误检测和报告
类型化接口:所有数据的清晰 TypeScript 类型
关键实施细节:
Markdown 格式化
我们实施了格式化器以美观地显示财务数据:
工具实施
我们用清晰的接口定义了五个工具:
每个工具的处理程序包括:
输入验证
带有错误处理的 API 客户端调用
响应的 Markdown 格式化
全面的日志记录
测试阶段
这个关键阶段涉及系统地测试每个工具:
首先,我们在设置中配置了 MCP 服务器:
然后我们单独测试了每个工具:
get_stock_overview:检索了 AAPL 股票概览信息
get_technical_analysis:获得了价格行为和 RSI 数据
get_earnings_report:检索了 MSFT 收益历史并格式化了报告
挑战和解决方案
在开发过程中,我们遇到了几个挑战:
API 速率限制:
挑战:免费层限制为每分钟 5 次调用
解决方案:实施了排队、强制执行速率限制并添加了全面的缓存
数据格式化:
挑战:原始 API 数据对用户不友好
解决方案:创建了格式化工具以一致地显示财务数据
超时问题:
挑战:进行多个 API 调用的复杂工具可能会超时
解决方案:建议将复杂工具分解为更小的部分,优化缓存
经验教训
我们的 AlphaAdvantage 实施教会了我们几个关键教训:
规划 API 限制:从一开始了解并围绕 API 速率限制进行设计
战略性缓存:识别高价值的缓存机会以提高性能
格式化以提高可读性:投资良好的数据格式化以改善用户体验
测试每条路径:在完成之前单独测试所有工具
处理 API 复杂性:对于需要多次调用的 API,用更简单的范围设计工具
核心实施最佳实践
全面的日志记录
有效的日志记录对于调试 MCP 服务器至关重要:
强类型
类型定义防止错误并提高可维护性:
智能缓存
减少 API 调用并提高性能:
优雅的错误处理
实施强大的错误处理,保持良好的用户体验:
MCP 资源
资源让你的 MCP 服务器向 Cline 暴露数据而无需执行代码。它们非常适合提供上下文,如文件、API 响应或 Cline 在对话期间可以引用的数据库记录。
将资源添加到你的 MCP 服务器
定义你的服务器将暴露的资源:
实施读取处理程序以交付内容:
资源使你的 MCP 服务器更加上下文感知,允许 Cline 访问特定信息而无需你复制/粘贴。有关更多信息,请参阅官方文档。
常见挑战和解决方案
API 身份验证复杂性
挑战:API 通常有不同的身份验证方法。
解决方案:
对于 API 密钥,在 MCP 配置中使用环境变量
对于 OAuth,创建单独的脚本来获取刷新令牌
安全存储敏感令牌
缺失或有限的 API 功能
挑战:API 可能不提供你需要的所有功能。
解决方案:
使用可用端点实施回退
在必要时创建模拟功能
转换 API 数据以匹配你的需求
API 速率限制
挑战:大多数 API 都有速率限制,可能导致失败。
解决方案:
实施适当的速率限制
添加智能缓存
提供优雅的降级
添加关于速率限制的透明错误
其他资源
Last updated