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

MCPServer编程与CLINE配置调用MCP

1. MCP Server

如下是使用SSE传输机制,将MCP Server放到一个服务器,Cline在另一个服务器上调用该MCP的方式,写的一个简单的MCP服务器代码。

from mcp.server.fastmcp import FastMCP# Create an MCP server
mcp = FastMCP("MyWeatherService",host="0.0.0.0",port=8000)# Tool implementation
@mcp.tool()
def get_weather(location: str) -> str:"""Get the current weather for a specified location."""return f"Weather in {location}: Sunny, 72F"# Run the server
if __name__ == "__main__":mcp.run(transport='sse')

MCP支持两种传输机制:
(1)Server-Sent Events (SSE):MCP Server和Client分别在不同的服务器上。
(2)STDIO:MCP Server和Client位于同一台服务器。

用如下命令,启动mcp服务

(aaa) bbb@ubuntu:/data/ccc/ddd/mcpinit$ python mcpserver.py
INFO:     Started server process [2392864]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

可以看到,mcp会启动Uvicorn,以支持异步、高并发等服务器特性。

2. Cline配置

Cline中,想要调用这个MCP Server上的tool,需要做两个配置:

(1)配置大模型
具体步骤如下图,先点击1处打开大模型配置,然后2处填入多个大模型相关参数:
在这里插入图片描述

(2)配置MCP Server
具体步骤如下,先点击1处打开MCP配置,然后点击2。在3处增加ServerName(MCP Server代码中有指定),在4处填入server url(主要要以sse结尾),点击5就能自动添加。

在这里插入图片描述
添加后,可以在installed窗口,看到这个server,如下图所示
在这里插入图片描述
点击Restart Server,若链接成功(不报错),说明MCP Server配置正常。

按照这个步骤,可以增加多个MCP Server。

3. Cline调用MCP Server中的工具

首先, 输入一个问题
在这里插入图片描述
然后就能看到结果,确实是调用MCP Server中工具的结果(写死的结果“”“Sunny, 72”,调用了get_weather),如下图:

在这里插入图片描述

http://www.xdnf.cn/news/14538.html

相关文章:

  • 1.23Node.js 中操作 mongodb
  • 【Linux-shell】探索Dialog 工具在 Shell 图形化编程中的高效范式重构
  • 让大模型“更懂人话”:对齐训练(RLHF DPO)全流程实战解析
  • 蓝牙 5.0 新特性全解析:传输距离与速度提升的底层逻辑(面试宝典版)
  • 下载链接记录
  • 【Flink实战】 Flink SQL 中处理字符串 `‘NULL‘` 并转换为 `BIGINT`
  • Vue学习笔记
  • 二分查找----1.搜索插入位置
  • C/C++ 高频八股文面试题1000题(一)
  • ROS1/ROS2中工作空间和工作包创建详解
  • 服务网格安全(Istio):用零信任架构重构微服务通信安全
  • 5.3 LED字符设备驱动
  • 深度学习笔记27-LSTM实现糖尿病探索与预测(Pytorch)
  • 实验问题记录:PyTorch Tensor 也会出现 a = b 赋值后,修改 a 会影响 b 的情况
  • 解锁决策树:数据挖掘的智慧引擎
  • IT运维面试常问问题答案
  • QEMU学习之路(10)— RISCV64 virt 使用Ubuntu启动
  • 【C++】哈希表的实现(开放定址法)
  • 服务器手动安装并编译R环境库包:PROJ→RGDAL
  • C++ 11 智能指针 std::weak_ptr
  • 项目开发中途遇到困难的解决方案
  • RISC-V物联网关,支持鸿蒙,T-Thread实时系统
  • 关于Seata的一个小issue...
  • 【蓝牙】Qt4中向已配对的手机发送PDF文件
  • html和css实现文本打断换行、自动换行
  • linux下如何找到dump文件被生成到哪里了
  • 机构运动分析系统开发(Python实现)
  • Excel学习01
  • 257. 二叉树的所有路径(js)
  • DL00215-基于YOLOv11的太阳能电池红外异常检测含数据集