xiaozhi-mcp-server

qaqbuyan/xiaozhi-mcp-server

3.2

If you are the rightful owner of xiaozhi-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Xiaozhi-MCP-Server is a framework for accessing data through a collection of MCP interfaces, allowing for the extension of AI capabilities.

xiaozhi-mcp-server

一个获取数据的MCP接口集合框架,整合了一些功能,你可以通过自行扩展AI能力

视频展示

https://www.bilibili.com/video/BV1wu3bzFEF4/

使用说明

  1. 安装依赖: pip install -r requirements.txt

  2. 修改配置: config.yaml

  3. 启动服务: python main.py

注意事项

  • 如果在服务器上运行,需要使用 nohup 或者 screen 命令后台运行,否则会被 kill 掉
  • 如果在服务器上运行,出现以下错误:
    找不到命令 'python',您的意思是:
    'python3' 命令来自 Debian 软件包 python3
    'python' 命令来自 Debian 软件包 python-is-python3
    
    你的系统中同时安装了 python 和 python3 ,可能会出现冲突 此时需要根据自己的情况选择使用哪个版本的 python 。 可以使用以下方法解决:
    • 使用 python3 命令:
    python3 main.py
    

自带功能

  • 查询火车车票
  • 查询 SVN 提交记录
    • 获取 SVN 仓库的最后一次提交日志
    • 查询 SVN 仓库第几个到第几个版本号的提交日志
    • 查询某一个日期时间 SVN 日志
    • 查询特定版本中修改的文件列表
  • 获取系统信息
  • 查询 QQ 用户信息
  • 今日油价
  • 汇率查询
  • 标准体重
  • 热门搜索
    • 微博
    • 哔哩哔哩
    • 百度
  • 记忆体
    • 记忆体查询
    • 记忆体存储
  • RSS 文章聚合
  • 随机毒鸡汤
  • 随机生活调侃
  • IP 地址归属地信息
  • 必应搜索
  • 菜谱(食谱)查询
    • 中餐
  • 哔哩哔哩
    • 评论查询
      • 视频评论查询
    • 观看历史
      • 历史视频
      • 历史专栏
      • 历史直播
    • 推荐视频
      • 观看最多
      • 观看最少
      • 收藏最多
      • 收藏最少
      • 时间最早
      • 时间最新
      • 弹幕最多
      • 弹幕最少
      • 点赞最多
      • 点赞最少
    • 电影查询(分区查询)
      • 观看最多
      • 观看最少
      • 时间最早
      • 时间最新
      • 弹幕最多
      • 弹幕最少
    • 热门视频
    • 直播相关
      • 获取弹幕
      • 发送弹幕
    • 追番提交
      • 观看最多
      • 观看最少
      • 时间最早
      • 时间最新
    • 用户信息
      • 发布视频数量
      • 追番数量
      • 在B站有作品电影数量(目前还未知这个只是猜测,因为查询我自己显示有两个)
      • 主频道情况
      • 客频道情况
      • 主收藏情况
      • 客收藏情况
      • 设置标签数量
      • 发布文章数量
      • 播放列表数量
      • 相册数量
      • 音频数量
      • 专业用户创作视频相关数量
      • 系列作品季数
      • 作品总数
      • 关注人数
      • 悄悄话相关数量
      • 黑名单人数
      • 粉丝数量
      • 等公开信息,不包含私密信息,更多的信息可以自行查看 user.py 中的 get_user_info 函数

创建自己的MCP工具

这里简单的说明一下如何创建自己的MCP工具

  • 根据 utils 文件夹中的功能代码做参考,创建自己的工具,然后在 register.py 中添加到 注册 列表中即可
  • 工具命名以 功能_渠道区分,比如我的查询时间SVN日志的工具为 query_svn_logger 表明是用于获取查询本人的SVN仓库获取提交日志的工具
  • 工具的名字和参数的命名一定要清晰的让大模型知道它的作用,尽量不要用缩写
  • 不然大模型可能不知道它的作用而无法正常调用该工具进行工作,同时提供一段注释来说明工具的作用以及在何时使用
  • 函数内的文档注释(使用"""..."""引用的部分)引导大模型何时使用该工具
  • 比如
    def get_log_by_date(date_str: str):
        """根据日期查询SVN仓库的更新日志, 当查询某一天的仓库信息或者某一天提交的代码时,立刻使用该工具。
        args:
            date_str: 日期字符串,格式为'YYYY年MM月DD日' 必须填写, 例如:2024年01月01日
        """
    
  • 工具参数的类型要清晰的告诉大模型它的作用,如果有参数的名称也要清晰的告诉大模型它的作用,比如 date_str 日期字符串
  • 另外写好类型,比如 str 表示字符串,int 表示整数,list 表示列表,dict 表示字典等
  • 这样大模型才能正确的调用该工具,否则可能会出现调用失败的情况
  • 工具的参数要尽可能的详细,比如字符串类型的参数,要尽可能的详细的告诉大模型它的作用

如果代码能帮助到你,欢迎给个star