64 篇文章带有标签 “mcp”

使用 Claude Agent SDK 构建智能体

Claude Agent SDK 是 Anthropic 发布的、用于在 Claude Code 基础上构建强大智能体(agents)的工具集合。该 SDK 最初是作为 Claude Code SDK(一个智能编码解决方案)发布的,旨在支持 Anthropic 内部的开发者效率。由于 Claude Code 已经超越了编码工具的范畴,被用于深度研究、视频制作和笔记记录等无数非编码应用,因此该工具被更名为 Claude Agent SDK,以反映其更广泛的愿景。

一、核心设计原则:赋予 Claude 计算机能力

Claude Agent SDK 的关键设计原则是让 Claude 拥有程序员日常使用的相同工具。这意味着 Claude 必须能够:在代码库中查找文件、编写和编辑文件、运行代码、调试、以及迭代执行这些操作直到成功。

通过允许 Claude 访问用户计算机(经由终端),并赋予其运行 bash 命令、编辑文件、创建文件和搜索文件的能力,它能够有效执行非编码任务,如:阅读 CSV 文件、搜索网络、构建可视化、解释指标等数字工作,从而创建出具有通用目的的智能体。

二、构建的新型智能体

赋予 Claude 计算机能力解锁了许多以前效率不高的智能体类型。SDK 提供了用于自动化任何工作流程的原语,开发者可以构建:

Claude Code

本文介绍 Claude Code 的上下文工程。它整合了多种输入来源,包括系统提示内置工具MCP工具自定义子代理记忆文件对话历史,以全面理解并完成编程开发任务。还介绍了使用 Claude Code 在您的项目中提供全流程协助,如何编写提示词

Claude Code 上下文工程

Claude Code 能为您的项目提供全流程协助

📌 计划模式

计划模式是指通过只读操作分析代码库来创建计划,非常适合探索代码库、规划复杂更改或安全地审查代码。

​> Analyze the authentication system and suggest improvements
​> 分析身份验证系统并提出改进建议。

​> I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
​> 我需要重构我们的身份验证系统以使用 OAuth2。创建一个详细的迁移计划。

  ​> What about backward compatibility?
  ​> 向后兼容性怎么办?

  ​> How should we handle database migration?
  ​> 我们应该如何处理数据库迁移?

探索代码库

Claude Code 的配置与权限

Claude Code

安装

npm install -g @anthropic-ai/claude-code

设置

设置文件

settings.json 文件是通过分层设置配置 Claude Code 的官方机制:

  • 用户设置~/.claude/settings.json 中定义,适用于所有项目。
  • 项目设置 保存在您的项目目录中:
    • .claude/settings.json 用于检入源代码控制并与团队共享的设置
    • .claude/settings.local.json 用于不检入的设置,对个人偏好和实验很有用。Claude Code 会在创建时配置 git 忽略 .claude/settings.local.json
  • 对于 Claude Code 的企业部署,还支持企业托管策略设置。这些设置优先于用户和项目设置。系统管理员可以将策略部署到:
    • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
    • Linux 和 WSL: /etc/claude-code/managed-settings.json
    • Windows: C:\ProgramData\ClaudeCode\managed-settings.json

示例 settings.json

Claude Code 文档

Anthropic的“Claude Code”是一款终端内AI编程助手,旨在通过自然语言交互帮助开发者更快地编写、调试和管理代码。它提供了一系列功能,包括根据描述构建功能识别并修复bug理解复杂代码库以及自动化日常开发任务。用户可以通过简单的NPM安装和登录快速开始使用,并能通过聊天式的命令直接编辑文件、执行Shell命令和管理Git操作。该工具还支持自定义子代理以处理特定任务,并提供了灵活的配置选项,包括记忆管理、权限设置和环境变量,以适应个人、项目和企业级的开发需求。

Claude Code 概览

了解 Anthropic 的智能编程工具 Claude Code,它运行在你的终端中,帮你比以往更快地将创意转化为代码。

30 秒快速上手

前提条件:

# 安装 Claude Code
npm install -g @anthropic-ai/claude-code

# 进入你的项目目录
cd your-awesome-project

# 开始使用 Claude 编程
claude
# 首次使用时,系统会提示你登录

就是这么简单!你已经准备好使用 Claude 编写代码了。继续学习快速入门(5 分钟)→

(有特殊的设置需求或遇到问题?请参阅高级设置故障排除。)

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 驱动型应用程序的开发和部署。

Docker 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” 功能。

Gemini CLI 项目分析与开发指南

本文档围绕着初学者如何分析并开发一个类似 Gemini CLI 的项目提供了详尽的指南。核心思想是将复杂的项目分解为可管理的部分,并提供分步学习路径。指南强调了理解项目架构(如前端CLI和后端Core的职责)、熟悉代码结构掌握核心功能(如API交互和工具系统)、以及通过实践进行学习的重要性。通过阅读文档、运行和调试代码、并尝试进行小修改,学习者能够逐步掌握此类项目的开发技能。在 VSCode 中,使用 GitHub Copilot 的 Ask 模式分别对大模型(如 GPT-4.1、GPT-4o、Gemini 2.5 Pro 和 Claude Sonnet 系列)进行提问并总结。

问题

#codebase 我作为初学者,如何开始分析这个项目,以达到学习的目的,可以手动开发这种类型的项目。

下面是不同大模型给出的回答

GPT-4.1

作为初学者,分析并学习 Gemini CLI 这样的大型项目,可以按照以下步骤进行,帮助你理解架构、掌握开发流程,并为将来手动开发类似项目打下基础:

1. 阅读架构文档,理解整体结构

你可以从 architecture.md 开始,重点关注以下内容:

  • 核心组件:项目分为 CLI 前端(cli)、Core 后端(core)和工具模块(tools)。
  • 交互流程:用户输入 → CLI 处理 → Core 构建请求并与 Gemini API 通信 → 工具调用(如有)→ 返回结果 → CLI 展示。
  • 设计原则:模块化、可扩展性、良好的用户体验。

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)

桌面扩展 (.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)。

DXT Manifest.json 规范

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

Manifest 结构

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

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

Gemini CLI - 开源命令行 AI 智能体

Gemini CLI 是一个专为软件开发者设计的、由AI驱动的交互式命令行工具。作为一个智能助手,它可以直接在您的终端中帮助您完成各种软件工程任务,例如解释代码、编写新功能、修复错误和自动化工作流程。它能够理解您项目的上下文,安全地读写文件、执行命令,并与您协作,从而提高开发效率,是您开发流程中的得力伙伴。

介绍

一个将 Gemini 强大功能直接带入你终端的开源 AI 智能体。

Gemini CLI 提供了强大的 AI 功能,涵盖了从代码理解和文件操作,到命令执行和动态故障排除的方方面面。它对您的命令行体验进行了根本性的升级,让您能够通过自然语言编写代码、调试问题并简化工作流程。

其强大之处源于内置工具,使您能够:

  • 使用 Google 搜索来奠定提示基础,以便您可以抓取网页并为模型提供实时的外部上下文。
  • 通过内置支持模型上下文协议 (MCP) 或捆绑扩展来扩展 Gemini CLI 的功能
  • 自定义提示和指令,根据您的具体需求和工作流程定制 Gemini。
  • 通过在脚本中非交互式地调用 Gemini CLI,实现任务自动化并与现有工作流程集成

Gemini CLI 提供业界最高的免费使用限额,每分钟可发送 60 个模型请求,每天最多 1,000 个模型请求。

安装

安装 Node.js

  • 安装最新的 LTS 版本
nvm install --lts
  • 安装最新的稳定版本
nvm install node

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

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

创建 MCP 服务器

初始化

uv init calculator-mcp-server
cd calculator-mcp-server

创建虚拟环境

uv venv
Using CPython 3.10.9 interpreter at: /opt/miniconda/bin/python3.10
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate

激活虚拟环境

source .venv/bin/activate

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 作为示例。

查看 MCPHub 容器的 Python 环境信息(版本和平台)

进入 MCPHub 容器

docker exec -it mcphub bash

安装 packaging 库

pip install packaging

编辑 get_info.py

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

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

什么是智能路由

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

技术原理

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

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

核心组件

  • 向量嵌入引擎:支持如 text-embedding-3-smallbge-m3 等主流模型,将文本描述转为语义向量。
  • PostgreSQL + pgvector:使用开源向量数据库方案,支持高效的向量索引和搜索。
  • 两步工作流分离
    • search_tools:负责语义工具发现
    • call_tool:执行实际工具调用逻辑

MCPHub:MCP 服务器聚合平台

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

MCPHub 简介

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

🚀 功能亮点

  • 广泛的 MCP 服务器支持:无缝集成任何 MCP 服务器,配置简单。
  • 集中式管理控制台:在一个简洁的 Web UI 中实时监控所有服务器的状态和性能指标。
  • 灵活的协议兼容:完全支持 stdio 和 SSE 两种 MCP 协议。
  • 热插拔式配置:在运行时动态添加、移除或更新服务器配置,无需停机。
  • 基于分组的访问控制:自定义分组并管理服务器访问权限。
  • 安全认证机制:内置用户管理,基于 JWT 和 bcrypt,实现角色权限控制。
  • Docker 就绪:提供容器化镜像,快速部署。

Anthropic: 构建有效的AI智能体

Anthropic 构建有效的AI智能体(总结)

🤯 最近看了Anthropic关于如何构建高效AI智能体的文章,简直是醍醐灌顶!💡 原来最成功的秘诀不是堆砌复杂技术,而是简单可组合的模式!

Anthropic的大佬们和超多团队合作后发现,很多时候我们并不需要“全自动”的智能体,理解不同模式的适用场景超重要!

👇 先搞清楚俩概念:

  • 工作流 (Workflow): 就像搭积木🧱,是预设好的、一步步执行的LLM和工具协调流程。适合任务清晰固定的场景。
  • 智能体 (Agent): 像有个聪明的小脑袋🧠,LLM自己决定怎么走、用什么工具、怎么完成任务。适合需要灵活应变、动态决策的复杂场景。

🌟 什么时候用,什么时候不用?

别一上来就想搞个超级Agent! Anthropic建议从最简单的方案开始:优化单个LLM调用 + 检索/上下文就够了!只有简单方案搞不定时,才考虑更复杂的系统。简单工作流提供稳定可预测性,而智能体提供灵活性,但要权衡成本和速度哦!

⚠️ 框架迷思!

市面上框架一大堆(LangChain, Bedrock Agents...),能帮你快速入门。但Anthropic提醒:它们可能增加抽象层,让调试变难,还可能诱惑你过度设计!💥 划重点: 建议直接用LLM API开始,很多模式几行代码就能实现!用框架也要搞懂底层原理,别被绕晕!

🧱 AI智能体的构建模块:

Cline 概览 - Cline 扩展架构和开发指南

Cline 扩展架构和开发指南

项目概述

Cline 是一个 VSCode 扩展,通过核心扩展后端和基于 React 的 webview 前端的组合提供 AI 辅助功能。该扩展使用 TypeScript 构建,遵循模块化架构模式。

架构概述

定义

  • 核心扩展:src 文件夹内的所有内容,按模块化组件组织
  • 核心扩展状态:由 index.ts 中的 Controller 类管理,作为扩展状态的唯一真实来源。它管理多种类型的持久存储(全局状态、工作区状态和密钥),处理状态在核心扩展和 webview 组件之间的分发,并协调多个扩展实例之间的状态。这包括管理 API 配置、任务历史、设置和 MCP 配置。
  • Webview:webview-ui 内的所有内容。所有用户可见的 react 或视图以及用户交互组件
  • Webview 状态:由 ExtensionStateContext.tsx 中的 ExtensionStateContext 管理,通过上下文提供者模式为 React 组件提供对扩展状态的访问。它维护 UI 组件的本地状态,通过消息事件处理实时更新,管理部分消息更新,并提供状态修改方法。上下文包括扩展版本、消息、任务历史、主题、API 配置、MCP 服务器、市场目录和工作区文件路径。它通过 VSCode 的消息传递系统与核心扩展同步,并通过自定义钩子(useExtensionState)提供类型安全的状态访问。

Cline Documentation

Cline 文档目录

欢迎阅读 Cline 文档 - 这是一份全面的指南,帮助您使用和扩展 Cline 的功能。在这里,您可以找到帮助您入门、提升技能和为项目做出贡献的资源。

入门指南

  • 编程新手? 我们为您准备了温和的入门指南:
    • 编程新手入门指南

提升提示工程技能

  • 想要更有效地与 Cline 沟通? 请探索:
    • 提示工程指南
    • Cline 记忆库

探索 Cline 的工具

为 Cline 做贡献

  • 有兴趣做出贡献? 我们欢迎您的参与:
    • 欢迎提交拉取请求
    • 贡献指南

其他资源

我们一直在努力改进这份文档。如果您有建议或发现需要改进的地方,请告诉我们。您的反馈有助于让 Cline 变得更好。

Cline 入门指南 | 新手程序员

欢迎使用 Cline!本指南将帮助你完成设置并开始使用 Cline 构建你的第一个项目。

你需要准备的东西

在开始之前,请确保你具备以下条件:

  • VS Code: 一个免费且功能强大的代码编辑器。
  • 开发工具: 基础的编程软件(Homebrew、Node.js、Git 等)。
    • 在完成这里的设置后,请参考我们的安装基本开发工具指南,通过 Cline 的帮助来完成这些设置
    • Cline 将指导你安装所需的一切
  • Cline 项目文件夹: 一个专门存放所有 Cline 项目的文件夹。
    • macOS:在你的文档文件夹中创建一个名为 "Cline" 的文件夹
      • 路径:/Users/[你的用户名]/Documents/Cline
    • Windows:在你的文档文件夹中创建一个名为 "Cline" 的文件夹
      • 路径:C:\Users\[你的用户名]\Documents\Cline
    • 在这个 Cline 文件夹内,为每个项目创建单独的文件夹
      • 示例:Documents/Cline/workout-app 用于健身追踪应用
      • 示例:Documents/Cline/portfolio-website 用于个人作品集
  • VS Code 中的 Cline 扩展: 在 VS Code 中安装 Cline 扩展。

MCP 服务器开发协议

开发协议

有效的 MCP 服务器开发的核心是遵循结构化的协议。该协议通过位于 MCP 工作目录根目录(/Users/your-name/Documents/Cline/MCP)中的 .clinerules 文件实现。

使用 .clinerules 文件

.clinerules 文件是一个特殊的配置文件,Cline 会在放置该文件的目录中工作时自动读取。这些文件:

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

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

MCP 快速入门指南

🚀 MCP 快速入门指南

❓ 什么是 MCP 服务器?

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

⚠️ 重要提示:系统要求

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

必需软件

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

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

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

🎯 快速步骤(仅在满足要求后执行!)

1. 🛠️ 安装你的第一个 MCP 服务器

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

Windows 系统: