项目简介

ToolFront是一个强大的框架,旨在为AI智能体构建结构化的数据环境。它允许开发者将文件系统操作(如读取、遍历、搜索文件)、命令行工具以及自定义脚本封装成可供AI智能体调用的“工具”,并通过Model Context Protocol (MCP) 服务器以标准化的方式暴露这些能力。AI智能体可以通过浏览这些环境,利用提供的工具来完成各种任务,例如进行文本分析、执行SQL查询或与外部API交互。

主要功能点

  • 数据环境管理: 组织文件、数据和指令到一个统一的环境中。
  • 工具暴露: 将命令行工具、Python脚本和文件系统操作(如'execute', 'read', 'tree', 'glob', 'grep')注册为LLM可调用的工具。
  • Markdown指令: 使用Markdown文件定义任务说明和可用的工具,AI智能体可以读取并遵循这些指令。
  • 数据库CLI: 内置数据库命令行接口,支持文本到SQL任务,提供表结构检查和只读查询功能。
  • RAG集成: 支持从'.txt', '.csv', '.json'等数据文件中检索信息。
  • API集成: 允许定义外部API端点作为工具,供AI智能体调用以获取实时数据。
  • MCP服务器: 提供一个基于JSON-RPC的MCP服务器,使任何兼容MCP的LLM客户端都能与ToolFront环境进行交互。

安装步骤

通过PyPI包管理器安装ToolFront:

pip install toolfront

如果需要数据库功能,请安装相应的扩展(例如PostgreSQL):

pip install 'toolfront[postgres]'

服务器配置

MCP客户端需要配置MCP服务器的启动命令及其参数。以下是ToolFront MCP服务器的典型JSON配置示例:

{
  "mcpServers": {
    "toolfront_server_name": {
      "command": "uvx",
      "args": [
        "toolfront",
        "mcp",
        "serve",
        "file:///path/to/your/environment",
        "--host", "127.0.0.1",
        "--port", "8000",
        "--transport", "stdio",
        // 可选参数:
        // "--param", "API_KEY=your_api_key", // 用于远程环境的认证参数,可重复
        // "--env", "DB_URL=sqlite:///db.sqlite" // 传递给服务器的环境变量,可重复
      ]
    }
  }
}

配置说明:

  • 'toolfront_server_name': 您为该MCP服务器实例自定义的唯一名称。
  • 'command': 启动MCP服务器进程的可执行命令。这里推荐使用'uvx',它是一个Python虚拟环境执行器。
  • 'args': 启动服务器的参数列表,按顺序传递给'command'。
    • '"toolfront", "mcp", "serve"': 指定要运行的是ToolFront的MCP服务。
    • '"file:///path/to/your/environment"': 必填,这是AI智能体将操作的数据环境的URL或文件路径。可以是本地文件系统路径(例如'file:///home/user/my_environment')、S3存储桶路径('s3://my-bucket/data')或HTTP/HTTPS地址。
    • '"--host", "127.0.0.1"': 服务器监听的IP地址,默认为本地回环地址。
    • '"--port", "8000"': 服务器监听的端口号,默认为8000。
    • '"--transport", "stdio"': 服务器与客户端通信的传输协议。可选值包括'stdio'(标准输入输出)、'streamable-http'或'sse'(Server-Sent Events),默认为'stdio'。
    • '"--param", "KEY=VALUE"': 可选,用于远程环境(如S3或HTTP)的认证参数。可以重复指定多个'--param'参数。
    • '"--env", "KEY=VALUE"': 可选,设置传递给ToolFront服务器进程的环境变量。可以重复指定多个'--env'参数。

基本使用方法

一旦MCP服务器启动并被您的LLM客户端配置,LLM智能体即可通过调用服务器暴露的工具与ToolFront环境进行交互。例如,智能体可以调用'read'工具来读取文件内容,调用'glob'工具来查找文件,或者调用'execute'工具来运行在Markdown文件中定义的自定义命令。

要启动ToolFront MCP服务器,请在命令行中运行(请将'file:///path/to/your/environment'替换为您的环境实际路径):

toolfront mcp serve file:///path/to/your/environment --transport stdio

这将启动一个MCP服务器,该服务器将指定的目录或URL作为AI智能体的可操作数据环境。

信息

分类

AI与计算