Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

小智 MCP 全能信息服务

本项目是一个基于 FastMCP 框架的后端服务,旨在为您的 AI 助手(例如“小智”)提供一个强大的“全能信息服务”。它通过集成多个第三方 API,将它们封装成 AI 助手可以调用的工具。

功能特性

本服务目前提供以下核心工具:

  • 新闻获取 (news_search): 使用 ITAPI 获取指定分类的最新新闻。
  • 网页搜索 (web_search): 使用 Brave 网页搜索 API (Brave Search) 进行通用的互联网信息查询。
  • 网页内容提取 (fetch_url_content): 获取并解析指定 URL 的主要文本内容。
  • 股票查询 (get_stock_price): 通过 Alpha Vantage 服务获取指定股票代码的实时价格。
  • TODO Coze 问答 (ask_coze_agent): 连接到指定的“扣子 (Coze)”平台上的 AI 应用(Agent/Bot),进行对话式问答。

如何使用

1. 安装依赖

首先,将本代码库克隆到您的 NAS 或本地计算机上。然后,安装所需的 Python 依赖库:

pip install -r requirements.txt

2. 配置 API 密钥和终端节点

为了让服务正常工作,您需要配置几个平台的 API 密钥和“小智”的终端节点地址。请设置以下环境变量:

  • XIAOZHI_MCP_ENDPOINT: 必需,小智 MCP 后台提供的 WebSocket 终端地址 (例如 ws://192.168.1.10:8090/mcp/ws)。
  • ITAPI_KEY: 用于 ITAPI 新闻获取。
  • BRAVE_API_KEY: 用于 Brave 网页搜索。
  • ALPHA_VANTAGE_KEY: 用于查询股票价格。
  • COZE_API_KEY: 用于连接您的“扣子”机器人。
  • COZE_AGENT_ID: 您想要使用的“扣子”机器人的唯一 ID。

您可以在启动服务前通过命令 export KEY=VALUE 来设置这些变量,或者使用其他方式(如 .env 文件)进行管理。

3. 获取 API 密钥

  • ITAPI 密钥 (ITAPI_KEY):

    1. 访问 ITAPI 官网
    2. 注册并登录后,在 “密钥管理” 页面申请即可。
  • Brave 网页搜索 API 密钥 (BRAVE_API_KEY):

    1. 访问 Brave Search API 官网
    2. 点击 "Get started" 或 "Sign up",注册一个账户。
    3. 登录后,在您的账户仪表盘中可以找到或创建一个新的 API 密钥。Brave 提供免费的套餐,足够常规使用。
  • Alpha Vantage API 密钥 (ALPHA_VANTAGE_KEY):

    1. 访问 Alpha Vantage 官网的 API 密钥申请页面
    2. 填写表格,即可免费获取一个 API 密钥。
  • 扣子 Coze API 密钥和 Bot ID (COZE_API_KEY, COZE_AGENT_ID):

    1. 访问 扣子 (Coze) 中国区官网
    2. 创建或选择一个您想要使用的 Bot。
    3. 在 Bot 的“发布”页面,创建一个新的发布渠道,类型选择 “API”。
    4. 在 API 渠道的配置信息中,您就可以找到所需的 API 密钥Bot ID

4. 在 NAS 上启动服务

我们强烈推荐使用 Docker 来在 NAS 上部署此服务,因为它可以极大地简化环境配置和管理。

方法一:使用 Docker (推荐)

  1. 构建 Docker 镜像: 在项目根目录下,使用提供的 Dockerfile 文件来构建镜像。

    docker build -t full-info-service .
  2. 运行 Docker 容器: 使用刚刚构建的镜像来启动一个容器。请务必将您的 API 密钥作为环境变量传递给容器。

    docker run -d --name mcp-service \
      -e XIAOZHI_MCP_ENDPOINT="你的小智MCP终端地址" \
      -e ITAPI_KEY="你的ITAPI密钥" \
      -e BRAVE_API_KEY="你的Brave搜索密钥" \
      -e ALPHA_VANTAGE_KEY="你的AlphaVantage密钥" \
      -e COZE_API_KEY="你的Coze密钥" \
      -e COZE_AGENT_ID="你的Coze Bot ID" \
      --restart always \
      full-info-service
    • -d: 让容器在后台(分离模式)运行。
    • --name mcp-service: 为容器指定一个方便管理的名称。
    • -e: 用于设置环境变量。
    • --restart always: 确保当 NAS 重启或服务意外中断时,容器能自动重新启动。

方法二:直接使用 Python 运行

如果您不想使用 Docker,也可以直接运行 Python 脚本来启动服务。请注意,这种方式主要用于本地测试,因为它不会像 Docker 容器那样自动处理 WebSocket 连接。

  1. 通过 SSH 登录到您的 NAS。
  2. 进入项目所在的目录。
  3. 设置 API 密钥环境变量(同上)。
  4. 直接运行 server.py
    python server.py
    为了确保在您退出 SSH 后服务能持续运行,建议使用 screentmux 等工具来管理进程。
    # 使用 screen 的示例
    screen -S mcp-service
    # 在新的 screen 会话中,设置变量并运行 python server.py
    # 按下 Ctrl+A 然后按 D 键,即可分离会话并保持程序在后台运行

许可证

本项目采用 Creative Commons BY-NC-SA 4.0 (署名-非商业性使用-相同方式共享 4.0 国际) 许可协议。

简而言之,您可以自由地共享和修改本作品,但必须:

  • 署名:以合适的方式标明原作者。
  • 非商业性使用:不得将本项目用于商业目的。
  • 相同方式共享:如果您修改了本项目,您必须以相同的许可证分发您的贡献。

About

The MCP Tool Set For Xiaozhi

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages