12 个 MCP 服务器
MCP(模型上下文协议)是开放标准简化 AI 模型,特别是 LLMs,如何与外部数据源、工具和服务交互。MCP 服务器充当这些 AI 模型和外部工具之间桥梁。
文件系统 MCP 服务器
- 允许 LLM 直接访问本地文件系统读取、写入和创建目录
GitHub MCP 服务器
- 连接 Claude 到 GitHub 仓库并允许文件更新、代码搜索
Slack MCP 服务器
- Slack API 的 MCP 服务器,启用 Claude 与 Slack 工作空间交互
Google Maps MCP 服务器
- Google Maps API 的 MCP 服务器
Docker MCP 服务器
- 与 Docker 集成管理容器、镜像、卷和网络
Brave MCP 服务器
- Web 和本地搜索使用 Brave 搜索 API
PostgreSQL MCP 服务器
- 启用 LLM 检查数据库模式并执行只读查询
Google Drive MCP 服务器
- 与 Google Drive 集成允许读取和搜索文件
Redis MCP 服务器
- 提供访问 Redis 数据库
Notion MCP 服务器
- 这个项目实现 Notion API 的 MCP 服务器
Stripe MCP 服务器
- 与 Stripe API 交互
Perplexity MCP 服务器
- 连接 Perplexity 的 Sonar API 为实时搜索
MCP vs. A2A 协议
MCP(模型上下文协议)
- 连接 AI 代理到外部数据源,如数据库、API 和文件,通过 MCP 服务器
- 丰富它们响应与现实世界上下文
A2A(Agent-to-Agent)协议
- Google 启用 AI 代理相互通信和协作
- 允许它们委托任务、分享结果和增强彼此能力
组合架构
- 每个 AI 代理(使用工具如 Langchain 与 GPT 或 Claude)连接外部工具通过 MCP 服务器为数据访问
- 外部工具可以包括云 API、本地文件、Web 搜索或通信平台如 Slack
- 同时,AI 代理可以使用 A2A 协议相互通信协调行动、分享中间输出和解决复杂任务集体
- 这个架构启用丰富外部上下文(通过 MCP)和去中心化代理协作(通过 A2A)
缓存系统如何出错
下图显示 4 种典型情况缓存可能出错及其解决方案。
1. 惊群问题(Thunder herd problem)
- 当大量键在缓存同时过期时发生
- 查询请求直接击中数据库,使数据库过载
- 解决方案:
- 避免为键设置相同过期时间,添加随机数在配置
- 只允许核心业务数据击中数据库并防止非核心数据访问数据库直到缓存恢复
2. 缓存穿透(Cache penetration)
- 当键不存在在缓存或数据库时发生
- 应用无法检索相关数据从数据库更新缓存
- 这个问题创造许多压力在缓存和数据库
- 解决方案:
- 缓存 null 值为不存在键,避免击中数据库
- 使用布隆过滤器检查键存在先,如果键不存在,我们可以避免击中数据库
3. 缓存击穿(Cache breakdown)
- 类似于惊群问题
- 当热键过期时发生
- 大量请求击中数据库
- 因为热键占用 80% 查询,我们不设置过期时间为它们
4. 缓存崩溃(Cache crash)
- 当缓存宕机且所有请求去数据库时发生
- 解决方案:
- 设置断路器,当缓存宕机,应用服务不能访问缓存或数据库
- 为缓存设置集群提高缓存可用性
8 个系统设计概念
非功能需求定义系统质量属性确保它在真实世界条件下可靠执行。
可用性与负载均衡器
- 可用性确保系统保持运行和可访问用户在所有时间
- 使用负载均衡器分布流量跨多个服务实例消除单点故障
延迟与 CDN
- 延迟指时间延迟经历在系统响应到用户请求
- CDN 减少延迟通过缓存内容更靠近用户
可扩展性与复制
- 可扩展性是系统能力处理增加负载通过添加资源
- 复制分布数据跨多个节点,启用更高吞吐和工作负载
持久性与事务日志
- 持久性保证一旦数据提交,它保持安全即使在失败事件
- 事务日志持久化所有操作,允许系统重建状态在崩溃后
一致性与最终一致性
- 一致性意味着所有用户看到相同数据
- 最终一致性允许临时差异,但同步副本随时间到一致状态
模块化与松耦合和高内聚
- 模块化促进构建系统有良好分离和自包含组件
- 松耦合和高内聚帮助实现相同
可配置性
- 可配置性允许系统容易调整或修改不改变核心逻辑
- 配置即代码管理基础设施和应用设置通过版本控制脚本
弹性与消息队列
- 弹性是系统能力从失败恢复并继续运行平滑
- 消息队列解耦组件和缓冲任务,启用重试
本文为学习目的的个人翻译,译文仅供参考。
原文链接:EP173: 12 MCP Servers You Can Use in 2025。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。