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),如下图:

在这里插入图片描述

### 配置 Cline MCP 的集成及参数设置 Cline 是一种用于简化智能体开发的工具,而 MCP(Multi-Agent Communication Protocol)协议则提供了多代理通信的标准框架。两者的结合可以显著提升智能体的安全性和灵活性[^1]。 以下是关于如何配置 ClineMCP 的集成及相关参数设置的具体方法: #### 1. 安装依赖环境 在开始之前,需确保已安装必要的软件包和库文件。通常情况下,可以通过以下命令完成基础环境搭建: ```bash pip install cline-sdk mcp-protocol ``` 此操作会自动下载并安装 `cline-sdk` 和 `mcp-protocol` 所需的核心组件。 #### 2. 初始化项目结构 创建一个新的工作目录,并初始化基本的项目结构。推荐按照如下方式组织文件夹: ``` project/ │ ├── config.yaml # 参数配置文件 ├── main.py # 主程序入口 └── agents/ # 存放各个智能体模块 └── agent_1.py ``` 其中,`config.yaml` 文件将用来定义全局性的参数设定。 #### 3. 编写配置文件 (`config.yaml`) 为了实现 ClineMCP 的无缝对接,需要精心设计配置项。下面是一个典型的例子: ```yaml # config.yaml cline: api_key: "your_api_key_here" endpoint: "https://api.cline.com/v1" mcp: protocol_version: "1.0" timeout_seconds: 30 encryption_enabled: true communication_channels: - name: channel_one address: tcp://localhost:8080 - name: channel_two address: udp://remote-server:9090 ``` 上述片段展示了如何指定 API 密钥、服务端地址以及启用加密功能等内容。 #### 4. 实现核心逻辑 (Python 示例) 接下来,在主脚本中加载这些配置并将它们应用到实际运行过程中。这里给出一段示范代码: ```python import yaml from cline import ClineClient from mcp import MultiAgentProtocol def load_config(file_path): with open(file_path, 'r') as file: return yaml.safe_load(file) if __name__ == "__main__": config = load_config('config.yaml') # Initialize Cline client cline_client = ClineClient( api_key=config['cline']['api_key'], endpoint=config['cline']['endpoint'] ) # Setup MCP instance mcp_instance = MultiAgentProtocol( version=config['mcp']['protocol_version'], timeout=config['mcp']['timeout_seconds'], encrypted_communication=config['mcp']['encryption_enabled'] ) for channel in config['mcp']['communication_channels']: mcp_instance.add_channel(channel['address'], channel['name']) print("Cline and MCP integration successfully configured!") ``` 该脚本读取 YAML 格式的配置数据,并据此实例化相应的客户端对象。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值