项目简介

FastMCP-Agents 是一个强大的框架,允许开发者在任何现有的 Model Context Protocol (MCP) 服务器之上轻松添加 AI 智能体(Agent)和增强工具功能。它不像传统的 MCP 服务器那样从头实现协议,而是利用 FastMCP 库作为基础,并专注于托管可与大型语言模型(LLM)交互的智能体,以及改造或包装其他 MCP 服务器提供的工具,使其更易于使用和组合。

主要功能点

  • AI 智能体托管: 集成由 LLM 驱动的 AI 智能体,这些智能体可以理解自然语言指令,并利用服务器提供的工具来执行复杂任务。智能体可以进行多步推理和工具调用。
  • 工具增强与转换: 能够修改、包装或组合来自其他 MCP 服务器的工具。可以改变工具的名称、描述、参数,甚至在工具调用前后插入自定义逻辑,使工具更符合智能体或用户的需求。
  • 会话管理: 内置会话历史管理,支持智能体在多步交互中保持上下文。
  • 灵活的配置: 支持通过命令行参数、YAML 或 JSON 配置文件、以及 Python 代码来定义和配置智能体及工具包装规则。
  • 代理其他MCP服务器: 可以作为前置代理,将一个或多个后端的 MCP 服务器合并,并将它们的工具经过改造后统一暴露给客户端。

安装步骤

  1. 安装 UV: 请按照 UV 官方文档 的说明安装 uv 工具。
  2. 运行命令: 使用 'uvx' 命令来运行 'fastmcp_agents'。例如,要运行一个捆绑的服务器配置,可以使用 'uvx fastmcp_agents config --bundled <配置名称>'。首次运行时,uv 会自动下载并安装所需的 fastmcp-agents 及其依赖。

服务器配置

FastMCP-Agents 本身不是一个独立的 MCP 服务器实现,它通常包装增强其他 MCP 服务器,并作为一个新的 MCP 端点暴露出来。因此,MCP 客户端需要配置连接到由 FastMCP-Agents 启动的这个包装后的服务器实例

MCP 客户端通常需要一个 JSON 格式的配置,其中包含一个或多个服务器条目。每个条目定义了一个 MCP 服务器连接。对于由 FastMCP-Agents 运行的服务器,配置示例如下:

{
  "your_agent_server_name": {
    "command": "uvx",
    "args": [
      "fastmcp_agents",
      "config",
      "--bundled", "wrale_mcp-server-tree-sitter", // 或 --file your_config.yml, 或 --url your_config_url
      "--transport", "stdio" // 或 sse, streamable-http
      // 其他 fastmcp_agents 命令行参数,例如 --log-level
    ]
  }
}
  • '"your_agent_server_name"':客户端给这个服务器连接起的名称。
  • '"command"':启动 FastMCP-Agents 的命令,通常是 '"uvx"'。
  • '"args"':传递给 'uvx' 命令的参数列表。
    • '"fastmcp_agents"': 指定运行 fastmcp_agents 包。
    • '"config"' 或 '"cli"': 指定 fastmcp_agents 的运行模式(从配置文件加载或从命令行构建)。
    • '"--bundled", "wrale_mcp-server-tree-sitter"':(示例)指定加载 fastmcp-agents 捆绑的一个配置。也可以是 '"--file", "/path/to/your/config.yml"' 或 '"--url", "http://..."'。
    • '"--transport", "stdio"':指定 FastMCP-Agents 包装的服务器使用的传输协议,必须与客户端配置的传输协议匹配。
    • 当使用 'cli' 模式并包装另一个命令时,'args' 列表会包含 '"cli"', '"agent"', '--name', '--description', '--instructions' 等参数,最后跟着 '"wrap"' 和被包装服务器的 'command' 和 'args',例如 '["fastmcp_agents", "cli", "agent", "--name", "my_agent", ..., "wrap", "uvx", "another-mcp-server-command", ...]'。

请根据您实际运行 FastMCP-Agents 的方式(通过配置文件、命令行直接包装等)来构建 'command' 和 'args' 数组。客户端配置中的 'command' 和 'args' 应该与您在终端中启动 FastMCP-Agents 进程所使用的命令完全一致。

基本使用方法

  1. 启动服务器: 使用上述配置信息,在终端或通过 MCP 客户端启动 FastMCP-Agents 包装的 MCP 服务器。
  2. 连接客户端: 配置您的 MCP 客户端(如 VSCode 插件、Web UI、或其他 CLI 工具),使用上面提供的 'command' 和 'args' 来连接到 FastMCP-Agents 启动的服务器进程。
  3. 发现功能: 客户端连接后,可以查询服务器暴露的能力,特别是工具列表。这些工具将包括 FastMCP-Agents 托管的 AI 智能体(通常作为名为 Agent 名称的工具)以及经过包装或转换的后端服务器工具。
  4. 调用工具: LLM 客户端或用户可以通过标准 MCP 协议调用这些暴露的工具,与 AI 智能体交互或使用后端功能。例如,调用智能体工具并提供任务指令,智能体将利用其他可用工具来完成任务。

信息

分类

AI与计算