使用mcp自定义编写mcp tool,使用 conda 启动,在cline中配置使用

自定义 mcp tool 例子

python 复制代码
## /langchain_learn/mcp学习/base_mcp_tool_study2.py
# 导入必要模块
import os
from typing import Optional
from mcp.server.fastmcp import FastMCP

# 初始化 MCP 服务器实例,指定服务器名称和版本
mcp_server = FastMCP(name="DemoServer", version="1.0.0")

#mcp_server.tool() 将函数注册为 mcp tool 工具

@mcp_server.tool()
def list_files(directory: str = "/work/langchain_learn") -> list:
    """
    获取指定目录的文件列表(默认查看桌面)
    Args:
        directory (str): 要查询的目录路径,支持 ~ 符号
    Returns:
        list: 文件名列表
    """
    try:
        # 处理跨平台路径格式
        expanded_path = os.path.expanduser(directory)
        return os.listdir(expanded_path)
    except Exception as e:
        return [f"Error: {str(e)}"]

@mcp_server.tool()
def calculate(expression: str) -> Optional[float]:
    """
    执行数学计算(支持加减乘除)
    Args:
        expression (str): 数学表达式,如 "3 + 5 * 2"
    Returns:
        float: 计算结果(保留两位小数)
    """
    try:
        # 安全计算实现(实际生产环境应使用更安全的计算方式)
        result = eval(expression)
        return round(float(result), 2)
    except:
        return None


if __name__ == "__main__":
    # 启动服务器,使用 stdio 传输协议
    mcp_server.run(
        transport='stdio',   # 标准输入输出通信
    )

cline 中 添加 下方 配置

在vscode中点击cline,然后点击下图中的模块

然后点击 已安装,点击下方 配置mcp 服务器,将下方的json 文件内容 放入 配置mcp 服务器中的 mcpServers 对应的 值中。

json 复制代码
"myserver2": { #自定义 mcp 服务器的名字,与文件名无关
      "command": "/miniforge3/envs/langchain/bin/python", #想要使用的 conda中的某个虚拟环境下的 python解释器
      "args": [
        "/langchain_learn/mcp学习/base_mcp_tool_study2.py" #上方mcp 工具文件 的绝对路径
      ],
      "disabled": false,
      "autoApprove": [
        "multiplay"
      ],
      "description": "演示服务器(含文件查询和计算)" #当前服务器的描述,具体是可以做什么
    },
相关推荐
才思喷涌的小书虫3 小时前
小白玩转 DINO-X MCP(2):基于 DINO-X MCP 搭建饮食规划工作流
计算机视觉·mcp
抠头专注python环境配置8 小时前
OCR库pytesseract安装保姆级教程
python·ocr·conda
数据智能老司机10 小时前
MCP 实战——全局视角:为什么 MCP 将成为 AI 的颠覆者
python·llm·mcp
cpp加油站11 小时前
用Trae2小时写一个vercel MCP,让内置的Vercel部署功能用起来更爽(玩转100个MCP系列第六弹)
ai编程·mcp·trae
抠头专注python环境配置11 小时前
Pytorch GPU版本安装保姆级教程
pytorch·python·深度学习·conda
大模型真好玩12 小时前
DeepSeek更新!速览DeepSeek V3.1新特性
人工智能·python·mcp
关山1 天前
MCP实战
python·ai编程·mcp
带刺的坐椅1 天前
Java MCP 的鉴权?好简单的啦
java·鉴权·mcp·solon-ai
掉鱼的猫1 天前
Java MCP 的鉴权?好简单的啦
java·mcp
盏灯1 天前
据说,80%的人都搞不懂MCP底层?
人工智能·aigc·mcp