【MCP】创建第2个MCP服务器(bilibili视频搜索)
关于python环境和cherry-studio配置,可以参看文章:
【MCP】客户端配置(ollama安装、qwen2.5:0.5b模型安装、cherry-studio安装配置)
【MCP】服务端搭建(python和uv环境搭建、nodejs安装、pycharma安装)
1、服务端搭建
(1)初始化应用
在非中文路径下,创建一个文件夹,例如“MCP”用来存储源码,文件夹名字只要不是中文就行
然后打开刚刚新建的文件夹
默认会创建一个main.py没啥用,删掉即可
打开终端
输入uv init bilibili
bilibili就是默认创建的应用文件夹
进入bilibili文件夹并执行初始化
cd bilibili
uv sync
安装mcp库 指令
uv add mcp[cli] --default-index https://pypi.tuna.tsinghua.edu.cn/simple
安装bilibili库指令
uv add bilibili-api-python --default-index https://pypi.tuna.tsinghua.edu.cn/simple
安装好的库都在.venv文件夹内
将.venv添加为项目的虚拟环境
选择现有的环境,python路径指定为.venv文件夹中的Scripts目录下的python.exe
(2)编写MCP服务端代码
双击main.py把里面的内容清空
输入以下代码
from typing import Any
from bilibili_api import search, sync
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Bilibili mcp server")
@mcp.tool()
def general_search(keyword: str) -> dict[Any, Any]:
"""通过关键词搜索视频"""
data = sync(search.search(keyword))
return data
if __name__ == "__main__":
mcp.run(transport='stdio')
完毕后右键执行一下看看会不会报错
运行窗口卡在这个页面,代表没问题,只要是不报错就行
然后就可以点击停止按钮退出程序了
前面是运行环境,后面是运行的脚本,脚本的路径保存好,一会会用到
2、cherry-studio配置
(1)添加MCP服务
名称自己起一个,这里以bilibili为例,参数如下,地址需要替换成自己创建bilibili文件夹的地址
--directory
C:\Users\stone\Desktop\MCP\bilibili
run
main.py
配置完点击右上角保存,如果配置没问题,开关会自动变绿
(2)测试
返回聊天界面,点击选择刚刚新建的bilibili工具
发送问题测试一下,例如:搜索MCP相关内容,并生成一个网页
我们可以看到,正常调用了MCP工具进行了搜索
稍等片刻,网页也生成好了,我们点击打开
效果如下,能正常查看内容