mcp学习

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

mcp学习

预算:5块(半顿拼好饭呜呜呜)

出问题试着开启或者关闭代理。

1. 基本原理

Model Context Protocol(MCP)模型上下文协议。简单来说mcp就是大模型的标准工具箱,大模型可以利用这些工具与外界互动。

本质就是客户端用命令行调用了node.js程序,然后程序又执行了某些操作,再把结果返回回来。
在这里插入图片描述

2. 环境配置

1. cherryStudio+deepseek+python

uv下载

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

把C:\Users\21609\Desktop\code\mcp_server目录初始化成python 3.13项目

uv python list
C:\Users\21609\Desktop\code\mcp_server>uv init . -p 3.13
uv add "mcp[cli]"

vscode打开项目,需要下载python和python debugger插件

main.py

"""
FastMCP quickstart example.

cd to the `examples/snippets/clients` directory and run:
    uv run server fastmcp_quickstart stdio
"""

from mcp.server.fastmcp import FastMCP

# Create an MCP server
mcp = FastMCP("Demo")


# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers""" #注释必写,告诉ai大模型这是个加法函数
    return a + b


# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
    """Get a personalized greeting"""
    return f"Hello, {name}!"


# Add a prompt
@mcp.prompt()
def greet_user(name: str, style: str = "friendly") -> str:
    """Generate a greeting prompt"""
    styles = {
        "friendly": "Please write a warm, friendly greeting",
        "formal": "Please write a formal, professional greeting",
        "casual": "Please write a casual, relaxed greeting",
    }

    return f"{styles.get(style, styles['friendly'])} for someone named {name}."

# Run the server
if __name__ == "__main__":
    mcp.run(transport="stdio")

下载 Cherry Studio - 多平台AI客户端:https://www.cherry-ai.com/download

只有支持函数调用的模型才能在cherryStudio里面使用mcp,我们使用deepseek v3模型
在这里插入图片描述

来到deepseek的api开放平台,创建一个api key,然后充5块钱。

https://platform.deepseek.com/sign_up

在这里插入图片描述

在cherryStudio里填一下密钥
在这里插入图片描述

来到cherryStudio的设置发现我们缺少东西没安装
在这里插入图片描述

在这里插入图片描述

在C:\Users\21609.cherrystudio文件夹下新建bin文件夹

去到github上面下载以下两个文件

bun-windows-x64.zip

uv-x86_64-pc-windows-msvc.zip

将其中的可执行文件复制到C:\Users\21609.cherrystudio\bin下
在这里插入图片描述

添加服务器->快速创建
在这里插入图片描述

命令写uv,参数照着下面写,然后保存并启用

--directory
C:\Users\21609\Desktop\code\mcp_server
run
main.py

在这里插入图片描述

来到首页助手,点击添加mcp服务器,点击deepseek切换为deepseek chat而不是硅基流动的。

在这里插入图片描述

成功

在这里插入图片描述

或者可以用sse协议,修改main.py

# Run the server
if __name__ == "__main__":
    mcp.run(transport="sse")

vscode点击启动服务端
在这里插入图片描述

新建一个mcp服务器
在这里插入图片描述

更换mcp服务器来试试
在这里插入图片描述

ai客户端使用sse协议调用函数并得到结果。

在这里插入图片描述

或者使用streamable-http,然后启动。

注意如果deepseek调用失败,需要先把其他mcp服务器关了。

# Run the server
if __name__ == "__main__":
    mcp.run(transport="streamable-http")

在这里插入图片描述

2. Cline+deepseek

vscode下载插件 cline

get started for free

点击右上角的设置进行配置,模型使用deepseek
在这里插入图片描述

查看之前cherryStudio的配置
在这里插入图片描述

点击添加远程服务器
在这里插入图片描述

我们需要手动添加type类型

{
  "mcpServers": {
    "test1": {
      "url": "http://127.0.0.1:8000/mcp",
      "disabled": false,
      "autoApprove": [],
      "type": "streamableHttp"
    }
  }
}

在这里插入图片描述

使用mcp服务器
在这里插入图片描述

成功!
在这里插入图片描述

3. 常用mcp服务

1. mcp-server-fetch

该服务器使 LLM 能够检索和处理网页内容,并将 HTML 转换为 Markdown 格式,以便于使用。

pip install mcp-server-fetch

配置一下

{
  "mcpServers": {
    "test1": {
      "url": "http://127.0.0.1:8000/mcp",
      "disabled": false,
      "autoApprove": [],
      "type": "streamableHttp"
    },
    "fetch":{
      "command":"python",
      "args":["-m","mcp_server_fetch"],
      "disabled": false
    }
  }
}

在这里插入图片描述

获取https://aistudio.baidu.com/projectdetail/1986744的内容并帮我总结

可以看到由于js动态加载,它并没有爬取完全。

在这里插入图片描述

在这里插入图片描述

2. mcp-playwright

一个使用 Playwright 提供浏览器自动化功能的模型上下文协议 (MLM) 服务器。该服务器使 LLM 能够与网页交互、截取屏幕截图、生成测试代码、从网页中提取网页数据,并在真实的浏览器环境中执行 JavaScript。

访问https://github.com/punkpeye/awesome-mcp-servers

选择这个https://github.com/executeautomation/mcp-playwright

先下载模块

npm install -g @executeautomation/playwright-mcp-server

然后配置一下,注意关闭fetch

"playwright": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@executeautomation/playwright-mcp-server"
      ],
      "type": "stdio"
    }

在这里插入图片描述

帮我打开https://www.github.com/login,输入用户名admin,密码123456

在这里插入图片描述

3. baidu-map

百度地图

https://lbsyun.baidu.com/apiconsole/quota

创建服务器端应用,会给出一个api key。

在这里插入图片描述

npm install @baidumap/mcp-server-baidu-map
"baidu-map": {
  "command": "npx",
  "args": [
    "-y",
    "@baidumap/mcp-server-baidu-map"
  ],
  "env": {
    "BAIDU_MAP_API_KEY": "<YOUR_API_KEY>"
  }
}

我想周末去北京,帮我规划一下旅游路线

在这里插入图片描述

在这里插入图片描述

4. filesystem

该mcp服务并不能处理docx等文件,可以使用cherryStudio搭建本地知识库。

实现本地文件访问

https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem

npm install @modelcontextprotocol/server-filesystem

参考配置格式

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Desktop",
        "/path/to/other/allowed/dir"
      ]
    }
  }
}

实际的格式

"filesystem": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/21609/Desktop",
        "C:\\Users\\21609\\Desktop\\test\\啦啦啦"
      ],
      "autoApprove": [
        "list_directory",
        "read_text_file"
      ]
}

C:\Users\21609\Desktop\test\啦啦啦文件夹下有什么文件

在这里插入图片描述

5. mcp-mysql-server

检索增强生成(RAG,Retrieval-Augmented Generation)是一种结合信息检索和生成式AI的技术框架。其核心流程是:先通过检索系统从外部知识库中查找相关信息,然后将检索结果与用户查询一起输入生成模型,从而产生更准确可靠的回答。

在这里插入图片描述

RAG的主要缺点

  1. 检索质量依赖性强:效果高度依赖检索系统质量,检索错误会导致生成错误
  2. 知识更新延迟:需要定期更新知识库,无法实时获取最新信息
  3. 上下文长度限制:检索文档可能过长,受限于模型的上下文窗口
  4. 多跳推理困难:复杂问题需要整合多个文档,RAG处理能力有限
  5. 计算成本较高:同时运行检索和生成系统,资源消耗大
  6. 幻觉问题依然存在:生成模型仍可能产生不准确推断

MCP+数据库的解决方案

MCP(Model Context Protocol)+ 数据库可以部分解决RAG的缺点:

实时数据访问:通过数据库连接实现实时信息获取,解决更新延迟

精确查询能力:结构化查询比向量检索更准确,提高检索质量

智能上下文管理:MCP可以动态选择最相关的数据库信息

降低计算成本:数据库查询比向量检索更高效

减少幻觉风险:直接从可信数据源获取信息

局限性:

  • 需要高质量结构化数据
  • 非结构化文本处理能力有限
  • 数据库维护成本较高
  • 无法完全替代语义相似性检索

操作mysql

https://github.com/f4ww4z/mcp-mysql-server

npm install @f4ww4z/mcp-mysql-server
"mysql": {
  "command": "cmd",
  "args": [
    "/c",
    "npx",
    "-y",
    "@f4ww4z/mcp-mysql-server",
    "mysql://root:123456@localhost:3306/sakila"
  ],
  "autoApprove": [
    "connect_db",
    "list_tables"
  ]
}

sakila数据库里面有那些表
在这里插入图片描述

参考

【从零编写MCP并发布上线,超简单!手把手教程】 https://www.bilibili.com/video/BV1RNTtzMENj/

【【Cline+MCP】王炸组合!告别手动!MCP 自动化工作流,AI 编码更高效!】 https://www.bilibili.com/video/BV1gKZhYWEnK

UV安装:https://docs.astral.sh/uv/getting-started/installation/

MCP Github首页:https://github.com/modelcontextprotocol

MCP Python SKD: https://github.com/modelcontextprotocol/python-sdk

Awesome MCP: https://github.com/punkpeye/awesome-mcp-servers

专题网站: https://smithery.ai/

CherryStudio: https://cherry-ai.com/download

CherryStudioMCP配置文档: https://docs.cherry-ai.com/advanced-basic/mcp

https://openrouter.ai/

https://github.com/modelcontextprotocol/servers

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机与路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用与配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池与全局池)、NAT转换(静态与动态)、静态路由、RIP与OSPF动态路由协议的配置,并介绍了策略路由和ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分与基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换与路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建与调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施和故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN间通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号间的命令差异。
多旋翼无人机组合导航系统-多源信息融合算法(Matlab代码实现)内容概要:本文围绕多旋翼无人机组合导航系统,重点介绍了基于多源信息融合算法的设计与实现,利用Matlab进行代码开发。文中采用扩展卡尔曼滤波(EKF)作为核心融合算法,整合GPS、IMU(惯性测量单元)、里程计和电子罗盘等多种传感器数据,提升无人机在复杂环境下的定位精度与稳定性。特别是在GPS信号弱或丢失的情况下,通过IMU惯导数据辅助导航,实现连续可靠的位姿估计。同时,文档展示了完整的算法流程与Matlab仿真实现,涵盖传感器数据预处理、坐标系转换、滤波融合及结果可视化等关键环节,体现了较强的工程实践价值。; 适合人群:具备一定Matlab编程基础和信号处理知识,从事无人机导航、智能控制、自动化或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于多旋翼无人机的高精度组合导航系统设计;②用于教学与科研中理解多传感器融合原理与EKF算法实现;③支持复杂环境下无人机自主飞行与定位系统的开发与优化。; 阅读建议:建议结合Matlab代码与理论推导同步学习,重点关注EKF的状态预测与更新过程、多传感器数据的时间同步与坐标变换处理,并可通过修改噪声参数或引入更多传感器类型进行扩展实验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cllsse

富✌您吉祥

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值