【MCP】创建第2个MCP服务器(bilibili视频搜索)
关于python环境和cherry-studio配置,可以参看文章:
【MCP】客户端配置(ollama安装、qwen2.5:0.5b模型安装、cherry-studio安装配置)
【MCP】服务端搭建(python和uv环境搭建、nodejs安装、pycharma安装)
1、服务端搭建
(1)初始化应用
在非中文路径下,创建一个文件夹,例如“MCP”用来存储源码,文件夹名字只要不是中文就行
然后打开刚刚新建的文件夹
![[图片]](https://i-blog.csdnimg.cn/direct/4dec4b16850f4475950104f9e2f0d2e5.png)
![[图片]](https://i-blog.csdnimg.cn/direct/62fe1110eb7a487bb146e6437f117149.png)
默认会创建一个main.py没啥用,删掉即可
![[图片]](https://i-blog.csdnimg.cn/direct/7c0c001c28494b69854420eb7cf51df6.png)
打开终端
![[图片]](https://i-blog.csdnimg.cn/direct/1be9bb326ecd44eca86fe379c5b254e6.png)
输入uv init bilibili
bilibili就是默认创建的应用文件夹
![[图片]](https://i-blog.csdnimg.cn/direct/153f2a98670c4981bb7074d3700688b3.png)
进入bilibili文件夹并执行初始化
cd bilibili
uv sync
![[图片]](https://i-blog.csdnimg.cn/direct/1b07049c1fd749d0a3729bbc5344dbd8.png)
安装mcp库 指令
uv add mcp[cli] --default-index https://pypi.tuna.tsinghua.edu.cn/simple
![[图片]](https://i-blog.csdnimg.cn/direct/750f148ff4ea4f2589712083272480a9.png)
安装bilibili库指令
uv add bilibili-api-python --default-index https://pypi.tuna.tsinghua.edu.cn/simple
![[图片]](https://i-blog.csdnimg.cn/direct/664aa2219408442f9856ba1668aaba99.png)
安装好的库都在.venv文件夹内
![[图片]](https://i-blog.csdnimg.cn/direct/2ae5e34cfb45467d868326f241dd4fb0.png)
将.venv添加为项目的虚拟环境
![[图片]](https://i-blog.csdnimg.cn/direct/8d30dbbfe5e74a39b6e1521d4f7be5be.png)
![[图片]](https://i-blog.csdnimg.cn/direct/f77425bf4fb44efaa3a9a07794ddc23d.png)
选择现有的环境,python路径指定为.venv文件夹中的Scripts目录下的python.exe
![[图片]](https://i-blog.csdnimg.cn/direct/580f44ef494d48d9888137b83eaeed71.png)
![[图片]](https://i-blog.csdnimg.cn/direct/d4459c62942f470c8ea086920bd7aa84.png)
(2)编写MCP服务端代码
双击main.py把里面的内容清空
![[图片]](https://i-blog.csdnimg.cn/direct/28880083b06742c9a799801eef6322b2.png)
输入以下代码
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')
完毕后右键执行一下看看会不会报错
![[图片]](https://i-blog.csdnimg.cn/direct/e2eca19b64f644abb3fa8fda84988489.png)
运行窗口卡在这个页面,代表没问题,只要是不报错就行
![[图片]](https://i-blog.csdnimg.cn/direct/b3d87961e2aa42ba83951d169ef4cd4b.png)
然后就可以点击停止按钮退出程序了
![[图片]](https://i-blog.csdnimg.cn/direct/dac07e9cfd984547965f7f9e57b5fd0d.png)
前面是运行环境,后面是运行的脚本,脚本的路径保存好,一会会用到
![[图片]](https://i-blog.csdnimg.cn/direct/3b0fb8d17b7c4eeea35cd5d0c5cb6a3d.png)
2、cherry-studio配置
(1)添加MCP服务
![[图片]](https://i-blog.csdnimg.cn/direct/ed8b9711df6a4cd293347daf44afb877.png)
名称自己起一个,这里以bilibili为例,参数如下,地址需要替换成自己创建bilibili文件夹的地址
--directory
C:\Users\stone\Desktop\MCP\bilibili
run
main.py
![[图片]](https://i-blog.csdnimg.cn/direct/6ae670053ee64807bf03cc02f8363e5e.png)
![[图片]](https://i-blog.csdnimg.cn/direct/7dbdb984098545a4b63fa18ddeb5e07c.png)
配置完点击右上角保存,如果配置没问题,开关会自动变绿
![[图片]](https://i-blog.csdnimg.cn/direct/b83b4fc059394e2b9556542dd7a41bb7.png)
(2)测试
返回聊天界面,点击选择刚刚新建的bilibili工具
![[图片]](https://i-blog.csdnimg.cn/direct/2bbf87ac17a9433798514b7152257e2c.png)
发送问题测试一下,例如:搜索MCP相关内容,并生成一个网页
我们可以看到,正常调用了MCP工具进行了搜索
![[图片]](https://i-blog.csdnimg.cn/direct/26fee90991cb49ca9d3ca01d0db6ca5a.png)
稍等片刻,网页也生成好了,我们点击打开
![[图片]](https://i-blog.csdnimg.cn/direct/0ad2d39cae5b4253ac1d80694b4bdf04.png)
效果如下,能正常查看内容
![[图片]](https://i-blog.csdnimg.cn/direct/bcd15b1c382e4e0b883eabc4cde0fcb1.png)
7039

被折叠的 条评论
为什么被折叠?



