项目简介
Furikake (或简称 furi) 是一个方便易用的本地工具,旨在简化 Model Context Protocol (MCP) 服务器的管理和使用。它提供了一套命令行接口 (CLI) 和可选的 HTTP API,用户可以通过它轻松地添加、移除、启动、停止、重启和查看 MCP 服务器的状态。Furikake 的一个核心功能是 MCP 聚合器,它能够自动发现所有正在运行的 MCP 服务器提供的工具,并将它们整合成一个统一的接口暴露给 LLM 客户端。这意味着 LLM 客户端只需连接到 Furikake 的聚合器服务,即可访问由多个底层 MCP 服务器提供的所有工具能力。
主要功能点
- MCP 服务器管理: 轻松从 GitHub 添加 MCP 服务器,并进行安装、移除、启动、停止、重启等操作。
- 状态监控: 查看已安装 MCP 服务器的运行状态、资源占用和日志。
- 工具浏览: 列出特定 MCP 服务器或所有正在运行的 MCP 服务器提供的工具及其描述和参数信息。
- 工具调用: 通过命令行直接调用特定 MCP 服务器上的工具。
- MCP 聚合器: 运行一个独立的 MCP 服务器进程,该进程会自动收集所有由 Furikake 管理并处于“在线”状态的 MCP 服务器的工具,并将它们聚合在一个统一的接口下。
- HTTP API: 提供一个可选的 HTTP API,通过 RESTful 接口暴露部分管理和工具调用功能。
安装步骤
Furikake 使用 Bun 作为运行时环境。安装脚本会自动检测并安装 Bun(如果尚未安装)。
在 macOS 或 Linux 系统上,可以通过以下命令安装 Furikake:
curl -fsSL https://furikake.app/install | bash
安装完成后,可以通过运行以下命令验证是否安装成功:
furi
服务器配置(用于 MCP 客户端连接)
Furikake 本身作为 MCP 管理工具运行,但其内置的 MCP 聚合器 功能是提供给外部 LLM 客户端连接的 MCP 服务器实现。
要使用 MCP 客户端连接到由 Furikake 提供的聚合器 MCP 服务器,您首先需要启动该聚合器:
furi meta start -p <port>
其中 '<port>' 是您希望聚合器监听的端口,默认为 '9338'。
启动后,聚合器将作为一个独立的 MCP 服务器进程在后台运行(通过 PM2 管理)。您的 MCP 客户端需要配置连接到这个正在运行的进程的网络端点,而不是通过启动命令连接(因为聚合器进程由 Furikake 管理)。
以下是 MCP 客户端连接到 Furikake 聚合器服务器所需的配置示例(通常为 JSON 格式,具体取决于您的客户端实现):
{ "serverName": "furi-aggregator", "connection": { "host": "127.0.0.1", // Furikake 聚合器通常运行在本地 "port": 9338, // 启动 furi meta start 时指定的端口 (默认为 9338) "transport": "sse", // 聚合器默认通过 SSE 协议暴露接口 "endpoint": "/sse" // 聚合器的 SSE 端点路径 }, "capabilities": { "resources": ["file:///logs/{name}.log"], // 聚合器暴露的资源模板 (目前包含日志资源) "tools": true, // 聚合器会暴露其从其他 MCP 收集的工具 "prompts": false // 目前聚合器不提供Prompts能力 }, "metadata": { "description": "Furikake MCP Aggregator Server providing tools from managed MCPs" } }
重要提示:
- 上述配置信息是提供给 MCP 客户端 使用的,用于连接到 Furikake 聚合器 这个 MCP 服务器。
- 您不需要手动编辑或运行 'bun dist/app/aggregator/server/main.ts' 等聚合器内部文件。启动和管理由 'furi meta start/stop/restart' 命令完成。
- 'port' 值需要与您运行 'furi meta start -p <port>' 时使用的端口一致。
- 'transport' 指定了连接协议,Furikake 聚合器默认使用 SSE over HTTP。
基本使用方法
-
启动 MCP 聚合器服务器:
furi meta start # 或指定端口 # furi meta start -p 9338这将启动 Furikake 的内置 MCP 聚合器作为后台进程运行。
-
添加一个 MCP 服务器 (例如一个 GitHub 仓库实现的 MCP):
furi add <github用户名>/<仓库名> # 示例: furi add smithery-ai/mcp-fetch这将下载并初始化指定的 MCP 服务器代码到本地。
-
启动已添加的 MCP 服务器:
furi start <mcp名称> # mcp名称通常是 github用户名/仓库名 或您在安装时指定的别名 # 例如: furi start smithery-ai/mcp-fetch # 如果 MCP 需要环境变量,可以使用 -e 参数: # furi start <mcp名称> -e '{"API_KEY":"your_key"}'这将启动指定的 MCP 服务器作为一个后台进程运行。注意:由 'furi start' 启动的 MCP 服务器会配置为仅使用 Stdio 协议,并由 Furikake 聚合器通过 Stdio 连接来获取其工具和功能。
-
使用 MCP 客户端连接到聚合器: 按照“服务器配置”章节的说明,配置您的 MCP 客户端连接到 'http://127.0.0.1:9338/sse'(或您指定的端口)。客户端连接成功后,将能发现并使用由所有已启动(通过 'furi start')的 MCP 服务器提供的工具。
-
通过命令行调用工具 (替代客户端): 如果您想直接通过命令行测试或使用工具,可以在 MCP 服务器(通过 'furi start' 启动)在线后,使用 'furi call' 命令。
- 先列出某个 MCP 的工具:
furi tools <mcp名称> - 然后调用工具:
furi call <mcp名称> <工具名称> '{"参数名1":"值1", "参数名2":"值2"}' # 参数必须是有效的 JSON 字符串,使用单引号包围 # 例如: furi call smithery-ai/mcp-fetch fetchUrl '{"url":"https://example.com"}'
- 先列出某个 MCP 的工具:
-
管理 MCP 服务器:
- 停止 MCP: 'furi stop <mcp名称>'
- 重启 MCP: 'furi restart <mcp名称>'
- 查看状态: 'furi status <mcp名称>' (或 'furi status' 查看所有)
- 移除 MCP: 'furi remove <mcp名称>'
信息
分类
开发者工具