当前位置: 首页 > article >正文

通过MCP让LLM调用系统接口

场景

MCP的出现大大丰富了LLM的功能,对于存量系统,我们希望能让模型调用已有的接口,以最小的成本让AI能够获取系统内部数据。因此我们开发了一个名为http-api-call的MCP Server,来支持模型到内部API的调用

实现方案

使用用标准的MCP协议,重写call_toollist_tool

  • call_tool
    在这里实现调用工具的逻辑,将请求信息转发给已有系统的后端接口调用
  • list_tool
    在这里实现工具列表的查询,返回以及配置的API即可

这样我们将工具列表封装为tool_message,传递给模型,即可让模型自动选择合适的API调用。


#[derive(Debug, Clone)]
pub struct McpService;impl McpService {pub fn new() -> Self {Self {}}/// 添加或更新APIfn add_or_update_api(&self, req: Api) -> Res<()> {}/// 删除APIfn remove_api(&self, req: RemoveApiReq) -> Res<()> {}/// 查询API列表fn list_api(&self, req: Option<ListApiReq>) -> Res<PageRes<Api>> {}
}impl ServerHandler for McpService {async fn call_tool(&self,request: CallToolRequestParam,_context: RequestContext<RoleServer>,) -> Result<CallToolResult, Error> {// 请求转发}fn list_tools(&self,_request: PaginatedRequestParam,_context: RequestContext<RoleServer>,) -> impl Future<Output = Result<ListToolsResult, Error>> + Send + '_ {//返回API列表}
}

配置API:
在这里插入图片描述

在模型中使用API:
在这里插入图片描述

http://www.lryc.cn/news/2379242.html

相关文章:

  • 如何利用Redis实现延迟队列?
  • 【刚下赛场!】2025年江西省电子专题赛 - 现场制作:简易数控直流电流源原题
  • 材料×工艺×AI:猎板PCB重构汽车电子四层板技术逻辑
  • MCP(一)——QuickStart
  • GCC 版本与C++ 标准对应关系
  • Spring AOP从0到1
  • JavaScript 中的 Document 对象详解
  • archlinux按键映射按键自定义
  • 【python】字典和数组的数组
  • 软考IPSEC案例分析
  • C++(23):容器类<vector>
  • Hugo 安装保姆级教程(搭建个人blog)
  • tomcat查看状态页及调优信息
  • 从坏道扫描到错误修复:HD Tune实战指南
  • 将嵌入映射到 Elasticsearch 字段类型:semantic_text、dense_vector、sparse_vector
  • 【LeetCode 热题100】17:电话号码的字母组合(详细解析)(Go语言版)
  • 解决uni-app开发中的“TypeError: Cannot read property ‘0‘ of undefined“问题
  • 翻译:20250518
  • 西门子1200/1500博图(TIA Portal)寻址方式详解
  • 《Python星球日记》 第78天:CV 基础与图像处理
  • 踩坑:uiautomatorviewer.bat 打不开
  • Atcoder Beginner Contest 406
  • 记录一次win11本地部署deepseek的过程
  • 嵌入式STM32学习——外部中断EXTI与NVIC的基础练习⭐
  • 进程状态并详解S和D状态
  • 数据获取_Python
  • <前端小白> 前端网页知识点总结
  • 历史数据分析——宁波海运
  • 小结:jvm 类加载过程
  • OpenCv高阶(八)——摄像头调用、摄像头OCR