构建并与世界分享您的 MCP 服务器。 一旦您创建了一个出色的 MCP 服务器,请将其提交到 Cline MCP Marketplace,以便数千名开发人员可以发现并一键安装它。
什么是 MCP 服务器?
模型上下文协议 (MCP) 服务器通过赋予 AI 助手(如 Cline)以下能力来扩展它们:- 访问外部 API 和服务
- 检索实时数据
- 控制应用程序和本地系统
- 执行仅靠文本提示无法完成的操作
开发协议
有效 MCP 服务器开发的核心是遵循结构化协议。此协议通过一个位于 MCP 工作目录根目录 (/Users/your-name/Documents/Cline/MCP) 的.clinerules 文件实现。
使用 .clinerules 文件
.clinerules 文件是 Cline 在其所在目录中工作时自动读取的特殊配置。这些文件用于:
- 配置 Cline 的行为并强制执行最佳实践
- 将 Cline 切换到专用的 MCP 开发模式
- 提供构建服务器的逐步协议
- 实施安全措施,例如防止过早完成
- 指导您完成规划、实施和测试阶段
.clinerules 文件中的完整 MCP 服务器开发协议:
.clinerules 文件存在于您的工作目录中时,Cline 将会:
- 以计划模式 (PLAN MODE) 开始,在实施前设计您的服务器
- 在行动模式 (ACT MODE) 中强制执行正确的实施模式
- 要求在允许完成之前对所有工具进行测试
- 指导您完成整个开发生命周期
入门
创建 MCP 服务器只需几个简单的步骤即可开始1. 创建一个 .clinerules 文件(重要)
首先,使用上述协议在 MCP 工作目录的根目录中添加一个 .clinerules 文件。此文件配置 Cline 在此文件夹中工作时使用 MCP 开发协议。
2. 开始一个清晰描述的聊天
通过清晰描述您要构建的内容来开始您的 Cline 聊天。具体说明:- 您的 MCP 服务器的目的
- 您要集成的 API 或服务
- 您需要的任何特定工具或功能
3. 遵循协议工作
Cline 将自动进入计划模式 (PLAN MODE),指导您完成规划过程:- 讨论问题范围
- 审查 API 文档
- 规划认证方法
- 设计工具接口
4. 尽早提供 API 文档
帮助 Cline 构建 MCP 服务器最有效的方法之一是在开始时就分享官方 API 文档理解两种模式
计划模式 (PLAN MODE)
在这个协作阶段,您与 Cline 合作设计您的 MCP 服务器:- 定义问题范围
- 选择适当的 API
- 规划认证方法
- 设计工具接口
- 确定数据格式
行动模式 (ACT MODE)
规划完成后,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 暴露数据,而无需执行代码。它们非常适合提供上下文,例如 Cline 可以在对话中引用的文件、API 响应或数据库记录。将资源添加到 MCP 服务器
- 定义资源您的服务器将暴露的内容
- 实施读取处理程序以提供内容
常见挑战与解决方案
API 认证复杂性
挑战:API 通常有不同的认证方法。 解决方案:- 对于 API 密钥,在 MCP 配置中使用环境变量
- 对于 OAuth,创建单独的脚本来获取刷新令牌
- 安全地存储敏感令牌
API 功能缺失或受限
挑战:API 可能无法提供您需要的所有功能。 解决方案:- 使用可用的端点实现回退
- 在必要时创建模拟功能
- 转换 API 数据以匹配您的需求
API 速率限制
挑战:大多数 API 都有速率限制,可能导致失败。 解决方案:- 实施适当的速率限制
- 添加智能缓存
- 提供优雅的降级
- 提供关于速率限制的透明错误

