项目简介
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与计算