返回市场
MCP服务器

MCP服务器

作者:settlemint15 星标更新:2025-11-24

项目介绍

<p align="center"> <img src="https://github.com/settlemint/sdk/blob/main/logo.svg" width="200px" align="center" alt="SettleMint logo" /> <h1 align="center">SettleMint SDK</h1> <p align="center"> ✨ <a href="https://settlemint.com">https://settlemint.com</a> ✨ <br/> 轻松地将SettleMint集成到您的应用程序中。 </p> </p> <p align="center"> <a href="https://github.com/settlemint/sdk/actions?query=branch%3Amain"><img src="https://github.com/settlemint/sdk/actions/workflows/build.yml/badge.svg?event=push&branch=main" alt="CI状态" /></a> <a href="https://fsl.software" rel="nofollow"><img src="https://img.shields.io/npm/l/@settlemint/sdk-mcp" alt="许可证"></a> <a href="https://www.npmjs.com/package/@settlemint/sdk-mcp" rel="nofollow"><img src="https://img.shields.io/npm/dw/@settlemint/sdk-mcp" alt="npm"></a> <a href="https://github.com/settlemint/sdk" rel="nofollow"><img src="https://img.shields.io/github/stars/settlemint/sdk" alt="星数"></a> </p> <div align="center"> <a href="https://console.settlemint.com/documentation">文档</a> <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span> <a href="https://www.npmjs.com/package/@settlemint/sdk-mcp">NPM</a> <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span> <a href="https://github.com/settlemint/sdk/issues">问题</a> <br /> </div>

目录

关于

SettleMint模型上下文提供者提供了一种简单的方法,将大型语言模型(LLM)、AI集成开发环境(IDE)或AI代理与SettleMint平台以及已部署的应用场景进行集成。

模型上下文协议(MCP)简介

模型上下文协议(MCP)是一个框架,旨在通过提供结构化的、上下文的数据访问来增强AI代理和大型语言模型(LLM)的能力。它充当AI模型与各种数据源之间的桥梁,如区块链网络、外部API、数据库和开发环境。本质上,MCP允许AI模型从外部世界获取相关上下文,从而实现更明智的推理和交互。

MCP不是一个单一工具,而是一种标准化协议。这意味着它定义了AI应如何请求信息以及外部系统应该如何响应。通过遵循这一标准,不同的工具和系统可以以一致的方式与AI代理通信。结果是,AI模型可以超越其训练知识,无缝地与实时数据和现实世界应用程序互动。

为什么MCP重要?

现代AI模型非常强大,但传统上作为封闭系统运行——它们基于训练数据中学到的模式生成响应,而不了解外部系统的当前状态。这种缺乏实时上下文可能是限制因素。MCP之所以重要,是因为它弥合了这一差距,使AI能够在实时中变得具有上下文感知和行动导向。

以下是MCP重要的几个原因:

  • 动态数据访问:MCP允许AI模型无缝地与外部生态系统(例如区块链网络或Web API)互动。这意味着AI代理可以在运行时查询数据库或区块链账本以获取最新信息,而不是仅仅依赖过时的训练数据。
  • 实时上下文:通过提供结构化、实时的数据访问(如智能合约状态或应用程序状态),MCP确保AI的决策和响应是由当前世界状态所告知的。这种上下文感知导致更准确和相关的成果。
  • 扩展能力:借助MCP,AI代理不仅可以检索数据,还可以执行操作。例如,AI可以通过MCP触发区块链交易或更新记录。这增强了代理的决策能力,并提供了精确、领域特定的上下文和执行能力。
  • 减少复杂性:开发人员受益于MCP,因为它提供了一个统一的接口来访问各种数据源。无需为每个外部系统编写自定义集成代码,AI代理可以使用MCP作为多个来源的单一通道。这简化了开发并减少了错误。

总体而言,MCP通过连接AI到实时数据并使其能够在外系统中执行任务,使AI更加知情、适应性强且有用。它是朝着能够真正理解和与周围世界互动的AI迈出的重要一步。

关键特性和优势

MCP引入了几项关键特性,为AI开发者和最终用户带来了显著的好处:

  • 上下文感知:AI模型获得了按需访问实时信息和上下文的能力。AI代理不再孤立运作,而是可以请求特定数据(如“区块链上的最新区块是什么?”或“从数据库中获取用户资料”),并利用这些上下文来定制其响应。这导致了更准确和情境适当的成果。
  • 区块链集成:MCP提供了直接连接到链上数据和智能合约功能的途径。AI代理可以查询区块链状态(例如检查代币余额或读取合约变量),甚至可以通过MCP调用合约方法。这开启了AI管理区块链操作、DeFi自动化等可能性,所有这些都是通过一个标准化接口实现的。
  • 自动化能力:通过对外部系统的结构化访问,AI代理不仅可以读取数据,还可以采取行动。例如,AI可以自动调整智能合约参数、发起交易或更新存储库中的配置文件。这些自动化能力使得创建能够自主管理基础设施或应用程序的智能代理成为可能,根据指定指南进行操作。
  • 安全性和控制:MCP设计时考虑了安全性(稍后会详细介绍)。它提供了一个受控环境,其中对外部数据和操作的访问可以被监控和隔离。这确保了AI代理仅执行允许的操作,并且敏感数据可以通过MCP框架内的身份验证和权限设置得到保护。

通过结合这些特性,MCP极大地扩展了AI代理的功能。它将被动模型转变为能够感知和影响外部系统的主动参与者——所有这些都在安全、结构化的环境中进行。

MCP如何工作

核心概念

在核心层面,MCP充当AI模型与外部数据源之间的中间件。与其将所有可能的知识和工具嵌入AI中,MCP保持AI模型精简,并将数据获取和执行任务委托给外部服务。AI和MCP通过定义的协议进行通信:

  1. AI代理(客户端):AI代理(例如LLM或任何AI驱动的应用程序)制定一个信息请求或动作请求。此请求以MCP理解的标准格式表达。例如,AI可能会询问:“从区块链Z上的智能合约Y中获取变量X的值”,或者“从项目目录中获取文件ABC的内容。”
  2. MCP服务器(中介):MCP服务器接收请求并解释它。它充当知道如何连接到各种外部系统的中介。服务器将确定哪个外部源需要用于该请求(区块链、API、文件系统等),并使用适当的连接器或处理器来完成查询。
  3. 外部数据源:这可以是区块链节点、API端点、数据库,甚至是本地开发环境。MCP服务器与外部源通信,例如通过API调用、查询区块链节点或从磁盘读取文件。
  4. 上下文响应:外部源返回请求的数据(或动作的结果)。然后,MCP服务器将这些信息格式化成AI代理可以轻松理解的结构化响应。这可能涉及将原始数据转换为更简单的JSON结构或文本格式。
  5. 返回给AI:MCP服务器将格式化后的数据发送回AI代理。AI可以将这些数据纳入其推理中,或继续其工作流程,使用新的上下文。从AI模型的角度来看,就好像它只是扩展了其知识或成功地执行了外部操作一样。

MCP的魅力在于它抽象了各种数据源之间的差异。AI代理不需要知道如何调用区块链或如何查询数据库;它只需发出一个通用请求,MCP处理其余部分。这种模块化方法意味着可以在不改变AI请求方式的情况下向MCP添加新连接器以支持额外的数据源。

技术流程

让我们逐步走一遍使用MCP的典型技术流程:

  1. AI发出请求:AI代理使用MCP SDK或API发送请求。例如,在代码中可能会调用类似mcp.fetch("settlemint", "getContractState", params)的函数——其中"settlemint"可能指定了目标MCP服务器或上下文。
  2. MCP解析请求:MCP服务器(在这种情况下,可能是SettleMint MCP服务器)接收到请求。请求将包括所需操作的标识符以及任何必要的参数(如需要哪个区块链网络、合约地址或文件路径)。
  3. 连接器激活:基于请求类型,MCP选择合适的连接器或模块。对于区块链查询,它可能会使用配置有网络访问和凭据的区块链连接器。对于文件系统查询,它会使用带有指定路径的文件连接器。
  4. 数据检索/动作执行:MCP执行动作。如果是数据检索,它会获取数据:例如,调用区块链节点的API以获取合约状态,或从本地文件中读取。如果是动作(如执行交易或写入文件),它将使用其拥有的凭据和上下文执行该操作。
  5. 数据格式化:原始结果通常是以源特定的格式(例如来自Web API的JSON,来自文件的二进制等)。MCP将结果格式化或序列化为标准格式(通常是JSON或文本表示形式),以便AI模型可以轻松消费。它还可能包含元数据,如时间戳或成功/失败状态。
  6. 响应给AI:MCP将格式化的响应发送回AI代理。实际上,这可能是SDK函数调用的返回值,或者如果使用网络设置,则通过websocket或HTTP发送的消息。
  7. AI继续处理:有了新数据,AI可以调整其计划,生成更明智的答案,或触发进一步的动作。例如,如果AI被问及用户/区块链余额的问题,现在可以从MCP获取余额并将其包含在其答案中。如果AI正在自主管理某些事情,它可能会根据数据决定下一步。

这个流程快速且经常在后台发生。从高层次角度来看,MCP即时扩展了AI的能力。AI专注于决策和语言生成,而MCP则负责在外部系统中获取数据和执行命令的繁琐工作。

关键组件

MCP由几个核心组件组成,共同实现了上述流程:

flowchart LR
    A[AI Agent / LLM] --(1) 请求--> B{{MCP Server}}
    subgraph MCP Server
        B --> C1[Blockchain Connector]
        B --> C2[API Connector]
        B --> C3[File System Connector]
    end
    C1 -- 查询/获取 --> D[(Blockchain Network)]
    C2 -- API调用 --> E[(External API/Data Source)]
    C3 -- 读取/写入 --> F[(Local File System)]
    D -- 数据 --> C1
    E -- 数据 --> C2
    F -- 文件数据 --> C3
    B{{MCP Server}} --(2) 格式化数据--> A[AI Agent / LLM]
  • MCP服务器:这是运行并监听来自AI代理请求的中央服务或守护进程。它可以被视为MCP的大脑,协调一切。MCP服务器被配置为知道各种数据源及其连接方式。实践中,您可能会在本地或服务器上运行一个MCP服务器进程,而您的AI代理将通过API(如HTTP请求、RPC调用或通过SDK)与其通信。
  • MCP SDK / 客户端库:为了简化使用,MCP提供了多种编程语言的SDK。开发人员将其包含在AI代理代码中。SDK处理与MCP服务器的通信细节,因此开发人员可以简单地调用函数或方法(如mcp.getData(...)),而无需手动构造网络调用。SDK确保请求正确格式化并发送到MCP服务器,然后接收响应并将其交给AI程序。
  • 连接器 / 适配器:这些是在MCP服务器内部的模块或插件,知道如何与特定类型的外部系统通信。一个连接器可能处理区块链交互(子模块用于Ethereum、Hyperledger等),另一个可能处理Web API(执行HTTP调用),另一个可能管理本地操作系统操作(文件系统访问、运行shell命令)。每个连接器都了解其领域的动作集和数据格式。连接器使MCP可扩展——可以添加新的连接器以支持新的系统或协议。
  • 配置文件:MCP通常使用配置(如JSON或YAML)来知道要激活哪些连接器以及如何到达外部服务。例如,您可能会配置一个MCP实例,指定区块链节点的URL、外部服务的API密钥或文件路径权限。配置确保在运行时MCP服务器拥有安全正确执行请求所需的全部信息。
  • 安全层:由于MCP可以访问敏感数据并执行操作,因此它包含一个安全层。这可能涉及API密钥(如示例中的--pat个人访问令牌)或连接到区块链和数据库的身份验证。安全层还强制执行权限:它可以限制AI代理通过MCP可以做什么,防止滥用。例如,您可以允许对某些数据的只读访问,但不允许任何写入或状态更改操作,除非获得额外批准。

这些组件共同使MCP稳健且灵活。关注分离(AI vs MCP vs 连接器)意味着每个部分都可以独立进化或维护。例如,如果引入了一个新的区块链,您可以为其添加一个连接器,而无需更改AI如何请求数据。或者,如果AI模型更新了,它仍然可以使用相同的MCP服务器和连接器。

SettleMint的MCP实现

SettleMint是一个领先的区块链集成平台,已经采用并实现了MCP,赋予AI代理区块链智能和基础设施控制能力。在SettleMint的实现中,MCP充当AI驱动应用程序与SettleMint平台管理和监控的区块链环境之间的桥梁。这意味着AI代理可以深入交互区块链资源(如智能合约、交易和网络数据),也可以通过标准化接口与底层基础设施(节点、中间件)交互。

通过利用MCP,SettleMint使以下场景成为可能:

  • AI助手可以实时查询链上数据,例如检索智能合约的状态或最新的区块信息。
  • 自主代理可以在没有人工干预的情况下管理区块链基础设施任务(部署合约、调整配置),由AI决策指导。
  • 使用SettleMint的开发人员可以相对轻松地将高级AI功能集成到他们的区块链应用程序中,因为MCP处理了连接两个世界的繁重工作。
sequenceDiagram
    participant AI as AI Model (Agent)
    participant MCP as MCP Server
    participant Chain as The Graph / Portal / Node
    participant API as External API

    AI->>MCP: (1) 查询请求(例如,获取合约状态)
    Note over AI,MCP: AI 向 MCP 请求链上数据
    MCP-->>AI: (2) 确认并处理

    MCP->>Chain: (3) 从区块链获取数据
    Chain-->>MCP: (4) 返回合约状态

    MCP->>API: (5) [可选] 获取相关链外数据
    API-->>MCP: (6) 返回外部数据

    MCP-->>AI: (7) 发送组合响应
    Note over AI,MCP: AI 接收链上数据(以及其他上下文)

    AI->>MCP: (8) 动作请求(例如,执行交易)
    MCP->>Chain: (9) 将交易提交到区块链
    Chain-->>MCP: (10) 返回交易结果/收据
    MCP-->>AI: (11) 确认动作结果

总之,SettleMint的MCP版本扩展了其平台的能力,使AI驱动的区块链操作成为可能。这种结合将区块链的信任和透明度与AI的适应性和智能结合起来。

功能和特性

SettleMint的MCP实现具备丰富的功能,专门针对区块链-AI集成:

  • 无缝IDE集成:SettleMint的工具在常见的开发环境中工作,这意味着您可以在开发工作流的上下文中使用MCP。例如,如果您正在编写智能合约或应用程序,AI代理(如代码助手)可以使用MCP从IDE中获取区块链状态或部署合约。这通过在编码时提供实时区块链反馈和操作来简化开发。
  • 自动化合同管理:AI代理可以通过MCP与智能合约交互甚至修改它们。这包括部署新合约、调用现有合约上的函数或侦听事件。例如,AI运营代理可以检测到DeFi合约中的异常并通过SettleMint使用MCP触发该合约的安全功能,所有这些都自动进行。
  • AI驱动分析:通过MCP,AI模型可以分析区块链数据以获得洞察和预测。SettleMint的平台可以通过MCP将交易历史、代币移动或网络指标传递给专门用于分析的AI模型。AI可以识别欺诈交易模式或预测网络拥堵,并将这些洞察反馈到区块链应用程序或管理员。

这些功能展示了SettleM-Int的MCP集成不仅仅是基本的区块链链接,而是一整套解决方案,使区块链数据和控制对AI有意义地可用。它有效地使区块链网络智能化,允许AI持续监控并对链上事件作出反应。

在AI和区块链中的应用

通过结合AI和区块链的优势,SettleMint解锁了几个强大的用例:

  • AI驱动的智能合约管理