点击展开更新日志

2025

07-28

  1. 环境准备
  2. MCP Server

nexttime

会有些什么呢(❁´◡`❁)

源起

起因是突然想在本地搭建自己的知识库,然后顺便做一个自动化的签到流程,最初的想法是利用 playwrigth 可视化把过程记录下来,但是发现效果并不好,于是决定还是自己写,然后套上 MCP(当当,点题!),已经在另一台设备上完全跑通了,调用也没有问题。问题是重装系统时忘记备份了(真是服了。。),干脆重新在主机上重新搞一遍,并记录。

环境准备

主机环境

  • 操作系统:Win11 24H2 专业版
  • IDE:PyCharm
  • Python:3.13

Python

采用 Python 开发(因为最简单)。安装过程略过,建议选择最新版,本文所用版本为 3.13 。可以选择安装 miniforge 进行环境管理【强烈推荐】

miniforge

安装

如果是 Windows 安装,应该会默认添加环境变量,没有就手动加一下:将 C:\Users\myusername\miniforge3\condabin 添加到环境变量 PATH

打开终端初始化:

1
conda init

配置

如果不希望虚拟环境安装到默认的 C盘,觉着官方通道下载太慢,可以选择修改配置文件:

  1. 先执行 conda config --list > .condarc 创建默认配置文件;

    之所以这么做是因为直接创建空文件报了错误,后面发现是编码要使用GBK,你问为什么不是 UTF-8,许是 Windows 终端不认识吧。

  2. 参考配置:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    channels:
    - defaults
    show_channel_urls: true
    default_channels:
    - https://mirrors.ustc.edu.cn/anaconda/pkgs/main
    - https://mirrors.ustc.edu.cn/anaconda/pkgs/r
    - https://mirrors.ustc.edu.cn/anaconda/pkgs/msys2
    custom_channels:
    conda-forge: https://mirrors.ustc.edu.cn/anaconda/cloud
    bioconda: https://mirrors.ustc.edu.cn/anaconda/cloud
    envs_dirs:
    - F:\envs\conda\envs
    pkgs_dirs:
    - F:\envs\conda\pkgs
    1. 更换仓库源为中科大Anaconda源
    2. 更改虚拟环境和包默认安装位置

    ❓为什么不用清华源:你可以试试,我在安装这天(20250727)使用清华源报403错误,原因未知。

  3. 验证:

    1
    conda -V
  4. 常用命令

    只列几个经常用的,想了解更多可以参考conda 官方文档

    命令 说明
    conda activate <ENV_NAME> 激活环境
    conda create -n|–name <ENV_NAME> 创建环境
    conda deactivate 在已激活环境内执行,退出当前激活环境

uv

MCP 建议使用 uv 创建环境那就用呗。

安装命令:

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

初始化项目

默认已经完成了以上环境安装:

  1. 初始化项目:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 在当前目录下初始化名为 mcp_server 的MCP 项目目录
    uv init mcp_server
    cd mcp_server

    # 创建虚拟环境
    uv venv
    .venv\Scripts\activate

    # 安装依赖
    uv add mcp[cli] httpx

    # 添加 playwrigth:我需要使用 playwright 进行网站操作,故装之,如果不懂或不需要不用装
    # pip 清华源:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
    pip install playwright

    不建议使用系统自带浏览器,因为用户使用和自动化操作会冲突(我需要使用cookie保存登录状态),因此建议分开。

  2. 使用 PyCharm 等 IDE 打开项目

  3. 开始愉快的玩耍!

MCP server

  1. 一切就和常规开发一样,新建一个项目包,新建一个 Python 文件,写好你的代码

  2. 在项目根目录下 main.py,添加以下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    from mcp.server.fastmcp import FastMCP
    from mcp.server.fastmcp.server import Settings


    mcp = FastMCP("web-check")
    settings = Settings()
    settings.host = "127.0.0.1"
    settings.port = 80
    settings.streamable_http_path = "/mymcp"
    mcp.settings = settings

    mcp.run(transport="streamable-http")


    @mcp.tool("websites_check")
    async def myapp() -> dict:
    return {"success": "True"}
  3. 启动项目,控制台输出:

    1
    2
    3
    4
    5
    6
    INFO:     Waiting for application startup.
    [07/29/25 17:11:25] INFO StreamableHTTP streamable_http_manager.py:110
    session manager
    started
    INFO: Application startup complete.
    INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
  4. 打开 MCP 主机,以 Cherry Studio 为例:

    Cherry Studio 配置

    路径后缀是遵循 MCP 协议标准请求路径,默认为:

    • stdio:命令参数配置
    • sse:/sse
    • ​​Streamable-HTTP​:/mcp

    如果想要自定义,可以导入 Settings 包进行修改,几点说明:

    1. mcp.run 中的 mount_path 也可以默认请求路径,但仅对 sse 有效
    2. 如果需要局域网其它设备访问,监听地址可以设置为本机局域网地址(192.168.x.x),设置成 0.0.0.0 也可以,但不建议,安全性差(不过在局域网也无关紧要,看个人)