66 篇文章带有标签 “mcp”

MCP Python SDK

概述

Model Context Protocol 允许应用程序以标准化的方式为 LLM 提供上下文,将提供上下文的关注点与实际的 LLM 交互分离开来。这个 Python SDK 实现了完整的 MCP 规范,使您能够轻松地:

  • 构建可连接到任何 MCP 服务器的 MCP 客户端
  • 创建暴露资源、提示和工具的 MCP 服务器
  • 使用标准传输方式如 stdio 和 SSE
  • 处理所有 MCP 协议消息和生命周期事件

安装

将 MCP 添加到您的 Python 项目中

我们推荐使用 uv 来管理您的 Python 项目。在由 uv 管理的 Python 项目中,通过以下方式将 mcp 添加到依赖项:

uv add "mcp[cli]"

或者,对于使用 pip 管理依赖的项目:

pip install mcp

运行独立的 MCP 开发工具

要使用 uv 运行 mcp 命令:

uv run mcp

快速开始

让我们创建一个简单的 MCP 服务器,它暴露一个计算器工具和一些数据:

Model Context Protocol (MCP) 的核心概念和能力

Introduction简介

Model Context Protocol (MCP) 入门

MCP 是一个开放协议,用于标准化应用程序向 LLM 提供上下文的方式。可以将 MCP 视为 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准化方式。

为什么选择 MCP?

MCP 帮助您在 LLM 之上构建代理和复杂的工作流程。LLM 经常需要与数据和工具集成,而 MCP 提供了:

  • 越来越多的预构建集成,您的 LLM 可以直接插入
  • 在 LLM 提供商和供应商之间切换的灵活性
  • 在您的基础设施中保护数据的最佳实践

一般架构

MCP 的核心遵循客户端-服务器架构,其中主机应用程序可以连接到多个服务器:

flowchart LR
    subgraph "您的计算机"
        Host["带有 MCP 客户端的主机<br>(Claude、IDE、工具)"]
        S1["MCP 服务器 A"]
        S2["MCP 服务器 B"]
        S3["MCP 服务器 C"]
        Host <-->|"MCP 协议"| S1
        Host <-->|"MCP 协议"| S2
        Host <-->|"MCP 协议"| S3
        S1 <--> D1[("本地<br>数据源 A")]
        S2 <--> D2[("本地<br>数据源 B")]
    end
    subgraph "互联网"
        S3 <-->|"Web APIs"| D3[("远程<br>服务 C")]
    end
  • MCP 主机:希望通过 MCP 访问数据的程序,如 Claude Desktop、IDE 或 AI 工具
  • MCP 客户端:维护与服务器 1:1 连接的协议客户端
  • MCP 服务器:轻量级程序,每个程序通过标准化的模型上下文协议公开特定的功能
  • 本地数据源:您的计算机的文件、数据库和服务,MCP 服务器可以安全地访问
  • 远程服务:通过互联网(例如,通过 API)可用的外部系统,MCP 服务器可以连接到

Core architecture(核心架构)

了解 MCP 如何连接客户端、服务器和 LLM

continue: config.yaml Reference

config.yaml Reference

简介

Continue hub 助手使用 config.yaml 规范定义。本地助手也可以通过放置在全局 .continue 文件夹中的 YAML 文件 config.yaml 进行配置(Mac 上为 ~/.continue,Windows 上为 %USERPROFILE%\.continue)

:::info Config YAML 替代了 config.json。查看迁移指南。 :::

一个助手由以下部分组成:

  1. 顶级属性,用于指定助手的 name、version 和 config.yaml 的 schema
  2. 块列表,这些是可组合的编码助手构建块数组,可供助手使用,如模型、文档和上下文提供者。

块是编码助手的一个独立构建块,例如一个模型或一个文档来源。在 config.yaml 语法中,块包含与助手相同的顶级属性(name、version 和 schema),但在其所属的块类型下只有一个项目。

可以在 Continue hub 上找到块和助手的示例。

助手可以显式定义块(参见下面的属性),也可以导入和配置现有的 hub 块。

使用块

Hub 块和助手通过格式为 owner-slug/block-or-assistant-slug 的标识符识别,所有者可以是用户或组织。

可以通过在块类型下添加 uses 子句将块导入到助手中。

模型上下文协议 (MCP) 全面解析:原理、应用与实现

这篇文章是使用 Google Gemini Deep Research 生成的。提示词:研究 Model Context Protocol

1. 模型上下文协议 (MCP) 导论

大型语言模型 (LLMs) 在理解和生成人类语言方面取得了显著的进步。然而,这些模型本质上是孤立的,它们的知识仅限于训练数据,并且缺乏与外部世界交互的能力 1。为了克服这些限制,将 LLMs 与外部数据源和工具集成变得至关重要 1。传统上,这种集成是通过为每个新的数据源或工具开发定制的连接器来实现的 1。这种方法导致了集成工作的重复,难以扩展,并且维护成本高昂,阻碍了上下文感知 AI 的广泛采用 1。

为了应对这一挑战,模型上下文协议 (MCP) 应运而生 1。MCP 是一种开放标准,旨在规范应用程序如何向 LLMs 提供上下文和工具 6。可以将 MCP 视为 AI 应用程序的通用连接器,类似于 USB-C 标准化了设备和外设之间的连接 6。通过提供一种标准化的方式将 AI 模型连接到各种数据源和工具,MCP 简化了集成,增强了互操作性,并促进了可扩展性 6。

本报告旨在对模型上下文协议 (MCP) 进行全面的解析,涵盖其基本原理、核心架构、通信机制、广泛的应用场景以及客户端和服务器端的创建方法。通过深入理解 MCP,开发者和组织可以更好地利用这一新兴标准,构建更智能、更具上下文感知能力的 AI 应用。

使用 Cline 构建和管理 MCP 服务器:增强 AI 能力的全面指南

Cline 和模型上下文协议 (MCP) 服务器:增强 AI 能力

快速链接:

  • 从 GitHub 构建 MCP 服务器
  • 从头开始构建自定义 MCP 服务器

本文档解释了模型上下文协议 (MCP) 服务器的功能以及 Cline 如何帮助构建和使用它们。

概述

MCP 服务器充当大型语言模型 (LLM)(如 Claude)与外部工具或数据源之间的中介。它们是向 LLM 提供功能的小程序,使其能够通过 MCP 与外部世界交互。MCP 服务器本质上就像 LLM 可以使用的 API。

核心概念

MCP 服务器定义了一组"工具",即 LLM 可以执行的函数。这些工具提供了广泛的功能。

MCP 的工作原理:

  • MCP 主机发现连接的服务器的功能并加载它们的工具、提示和资源。
  • 资源提供对只读数据的一致访问,类似于文件路径或数据库查询。
  • 安全性由服务器隔离凭证和敏感数据来确保。交互需要明确的用户批准。

使用场景

MCP 服务器的潜力非常广阔。它们可以用于多种用途。

以下是 MCP 服务器的一些具体使用示例:

  • Web 服务和 API 集成:
    • 监控 GitHub 存储库的新问题
    • 根据特定触发器发布 Twitter 更新
    • 检索基于位置的服务的实时天气数据
  • 浏览器自动化:
    • 自动化 Web 应用程序测试
    • 抓取电子商务网站进行价格比较
    • 为网站监控生成截图
  • 数据库查询:
    • 生成每周销售报告
    • 分析客户行为模式
    • 为业务指标创建实时仪表板

Cline: 自主编程助手

开发

克隆仓库

git clone https://github.com/cline/cline.git

打开项目

code cline

安装依赖

npm run install:all

安装 esbuild problem matchers 扩展

如果构建项目时遇到问题,请安装 esbuild problem matchers 扩展。

Activating task providers npm
错误: problemMatcher 引用无效: $esbuild-watch

启动

打开 运行和调试 侧边栏,运行 Run Extension,或者按 F5 键启动调试,打开一个新的 VSCode 窗口,加载扩展。

配置

配置模型 Ollama

智能体编码

查看 issue

显示 issue

创建分支

修复 issue

运行 RAGFlowAssistant

安装 GitHub MCP Server