从 Stdio 到 HTTP SSE,在 APIPark 托管 MCP Server

news2025/6/7 14:23:32

MCP(Model Context Protocol,模型上下文协议) 是一种由 Anthropic 公司于 2024 年 11 月推出的开源通信协议,旨在标准化大型语言模型(LLM)与外部数据源和工具之间的交互。

它通过定义统一的接口和通信规则,解决 AI 模型因数据孤岛而无法充分利用外部信息的难题,从而提升模型生成响应的准确性、相关性和实用性。

作为一项新兴的开放协议,MCP 为 LLM 与外部应用之间构建了双向通信通道,就像是 AI 的“USB-C”接口,帮助模型发现、理解并安全调用各种外部工具或 API。

这意味着:

1)开发者不再需要为对接每一个外部服务而编写复杂的定制接口。

2)用户可以体验到 AI 轻松调用海量第三方应用的能力,无论是处理日常办公任务、分析数据,还是执行营销自动化,AI 正从“智能对话”迈向“高效行动”。

MCP

MCP 的两种通信模式

MCP 定义了两种主要的通信模式,用于支持本地和远程场景下的数据交互。

本地通信模式(Stdio 模式): 客户端启动服务器程序作为子进程,消息通过标准输入/输出(stdin/stdout)进行数据传输,适用于本地环境下的客户端与服务器通信。这种模式高效、低延迟,适合单机环境,安全性高,无需网络传输,但该模式仅限于本地通信,无法跨设备或远程访问。

远程通信模式(HTTP + SSE 模式):
通过基于 HTTP 的服务器发送事件(Server-Sent Events, SSE)进行通信,适用于客户端与服务器部署在不同设备或远程环境的情况。该模式灵活性高,支持跨设备和远程交互。适合实时性要求高的场景,如动态数据查询。

MCP 的两种通信模式

APIPark 一键配置 MCP Server

APIPark 提供高效解决方案,将 API 快速转为 MCP(Model Context Protocol)Server,简化大型语言模型(LLM)与外部数据源的集成。

相较传统 Stdio 模式仅限本地的局限,APIPark 通过 HTTP + SSE 模式支持跨设备访问,无需本地环境即可调用,提升灵活性和可访问性。

开发者可轻松将 API 功能暴露给 AI 模型,实现高效的上下文交互和工具调用。

APIPark 支持两种 MCP Server 类型,满足不同场景需求:

系统级别 MCP Server:

  • 功能: 统一访问平台所有公开服务,简化多服务集成。
  • 适用场景: 构建多模态 AI 智能体或自动化工作流,如集成 CRM、ERP 和第三方 API。优势: 降低开发成本,支持动态扩展,适合复杂协作场景。

服务级别 MCP Server:

  • 功能: 以单一服务为单位托管 API,提供细粒度权限控制。

  • 适用场景: 敏感数据安全集成(如财务 API)、定制化 AI 应用或多租户系统。

  • 优势: 高安全性,支持服务定制和隔离。

前期准备

接下来我们将以获取天气信息为例,演示如何配置 MCP Server。

操作前需准备

1)升级 APIPark :安装或升级 APIPark 至 v1.7.2-beta 或更高版本,以支持最新的 MCP Server 功能和优化。

2)准备 API 服务: 确保您有一个可调用的 API 服务(如 RESTful ),且服务正常运行。

3)OpenAPI 文档: 准备规范的 OpenAPI(JSON/YAML)文档,包含端点、参数和认证信息。

4)准备 MCP 客户端: 准备一个 MCP 客户端工具或应用程序(如:Cline、Dify、Cursor、Claude等),用于测试和验证 MCP Server 的功能和响应,确保服务正常运行。

注意:确保 API 文档格式规范(如 JSON 或 YAML),以提高 APIPark 的解析效率。

示例 OpenAPI 文档如下:

  info:
  description: 基于APISpace提供的环境天气接口,支持实时天气查询和15天内的天气预报查询
  license:
    name: Eolink
    url: https://www.eolink.com
  title: 环境天气查询-V1.0
  version: "1.0"
openapi: 3.0.3
paths:
  /456456/function/v001/city:
    get:
      summary: 城市ID和经纬度搜索(支持全球城市)
      tags:
        - 默认分组
      ...
  /456456/weather/v001/day:
    get:
      summary: 天气预报
      tags:
        - 默认分组
      ...
  /456456/weather/v001/now:
    get:
      summary: 智能天气实况
      tags:
        - 默认分组
      ...
tags:
  - name: 默认分组

〇开始配置

  1. 点击系统设置 - API Key , 点击 新增 APIKey ,填入名称信息。
    在这里插入图片描述

该步骤给 APIPark 添加全局的 APIKey,用户可通过该合法有效的 API 密钥,安全访问 APIPark 提供的 OpenAPI,快速实现与第三方系统的集成。

同时,该模块支持使用 API 密钥访问系统级 MCP(模型上下文协议)Server 功能,方便 MCP Client(如 Claude、Cursor、Cline 等)快速接入。

  1. 点击 工作空间 - 首页 - 添加 Rest 服务

在这里插入图片描述

  1. 将上文中的 OpenAPI 文档导入,点击 确认 后,便可一键生成 Rest 服务。

在这里插入图片描述

  1. 点击 工作空间 - 服务,选中刚刚创建的 Rest 服务。

在这里插入图片描述

  1. 点击 设置,修改服务名称和服务描述,以便让 AI Agent 更加清晰了解服务的功能。

在这里插入图片描述

此处选择 开启 MCP,开启后,该服务会托管到系统级别 MCP Server服务级别 MCP Server 中;若不开启,则服务只能通过系统级别 MCP Server 调用。

  1. 点击上游,填写上游信息。

在这里插入图片描述

  1. 点击API导航 ,点击后方的编辑按钮

在这里插入图片描述

  1. 编辑 API,修改 转发上游路径 并添加 转发上游请求头

在这里插入图片描述

由于上游服务需要进行请求头部 x-apispace-token 进行鉴权,因此在该步骤中,我们加上了 转发上游请求头,网关转发请求给上游服务时,便会自动携带该请求头部。

  1. 点击发布,新建版本。

在这里插入图片描述

填写完成版本信息后,点击确认。

在这里插入图片描述
在这里插入图片描述

至此,API 转换 MCP 服务步骤完成,接下来,我们可以使用 MCP 客户端去接入APIPark MCP Server。

〇 MCP 客户端使用 MCP Server

使用系统级别 MCP 服务

1)点击 系统设置 - MCP 服务 ,进入系统 MCP 服务界面,获取 MCP 配置。

在这里插入图片描述

2)打开 Cline,配置 MCP Server,将上一步的信息复制进去配置文件中。

在这里插入图片描述

配置完成后,进行对话,如下:

在这里插入图片描述

在这里插入图片描述

使用服务级别 MCP 服务

1)点击 API 门户,选中天气预报查询服务,进入详情页面。

在这里插入图片描述
2)申请订阅
在这里插入图片描述
3)点击 MCP,获取 MCP 配置。
在这里插入图片描述

4)打开 Cline,配置 MCP Server,将上一步的信息复制进去配置文件中。

在这里插入图片描述

5)配置完成后,进行对话,如下:

在这里插入图片描述

以上是 APIPark 托管 MCP 的内容,如果您也对 APIPark 感兴趣,并有意向参与项目的开源共建,请登录 APIPark Github 仓给我们开源团队提出您宝贵的建议!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2401367.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql锁及其分类

目录 InnoDb锁Shared locks(读锁) 和 Exclusive locks(写锁)Exclusive locksShared locks Intention Locks(意向锁)为什么要有意向锁? Record Locks(行锁)Gap Locks(间隙锁)Next-Key LocksInsert Intention Locks(插入…

Postgresql源码(146)二进制文件格式分析

相关 Linux函数调用栈的实现原理(X86) 速查 # 查看elf头 readelf -h bin/postgres# 查看Section readelf -S bin/postgres (gdb) info file (gdb) maint info sections# 查看代码段汇编 disassemble 0x48e980 , 0x48e9b0 disassemble main# 查看代码段某…

【设计模式-4.11】行为型——解释器模式

说明:本文介绍行为型设计模式之一的解释器模式 定义 解释器模式(Interpreter Pattern)指给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。解释器模式是一种…

【已解决】MACOS M4 芯片使用 Docker Desktop 工具安装 MICROSOFT SQL SERVER

1. 环境准备 确认 Docker Desktop 配置 确保已安装 Docker Desktop for Mac (Apple Silicon)(版本 ≥ 4.15.0)。开启 Rosetta(默认开启): 打开 Docker Desktop → Settings → General → Virtual Machine Options …

Quipus系统的视频知识库的构建原理及使用

1 原理 VideoRag在LightRag基础上增加了对视频的处理,详细的分析参考LightRag的兄弟项目VideoRag系统分析-CSDN博客。 Quipus的底层的知识库的构建的核心流程与LightRag类似,但在技术栈的选择和处理有所不同。Quipus对于视频的处理实现,与Vi…

web3-去中心化金融深度剖析:DEX、AMM及兑换交易传播如何改变世界

web3-去中心化金融深度剖析:DEX、AMM及兑换交易传播如何改变世界 金融问题 1.个人投资:在不同的时间和可能的情况(状态)下积累财富 2.商业投资:为企业家和企业提供投资生产性活动的资源 目标:跨越时间和…

国芯思辰|SCS5501/5502芯片组打破技术壁垒,重构车载视频传输链路,兼容MAX9295A/MAX96717

在新能源汽车产业高速发展的背景下,电机控制、智能驾驶等系统对高精度信号处理与高速数据传输的需求持续攀升。 针对车载多摄像头与自动驾驶辅助系统对长距离、低误码率、高抗干扰性数据传输的需求,SCS5501串行器与SCS5502解串器芯片组充分利用了MIPI A…

压敏电阻的选型都要考虑哪些因素?同时注意事项都有哪些?

压敏电阻,英文名简称VDR,电子元器件中重要的成员之一,是一种非线性伏安特性的电阻器件,有电阻特性的同时,也拥有其他自身的特性,广泛应用于众多领域。在电源系统、安防系统、浪涌抑制器、电动机保护、汽车电…

用WPDRRC模型,构建企业安全防线

文章目录 前言什么是 WPDRRC 模型预警(Warning)保护(Protection)检测(Detection)响应(Response)恢复(Recovery)反击(Counterattack) W…

使用 Amazon Q Developer CLI 快速搭建各种场景的 Flink 数据同步管道

在 AI 和大数据时代,企业通常需要构建各种数据同步管道。例如,实时数仓实现从数据库到数据仓库或者数据湖的实时复制,为业务部门和决策团队分析提供数据结果和见解;再比如,NoSQL 游戏玩家数据,需要转换为 S…

Linux 里 su 和 sudo 命令这两个有什么不一样?

《小菜狗 Linux 操作系统快速入门笔记》目录: 《小菜狗 Linux 操作系统快速入门笔记》(01.0)文章导航目录【实时更新】 Linux 是一个多用户的操作系统。在 Linux 中,理论上来说,我们可以创建无数个用户,但…

JAVASCRIPT 简化版数据库--智能编程——仙盟创梦IDE

// 数据模型class 仙盟创梦数据DM {constructor(key) {this.key ${STORAGE_PREFIX}${key};this.data this.加载数据();}加载数据() {return JSON.parse(localStorage.getItem(this.key)) || [];}保存() {localStorage.setItem(this.key, JSON.stringify(this.data));}新增(it…

命名管道实现本地通信

目录 命名管道实现通信 命名管道通信头文件 创建命名管道mkfifo 删除命名管道unlink 构造函数 以读方式打开命名管道 以写方式打开命名管道 读操作 写操作 析构函数 服务端 客户端 运行结果 命名管道实现通信 命名管道通信头文件 #pragma#include <iostream> #include &l…

iOS上传应用包错误问题 “Invalid bundle. The “UIInterfaceOrientationPortrait”“

引言 在开发 iOS 应用的整个生命周期中&#xff0c;打包上传到 App Store 是一个至关重要的步骤。每一次提交&#xff0c;Xcode 都会在后台执行一系列严格的校验流程&#xff0c;包括对 Info.plist 配置的检查、架构兼容性的验证、资源完整性的审查等。如果某些关键项配置不当…

猎板厚铜PCB工艺能力如何?

在电子产业向高功率、高集成化狂奔的今天&#xff0c;电路板早已不是沉默的配角。当5G基站、新能源汽车、工业电源等领域对电流承载、散热效率提出严苛要求时&#xff0c;一块能够“扛得住大电流、耐得住高温”的厚铜PCB&#xff0c;正成为决定产品性能的关键拼图。而在这条赛道…

Flutter快速上手,入门教程

目录 一、参考文档 二、准备工作 下载Flutter SDK&#xff1a; 配置环境 解决环境报错 zsh:command not found:flutter 执行【flutter doctor】测试效果 安装Xcode IOS环境 需要安装brew&#xff0c;通过brew安装CocoaPods. 复制命令行&#xff0c;打开终端 分别执行…

算法:前缀和

1.【模版】前缀和 【模板】前缀和_牛客题霸_牛客网 这道题如果使用暴力解法时间复杂度为O(n*m)&#xff0c;会超时&#xff0c;所以要使用前缀和算法。 前缀和->快速求出数组中某一个连续区间的和。 第一步&#xff1a;预处理出一个前缀和数组 dp。 dp[i]表示[1, i] 区间…

DEVICENET转MODBUS TCP网关与AB数据输出模块的高效融合方案研究

在工业自动化领域&#xff0c;多样化的设备通常采用不同的通信协议&#xff0c;这为系统集成带来了显著的挑战。特别是在需要将遵循DeviceNet协议的设备与基于MODBUS TCP协议的系统进行互连时&#xff0c;这一挑战尤为突出。AB数据输出作为一种功能卓越的DeviceNet分布式输入/输…

牛客小白月赛113

前言&#xff1a;这场的E题补的我头皮都发麻了。 A. 2025 题目大意&#xff1a;一个仅有‘-’‘*’组成的字符串&#xff0c;初始有一个sum 1&#xff0c; 从左到右依次遍历字符串&#xff0c;遇到-就让sum--&#xff1b;遇到*就让sum* 2&#xff0c;问sum有没有可能大于等于…

Mac版本Android Studio配置LeetCode插件

第一步&#xff1a;Android Studio里面找到Settings&#xff0c;找到Plugins&#xff0c;在Marketplace里面搜索LeetCode Editor。 第二步&#xff1a;安装对应插件&#xff0c;并在Tools->LeetCode Plugin页面输入帐号和密码。 理论上&#xff0c;应该就可以使用了。但是&a…