在毕昇平台加载MCP工具

背景

        因毕昇内置工具没有博查搜索工具,于是想要尝试配置API工具或者MCP工具,API工具很简单,按照博查的API接口文档中的OpenAPI Yaml的配置复制粘贴,然后鉴权方式选择API Key,Auth Type选择Bearer然后在API Key处填写在博查申请的API Key即可,在可用工具处会显示出对应的工具,点击测试如果能成功查询返回即为配置成功

        博查API文件地址

        但是MCP工具配置依照官方文档中的描述配置却频频碰壁,因此在配置好后编写此文章以帮助有需要的人和以后的自己进行配置或提供思路

        毕昇官方文档有关构建mcp工具部分的地址

在毕昇后端的容器镜像内下载bocha-search-mcp包

 

 # docker compose启动镜像容器
 docker compose up -d
 # 进入bisheng-backend容器
 docker exec -it bisheng-backend /bin/bash
 # 安装git
 apt-get install git
 ​
 # 此时直接进行git clone会发现错误Permission denied (publickey),原因是没有配置github的ssh连接密钥
 # 以下操作可能会有无意义操作,我在实际操作时是依照以下顺序来的,如果有git用的比较熟练的可以跳过,报错的原因已写在上面,可以自行排查
 ​
 # 配置GitHub ssh连接
 # 1. 执行以下命令查看是否存在三个文件:id_rsa, id_rsa.pub known_hosts
 cd ~/.ssh
 # 2. 没有则执行以下命令,生成github账号邮箱对应的密钥
 ssh-keygen -t rsa -C "YourEmail@**.com"
 # 3. 
 ssh -v git@github.com
 # 4. 
 ssh-agent -s
 # 5. 输入以下命令如果成功会显示Identity added: /root/.ssh/id_rsa (YourEmail@**.com)
 ssh-add ~/.ssh/id_rsa
 # 6. 如果失败,显示Could not open a connection to your authentication agent.
 eval `ssh-agent`
 ssh-add ~/.ssh/id_rsa
 # 7. 以上命令会重新生成一个id_rsa.pub文件,将文件内的密钥复制粘贴到github-setting-SSH and GPG keys-SSH key
 cat id_rsa.pub
 #8. 重新验证,显示Identity added: /root/.ssh/id_rsa (YourEmail@**.com)表示成功
 ssh-add ~/.ssh/id_rsa
 #9. 验证Key,如果通过则显示Hi tilamisu1231! You've successfully authenticated, but GitHub does not provide shell access.
 ssh -T git@github.com
 ​
 # 克隆博查的代码
 git clone git@github.com:BochaAI/bocha-search-mcp.git

        ** 第7条处密钥粘贴部分截图 ** 

 

在backend镜像容器中下载安装node.js、uv等相关依赖

        此时直接重启容器然后去毕昇前端的‘构建-工具-MCP工具’处进行新增MCP工具会报错[ERRNO2 No such file or directory],因为需要在毕昇后端容器内安装node.js和uv等工具包

        因为我忘了截这个报错的图了,现在配置好了不报错了,现在去截也不赶趟了,所以这里就不放图了,按理说肯定是会报这个错的(笑 

 # 因使用apt-get工具安装nodejs版本过低,不能满足bocha-search-mcp的需求,所以需要从GitHub下载nvm来安装node.js
 ​
 # 从GitHub下载nvm软件包
 wget https://gh.llkk.cc/https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.1.tar.gz
 # 在容器的根目录新建存放nvm文件的目录
 mkdir -p ~/.nvm
 # 将压缩包解压到新建的目录中
 tar -zxvf v0.39.1.tar.gz -C ~/.nvm
 # 编辑配置文件
 vim ~/.bashrc
 # 在文件尾部添加以上内容
 export NVM_DIR="/root/.nvm/nvm-0.39.1"
 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
 [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
 ​
 ~ ".bashrc"
 ​
 # 保存退出后重新加载配置文件
 source ~/.bashrc
 # 验证是否安装nvm
 nvm ls
 # 安装最新版node.js和npx
 nvm install --lts
 # 验证
 node -v
 npx -v

        此时按照官方文档的命令去尝试本地调试是否可以跑通,应该是不会报错的,但因为没有安装依赖,去进行mcp工具配置依旧会报错

 # 在容器内安装uv
 pip install uv
 # 生成虚拟环境
 uv venv
 # 进入虚拟环境
 source .venv/bin/activate
 # 通过uv和pyproject.toml进行依赖环境管理
 uv sync
 # 退出虚拟环境
 deactivate
 ​
 # 退出虚拟环境退出容器然后重启后端容器
 docker compose restart backend
 # 在毕昇前端页面的‘构建-工具-MCP工具’点击添加MCP服务器并填写以下json以获取博查工具
 {"mcpServers": {
   "bocha-search-mcp": {
     "command": "uv",
     "args": [
       "--directory",
       "/app/bocha-search-mcp",
       "run",
       "bocha-search-mcp"
     ],
     "env": {
       "BOCHA_API_KEY": "sk-*********"
     }
   }
 }}

 TIP:

        如果通过npx启动MCP Inspector后按Ctrl+Z stop进程后提示:There are stopped jobs.

```python
# 尝试本地调试是否可以跑通(将run 放在--directory参数前,以防被识别错误发生报错)
npx @modelcontextprotocol/inspector uv run bocha-search-mcp --directory /app/bocha-search-mcp
# 测试启动成功后按“Ctrl+C”终止任务而不是“Ctrl+Z”停止任务,不然无法退出容器
# 如果无法退出容器,输入以下命令列出任务名称
jobs
# 杀死第一个任务进程
kill %1
```

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值