MCPInstall
first_mcp logo

first_mcp

by vayneli0937 vayneli0937/first_mcp

try to build first mcp via cline

READMEmain

系统安装python3.11以上 使用python 安装uv pip install uv 如: C:\Users\Administrator>pip install uv Collecting uv Downloading uv-0.6.10-py3-none-win_amd64.whl.metadata (11 kB) Downloading uv-0.6.10-py3-none-win_amd64.whl (17.4 MB) ---------------------------------------- 17.4/17.4 MB 2.3 MB/s eta 0:00:00 Installing collected packages: uv Successfully installed uv-0.6.10

验证是否安装成功 C:\Users\Administrator>uv --version uv 0.6.10 (f2a2d982b 2025-03-25)

使用uv初始化项目 uv init 项目名称 如: C:\Users\Administrator>uv init D:\AI\mcp_server\bilibili-mcp-server Initialized project bilibili-mcp-server at D:\AI\mcp_server\bilibili-mcp-server

创建虚拟环境 C:\Users\Administrator>uv venv D:\AI\mcp_server\bilibili-mcp-server\venv Using CPython 3.13.2 interpreter at: AppData\Local\Programs\Python\Python313\python.exe Creating virtual environment at: D:\AI\mcp_server\bilibili-mcp-server\venv Activate with: D:\AI\mcp_server\bilibili-mcp-server\venv\Scripts\activate

激活虚拟环境 C:\Users\Administrator>D:\AI\mcp_server\bilibili-mcp-server\venv\Scripts\activate

注意下面这段warning (venv) D:\AI\mcp_server\bilibili-mcp-server>uv add "mcp[cli]" bilibili-api-python warning: VIRTUAL_ENV=venv does not match the project environment path .venv and will be ignored; use --active to target the active environment instead Using CPython 3.13.2 interpreter at: C:\Users\Administrator\AppData\Local\Programs\Python\Python313\python.exe Creating virtual environment at: .venv

uv会自动的创建虚拟环境,并安装依赖包,环境句为.venv 如果你要使用自己的虚拟环境,需要使用--active参数 如: uv add "mcp[cli]" bilibili-api-python --active 或者使用您已创建的虚拟环境 uv add "mcp[cli]" bilibili-api-python --venv D:\AI\mcp_server\bilibili-mcp-server\venv

编写MCP server from mcp.server.fastmcp import FastMCP from bilibili_api import search, sync

mcp = FastMCP('Bilibili Mcp Server')

@mcp.tool() def general_search(keyword: str) -> dict: """ Search Bilibili API with the given keyword.

Args:
    keyword: Search term to look for on Bilibili

Returns:
    Dictionary containing the earch results from Bilibili API.
"""
return sync(search.search(keyword))

if name == 'main': mcp.run(transport='stdio')

配置cline mpc server { "mcpServers": { "bilibili_mcp": { "command": "uv", "args": [ "run", "--directory", "D:\AI\mcp_server\bilibili-mcp-server", "bilibili.py" ], "cwd": "D:\AI\mcp_server\bilibili-mcp-server" # 可选 } } }

注意要重启cline mcp server 代码有错误的时候,需要重启mcp server, 否则不会生效.