使用说明

项目简介

Exalith 项目包含了一系列基于 Model Context Protocol (MCP) 标准构建的后端服务,旨在为智能代理和 LLM 应用提供丰富的扩展功能。它通过模块化的 MCP 服务器套件,实现了文件系统访问、在线资源检索(如 NPM 包、开源代码)、数据库查询以及知识库搜索等能力,帮助开发者快速构建功能强大的 LLM 应用。

主要功能点

  • 文件系统操作:允许 LLM 应用安全地访问和管理本地文件系统,进行文件读取、写入、编辑、创建目录、文件搜索等操作。
  • NPM 包查询:集成 NPM 仓库,使 LLM 能够查询和获取 NPM 包的信息,方便前端开发者获取库信息。
  • 开源代码搜索:对接 Sourcegraph,支持 LLM 搜索开源代码,辅助代码理解和学习。
  • 数据库查询:连接 PostgreSQL 数据库,提供表结构查询、数据查询和SQL执行等工具,方便 LLM 应用与结构化数据交互。
  • 知识库检索:集成 Ragflow 知识库,支持 LLM 在指定知识库中进行检索,提升问答和信息获取的准确性。
  • 网络搜索:利用 Tavily API 和 LangSearch API 提供强大的网页搜索能力,帮助 LLM 获取最新的网络信息。
  • Excel/CSV 文件处理:通过独立的 MCP-Excel 服务器,支持 LLM 应用读取、分析、转换和可视化 Excel 及 CSV 文件数据。

安装步骤

  1. 安装环境依赖

    • 确保已安装 Node.js 20+、pnpm 8+ 和 Python 3.12+。

    • 安装项目依赖:

      mkdir filesystem
      pnpm install
      cd agent
      poetry install
  2. 配置环境变量

    • 复制 '.env.example' 文件并重命名为 '.env',根据需要修改其中的 OpenAI API 密钥、模型名称等配置。
    • 复制 './packages/mcp-server/.env.example' 文件并重命名为 './packages/mcp-server/.env',配置 MCP 服务器所需的环境变量,例如 PostgreSQL 数据库连接信息、Ragflow API Token 等。
  3. 启动开发服务器

服务器配置

Exalith MCP 服务套件包含多个独立的 MCP 服务器,您可以根据需要配置您的 MCP 客户端以连接到这些服务器。以下是一些示例配置,您可以根据实际需求添加到您的 MCP 客户端配置中。

1. 文件系统助手 MCP 服务器配置

{
  "filesystem_bot": {
    "serverName": "文件系统助手",
    "command": "pnpm",
    "args": ["start"],
    "cwd": "./packages/server",
    "env": {},
    "transport": "stdio"
  }
}

参数注释

  • 'serverName': MCP 服务器的名称,用于在客户端标识和调用。
  • 'command': 启动 MCP 服务器的命令,这里使用 'pnpm'。
  • 'args': 启动命令的参数,'start' 脚本通常在 'packages/server/package.json' 中定义。
  • 'cwd': MCP 服务器的工作目录,指向 'packages/server' 目录。
  • 'env': 环境变量,可以根据需要设置,例如 'OSS_BASE_PATH' 指定文件系统操作的根路径。
  • 'transport': 传输协议,这里使用 'stdio',表示通过标准输入输出流进行通信。

2. Excel/CSV 文件处理 MCP 服务器配置

{
  "mcp-excel": {
    "serverName": "Excel/CSV 文件处理",
    "command": "poetry",
    "args": ["run", "python", "-m", "packages.mcp-excel.src"],
    "cwd": "./",
    "env": {},
    "transport": "stdio"
  }
}

参数注释

  • 'serverName': MCP 服务器的名称,例如 'mcp-excel'。
  • 'command': 启动命令,使用 'poetry' 运行 Python 脚本。
  • 'args': 参数指定运行 'packages/mcp-excel.src' 模块。
  • 'cwd': 工作目录设置为项目根目录。
  • 'env': 可以设置环境变量,例如 'EXCEL_FILES_PATH' 指定 Excel 文件存储路径。
  • 'transport': 传输协议为 'stdio'。

注意

  • 您可以根据需要配置其他 MCP 服务器,例如 'npm_bot', 'opensource_bot', 'database_bot', 'ragflow_bot', 'travily_bot', 它们的配置方式与上述示例类似,只需修改 'serverName' 和 'args' 等参数。
  • 确保在 MCP 客户端中正确配置这些服务器连接信息,才能使用对应的功能。

基本使用方法

  1. 启动 Exalith 开发环境后,您可以通过前端应用(http://localhost:3000)与 Agent 进行交互。
  2. 在对话界面中,您可以指示 Agent 使用各种工具,例如:
    • 要求 Agent 读取文件内容: "请读取文件 'test.txt' 的内容"
    • 要求 Agent 搜索 NPM 包: "搜索 NPM 包 'lodash' 的信息"
    • 要求 Agent 查询数据库: "查询 'public.users' 表的前 10 条数据"
    • 要求 Agent 在知识库中检索信息: "在知识库 '文档中心' 中搜索关于产品介绍的内容"
  3. Agent 将根据您的指令调用相应的 MCP 服务器工具,并返回结果。

请注意

  • 不同的 MCP 服务器提供不同的工具集,您可以参考每个服务器的 'README' 或代码了解其具体功能。
  • 在使用数据库查询、知识库检索等功能时,请确保已正确配置相应的环境变量和连接信息。

信息

分类

数据库与文件