27 篇文章带有标签 “MCP”

代码评审知识图谱:code-review-graph

code‑review‑graph 是一款为 AI 编程助手打造的本地代码知识图谱工具,核心是用增量图谱替代全量读码,大幅降低 AI 上下文 Token 消耗、提升代码审查与理解效率。

基于 Tree‑sitter 解析代码结构,构建持久化增量知识图谱,通过 MCP 协议给 AI 提供精准最小上下文,Token 用量可降 5–10 倍,零配置开箱即用。

pip install code-review-graph
# cd <project-root>
code-review-graph install --platform claude-code

DXT(桌面扩展)开发指南

本文档主要介绍了 DXT (桌面扩展) 的开发指南,它是一种将 MCP 服务器 转换为可分发扩展的工具。文档详述了如何使用 DXT 工具初始化、验证和打包 扩展,并提供了 目录结构示例。此外,还强调了在打包 Python 依赖项时需要注意的 跨平台兼容性问题,特别是在不同架构(如 arm64 macOS 与 x86_64 Linux)之间。最终目标是创建一个 .dxt 文件,其中包含所有必需的服务器文件和元数据,以便于分发和管理。

graph TD
    A[DXT扩展] -->|打包| B(calculator-mcp-server)
    B -->|元数据和配置| C[manifest.json]
    B -->|实现| D[server/*.py]
    B -->|依赖库| E[server/lib/]
    B -->|图标| F[icon.png]
    
    G[MCPHub] -->|运行| H[MCP Servers]
    H -->|包含| B
    H -->|管理| I[其他 MCP Servers]
    
    J[开发者] -->|开发| B
    J -->|使用| K[DXT工具]
    K -->|初始化| C
    K -->|打包| A
// ...

DXT 的核心是包含您的整个 MCP 服务器和 manifest.json 的简单 zip 文件。

Docker AI 功能详解与应用

本文档详细介绍了 Docker AI 的新功能,旨在通过集成人工智能提升开发者的体验。主要亮点包括 Docker Model Runner,它简化了 AI 模型的管理和部署,支持从各种注册表拉取和运行模型,并通过兼容 OpenAI 的 API 提供服务。此外,MCP Toolkit 实现了容器化 MCP 服务器的无缝设置和管理,而 Ask Gordon 则作为嵌入式 AI 助手,在 Docker Desktop 和 CLI 中提供上下文帮助,包括改进 Dockerfile 和故障排除等。这些功能共同旨在简化 AI 驱动型应用程序的开发和部署。

  • ✅ Enable Docker AI (启用 Docker AI)
    • Docker Desktop命令行(CLI)中启用 “Ask Gordon” 功能。
  • ✅ Enable Docker Model Runner (启用 Docker 模型运行器)
    • 启用 GPU 加速的推理引擎,用于运行 AI 模型。
  • ✅ Enable Docker MCP Toolkit (启用 Docker MCP 工具套件)
    • 在 Docker Desktop 中启用 “MCP Toolkit” 功能。

registry-mirrors: https://registry.cn-hangzhou.aliyuncs.

Desktop Extensions (DXT)

桌面扩展(DXT)是一种 zip 格式的软件包,旨在简化本地 MCP 服务器的安装和分发。它类似于其他应用程序扩展,通过包含一个本地 MCP 服务器及其功能的 manifest.json 文件,允许用户实现一键安装。该项目不仅提供扩展规范和用于创建 DXT 文件的 CLI 工具,还开源了 Claude for macOS and Windows 中用于加载和验证 DXT 扩展的代码,旨在为 MCP 服务器构建一个开放且可移植的生态系统。开发者只需将 MCP 服务器文件、manifest.json 放入文件夹并打包成 .dxt 文件,即可轻松创建扩展,从而方便地在支持 DXT 的应用程序中运行本地 AI 工具。

桌面扩展 (.dxt) 是一种 zip 压缩包,其中包含一个本地 MCP 服务器和一个 manifest.json 文件,该文件描述了服务器及其功能。其格式在理念上类似于 Chrome 扩展 (.crx) 或 VS Code 扩展 (.vsix),使用户能够一键安装本地 MCP 服务器。

本仓库提供三个组件:MANIFEST.md 中的扩展规范,一个用于创建扩展的 CLI 工具(参见 CLI.md),以及 Claude for macOS and Windows 用于加载和验证 DXT 扩展的代码 (src/index.ts)。

对于本地 MCP 服务器的开发者,我们旨在使其分发和

DXT Manifest.json 规范

该文档概述了 DXT Manifest.json 规范,这是一个用于定义扩展元数据和配置的JSON文件标准。它详细说明了 manifest.json 文件的结构,包括 必填字段 如版本、名称、作者和服务器配置,以及 可选字段 如显示名称、描述、存储库信息和屏幕截图。此外,规范还涵盖了 兼容性要求(针对客户端、平台和运行时)、服务器配置(支持Python、Node.js和二进制类型,并允许平台特定覆盖和变量替换),以及 用户可配置选项 的定义和传递方式。最后,文档解释了如何声明扩展提供的 工具和提示,并支持动态生成这些功能。

manifest.json 文件包含所有扩展的元数据和配置。大多数字段是可选的。

一个只包含必填字段的基本 manifest.json 如下所示:

FastMCP 实战:构建计算器 MCP 服务器与客户端

该文档详细介绍了如何使用 FastMCP 框架来构建和集成计算器 MCP 服务器与客户端。它首先指导用户初始化并设置开发环境,包括创建虚拟环境和安装 FastMCP。接着,文档展示了MCP 服务器的开发过程,通过 main.py 文件定义了加、减、乘、除、幂等计算工具,并配置了项目元数据文件 pyproject.toml。此外,文档还提供了构建和发布服务器到 PyPI 的步骤,以及运行 MCP 服务器的方法,包括使用 MCP Inspector 进行调试和通过 FastMCP CLI 运行。最后,文档展示了MCP 客户端的开发,演示了客户端如何调用服务器上的工具,并深入探讨了将 MCP 客户端与 OpenAI 集成,实现通过自然语言与计算器服务器进行交互的能力。

MCPHub 自定义服务器配置及内网部署(二)

本文档指导用户构建一个本地 PyPI 源,以便持久化存储 Python 包并进行离线安装。接着,文档说明了自定义 MCPHub 配置,包括定义 MCP 服务器市场中的服务(例如:mcp-server-time, calculator-mcp-server)以及调整 MCPHub 自身的运行时设置,例如指定本地 PyPI 源和用户认证信息。

MCPHub 自定义服务器配置及内网部署(一)

本文档重点介绍了如何在内网(离线)集成和配置一个名为 "mcp-server-time" 的特定 MCP 服务器。首先指导用户如何 获取 MCPHub 容器的 Python 环境信息,包括版本和平台标签,以便下载兼容的 Python 包。接着,文档详细阐述了如何使用 pip download 命令 下载服务器及其依赖包,并解释了各个命令参数的用途。最后,展示了如何通过 编辑 custom/servers.jsoncustom/mcp_settings.json 文件 来自定义 MCP 服务器市场配置和运行时设置,并给出了 Docker Compose 配置示例,以实现自定义配置的替换并部署。

这里使用 mcp-server-time 作为示例。

docker exec -it mcphub bash
pip install packaging

MCPHub:MCP 服务器聚合平台(智能路由)

本文档介绍了 MCPHub 平台的核心功能——智能路由。智能路由通过将 MCP 工具的名称和描述转换为高维语义向量,并对用户任务请求进行向量化处理,从而实现语义相似度匹配,有效识别并返回最相关的工具列表。这种方法显著减少了 AI 模型的认知负荷降低了 token 消耗达 70-90%,并提升了工具调用的准确率。文中还提供了 MCPHub 的部署指南,包括 Docker Compose 配置和 PostgreSQL 数据库设置,并展示了如何通过 DeepChat 客户端与智能路由功能进行交互,以获取如 GitHub 议题或当前时间等信息。最后,文档通过序列图和日志展示了客户端、MCPHubMCP 服务器之间的工作流程。

智能路由是 MCPHub 的核心功能之一。

它将每个 MCP 工具的名称和描述嵌入为高维语义向量。当用户发起自然语言任务请求时,系统会将该请求也转换为向量,通过计算相似度,快速返回最相关的工具列表。

这一过程摒弃了传统的关键词匹配,具备更强的语义理解能力,能够处理自然语言的模糊性和多样性。

向量嵌入引擎:支持如 text-embedding-3-small、bge-m3 等主流模型,将文本描述转为语义向量。 PostgreSQL + pgvector:使用开源向量数据库方案,支持高效的向量索引和搜索。

MCPHub:MCP 服务器聚合平台

本文档介绍了 MCPHub,一个用于管理和扩展 Model Context Protocol (MCP) 服务器的聚合平台。它通过将多个 MCP 服务器组织成灵活的流式 HTTP (SSE) 端点来简化操作,并支持按需访问单个或分组服务器。MCPHub 提供了包括广泛服务器兼容性、集中式管理控制台、热插拔配置以及基于 JWTbcrypt 的安全认证机制等核心功能,并且支持 Docker 部署以实现快速启动。用户可以通过其直观的 Web UI 监控服务器状态,管理访问权限,并配置 GitHubGitLab 等特定服务。此外,文档还详细说明了各种可流式传输的 HTTP 和 SSE 端点,以及如何在 MCP 客户端(例如 Cline)中配置和使用 MCPHub。

MCPHub 通过将多个 MCP(Model Context Protocol)服务器组织为灵活的流式 HTTP(SSE)端点,简化了管理与扩展工作。系统支持按需访问全部服务器、单个服务器或按场景分组的服务器集合。

🚀 功能亮点

广泛的 MCP 服务器支持:无缝集成任何 MCP 服务器,配置简单。 集中式管理控制台:在一个简洁的 Web UI 中实时监控所有服务器的状态和性能指标。 灵活的协议兼容:完全支持 stdio 和 SSE 两种 MCP 协议。 热插拔式配置:在运行时动态添加、移除或更新服务器配置,无需停机。

MCP 服务器开发协议

  • 配置 Cline 的行为并执行最佳实践
  • 将 Cline 切换到专门的 MCP 开发模式
  • 提供构建服务器的分步协议
  • 实施安全措施,如防止过早完成
  • 指导您完成规划、实施和测试阶段

以下是应放置在 .clinerules 文件中的完整 MCP 服务器开发协议:

# MCP Server Development Protocol

⚠️ CRITICAL: DO NOT USE attempt_completion BEFORE TESTING ⚠️

## Step 1: Planning (PLAN MODE)
- What problem does this tool solve?
- What API/service will it use?
- What are the authentication requirements?
  □ Standard API key
  □ OAuth (requires separate setup script)
  □ Other credentials

## Step 2: Implementation (ACT MODE)
1. Bootstrap
   - For web services, JavaScript integration, or Node.js environments:
// ...

下面是 MCP Server Development Pr

MCP 快速入门指南

可以把 MCP 服务器想象成给 Cline 提供额外功能的特殊助手!它们让 Cline 能够完成像获取网页或处理文件这样的酷炫功能。

停一下!在继续之前,你必须验证以下要求:

  • ✅ 最新版本的 Node.js (v18 或更新版本)
  • ✅ 最新版本的 Python (v3.8 或更新版本)
  • ✅ UV 包管理器
    • 安装 Python 后,运行:pip install uv
    • 使用以下命令验证:uv --version

❗ 如果以上任何命令失败或显示较旧的版本,请在继续之前进行安装/更新!

⚠️ 如果遇到其他错误,请参见下方的"故障排除"部分。

  1. 在 Cline 扩展中,点击 MCP Server 标签
  2. 点击 Edit MCP Settings 按钮
MCP 服务器面板
  1. MCP 设置文件应该会在 VS Code 中显示。
  2. 将文件内容替换为以下代码:

Windows 系统:

使用 Cline 从零开始构建自定义 MCP 服务器:综合指南

本指南提供了使用 Cline 的强大 AI 功能从零开始构建自定义 MCP (Model Context Protocol) 服务器的全面演示。示例将通过构建一个"GitHub 助手服务器"来说明这个过程。

模型上下文协议(MCP)充当了像 Claude 这样的大型语言模型(LLMs)与外部工具和数据之间的桥梁。MCP 包含两个关键组件:

  • MCP 主机: 这些是与 LLMs 集成的应用程序,如 Cline、Claude Desktop 等。
  • MCP 服务器: 这些是专门设计用于通过 MCP 向 LLMs 公开数据或特定功能的小型程序。

当你有一个 MCP 兼容的聊天界面(如 Claude Desktop)时,这种设置很有用,因为它可以利用这些服务器来访问信息和执行操作。

Cline 通过利用其 AI 功能简化了构建和集成 MCP 服务器的过程:

理解自然语言指令: 你可以用自然的方式与 Cline 交流,使开发过程直观且用户友好。 克隆代码库: Cline 可以直接从 GitHub 克隆现有的 MCP 服务器代码库,简化使用预构建服务器的过程。 构建服务器: 一旦必要的代码就位,Cline 可以执行像 npm run build 这样的命令来编译和准备服务器。

A2A ❤️ MCP

TLDR; Agentic applications need both A2A and MCP. We recommend MCP for tools and A2A for agents.

TLDR; 代理应用程序需要 A2A 和 MCP。我们建议将 MCP 用于工具,将 A2A 用于代理。

Standard protocols are essential for enabling agentic interoperability, particularly in connecting agents to external systems. This is critical in two interconnected areas of innovation: Tools and Agents.

标准协议对于实现代理互操作性至关重要,特别是在将代理连接到外部系统时。这在两个相互关联的创新领域中至关重要:工具和代理。

Tools are primitives with structured inputs and outputs and (typically) well-known behavior.

GitHub MCP 服务器

GitHub API 的 MCP 服务器,支持文件操作、仓库管理、搜索功能等。

  • 自动分支创建:创建/更新文件或推送更改时,如果分支不存在则自动创建
  • 全面的错误处理:对常见问题提供清晰的错误信息
  • Git 历史保留:操作保持适当的 Git 历史记录,不强制推送
  • 批量操作:支持单文件和多文件操作
  • 高级搜索:支持搜索代码、议题/PR 和用户
  1. create_or_update_file
    • 在仓库中创建或更新单个文件
    • 输入:
      • owner (字符串):仓库所有者(用户名或组织)
      • repo (字符串):仓库名称
      • path (字符串):创建/更新文件的路径
      • content (字符串):文件内容
      • message (字符串):提交消息
      • branch (字符串):要在其中创建/更新文件的分支
      • sha (可选字符串):被替换文件的 SHA(用于更新)
    • 返回:文件内容和提交详情
  1. push_files
    • 在单个提交中推送多个文件
    • 输入:
      • owner (字符串):仓库所有者
      • repo (字符串):仓库名称
      • branch (字符串):要推送到的分支
      • files (数组):要推送的文件,每个包含 pathcontent
      • message (字符串):提交消息
    • 返回:更新的分支引用

search_repositories 搜索 GitHub 仓库 输入: query (字符串):搜索查询 page (可选数字):分页的页码 p

MCP 服务器示例和实现列表

本页展示了各种模型上下文协议(MCP)服务器,这些服务器展示了该协议的功能和多样性。这些服务器使大型语言模型(LLM)能够安全地访问工具和数据源。

这些官方参考服务器展示了核心 MCP 功能和 SDK 用法:

这些 MCP 服务器由公司为其平台维护:

  • Axiom - 使用自然语言查询和分析日志、跟踪和事件数据
  • Browserbase - 在云中自动化浏览器交互
  • Cloudflare - 在 Cloudflare 开发者平台上部署和管理资源
  • E2B - 在安全云沙箱中执行代码
  • Neon - 与 Neon 无服务器 Postgres 平台交互
  • Obsidian Markdown Notes - 阅读和搜索 Obsidian 知识库中的 Markdown 笔记
  • Qdrant - 使用 Qdrant 向量搜索引擎实现语义记忆
  • Raygun - 访问崩溃报告和监控数据
  • Search1API - 用于搜索、爬取和网站地图的统一 API
  • Stripe - 与 Stripe API 交互
  • Tinybird - 与 Tinybird 无服务器 ClickHouse 平台交互
  • Weaviate - 通过 Weaviate 集合启用智能 RAG

不断增长的社区开发服务器生态系统扩展了 MCP 的功能:

Docker - 管理容器、镜像、卷和网络 Kubernetes - 管理 pod

MCP 服务器功能

服务器通过MCP提供了为语言模型添加上下文的基本构建块。这些原语支持客户端、服务器和语言模型之间的丰富交互:

  • 提示(Prompts):预定义的模板或指令,用于指导语言模型交互
  • 资源(Resources):为模型提供额外上下文的结构化数据或内容
  • 工具(Tools):可执行函数,允许模型执行操作或检索信息

每个原语可以在以下控制层次结构中概括:

原语 控制方 描述 示例
提示 用户控制 由用户选择调用的交互式模板 斜杠命令、菜单选项
资源 应用程序控制 由客户端附加和管理的上下文数据 文件内容、Git历史
工具 模型控制 向LLM公开以执行操作的函数 API POST请求、文件写入

模型上下文协议(MCP)提供了一种标准化方式,使服务器能够向客户端公开提示词模板。提示词允许服务器提供结构化消息和与语言模型交互的指令。客户端可以发现可用的提示词,获取其内容,并提供参数来自定义它们。

提示词设计为用户控制的,这意味着它们从服务器暴露给客户端,目的是让用户能够明确选择使用它们。

通常,提示词会通过用户界面中的用户发起命令触发,这允许用户自然地发现和调用可用的提示词。

例如,作为斜杠命令:

提示词作为斜杠命令的示例

然而,实现者可以自由地通过任何适合其需求的界面模式来公开提示词——协议本身不强制要求任何特定的用户交互模型。

支持提示词的服务器必须初始化期间声明prompts能力:

MCP 基础协议

模型上下文协议(Model Context Protocol)由几个协同工作的关键组件组成:

  • 基础协议:核心 JSON-RPC 消息类型
  • 生命周期管理:连接初始化、能力协商和会话控制
  • 服务器功能:服务器提供的资源、提示和工具
  • 客户端功能:客户端提供的采样和根目录列表
  • 实用工具:跨领域关注点,如日志记录和参数补全

所有实现必须支持基础协议和生命周期管理组件。其他组件可以根据应用程序的特定需求来实现。

这些协议层在实现客户端和服务器之间丰富交互的同时,建立了明确的关注点分离。模块化设计允许实现精确支持所需的功能。

MCP 客户端和服务器之间的所有消息必须遵循 JSON-RPC 2.0 规范。协议定义了以下类型的消息:

请求从客户端发送到服务器,或者从服务器发送到客户端,用于启动操作。

{
  jsonrpc: "2.0";
  id: string | number;
  method: string;
  params?: {
    [key: string]: unknown;
  };
}
  • 请求必须包含字符串或整数 ID。
  • 与基本 JSON-RPC 不同,ID 不得null
  • 请求 ID 不得在同一会话中被请求者先前使用过。

响应是对请求的回复,包含操作的结果或错误。