🍃 香松(或福里)
Furikake 是一个易于使用的本地 CLI 和 API,用于 MCP 管理和执行。
- 下载 MCP 服务器 [来自 GitHub]
- Smithery.yaml 检测(或自动检测/处理执行)
- 功能齐全的 CLI [nanospinners、可读性]
- 支持内置 Typescript 和 Javascript MCP
- 基于 Python 的 MCP 是路线图的关键项目(并将得到支持)
- HTTP API 路由(使用 Bun http、stdio 到 http、清晰和标准路由)
- 可定制的端口和 sudo 路由的可见性
- 查看所有正在运行的 MCP + 每个进程的日志
- 使用 PM2进行进程状态管理
- 使用Bun和Typescript构建
- 和米饭一起吃很好吃
安装(macOS/Linux)
要安装 Furikake,您可以使用以下命令:
通过运行以下命令来验证安装:
Furikake 在后台使用 Bun,如果尚未安装,安装脚本将会安装 Bun。
升级香松
要将 Furikake 升级到最新版本,请运行:
如何使用
管理 MCP
Furikake 可与任何公共 GitHub 仓库配合使用,如下所示:
例如 furi 添加 smithery-ai/mcp-fetch
您还可以使用rename
命令重命名 MCP,请注意,如果 MCP 正在运行,这将重新启动它。
例如,furi 重命名为 smithery-ai/mcp-fetch mcp-fetch
删除 MCP
例如 furi 删除 mcp-fetch
列出已安装的 MCP
显示所有已安装的 MCP
启动 MCP
-e env 是可选的,取决于被调用的 MCP 服务器
确保将有效的 JSON 对象传递给-e
标志。
一旦您使用-e
标志启动服务器,它将被保存到配置文件中并在再次使用服务器时重新使用。
为了查看 MCP 所需的环境变量,请使用:
您可以使用以下命令获取任何 MCP 的所有可用工具(包含详细信息)的列表:
然后你可以使用以下命令调用该工具:
调用工具
参数必须是用单引号括起来的有效 JSON 字符串
停止 MCP
重启 MCP
获取所有正在运行的 MCP 的状态
这将显示所有正在运行的 MCP 的状态。
如果你想获取特定 MCP 的日志,你可以使用:
要查看更多输出行,请使用-l <lines>
lines>
配置存储
所有已安装的 MCP、您的配置和日志都存储在.furikake
目录中,可以通过运行以下命令找到该目录:
使用 MCP 聚合器
您可以通过 MCP Aggregator 将 Furikake 与任何 MCP 客户端(例如 Cursor)一起使用。
Furi 从所有正在运行的 MCP 收集工具,并通过您的应用或 MCP 客户端可以订阅的 SSE 端点公开这些工具。聚合器会自动从所有正在运行的 MCP 构建工具列表,并在 MCP 启动和停止时监听新工具。
要启动聚合器服务器:
这还将向您显示您的 MCP 客户端需要订阅的端点
您可以指定自定义端口:
如果不指定端口,则默认为 9338
要停止聚合器:
要重新启动聚合器(保留端口设置):
要检查聚合服务器的状态:
要查看更多输出行,请使用-l <lines>
使用 HTTP API
- 任何正在运行的 MCP 都会自动具有 http 路由。
- 只能通过 cli 打开/关闭 MCP。
要通过 http 访问您的 MCP,您可以通过以下方式打开代理:
为了传递端口,您可以使用http start -p <port>
标志。
如果不指定端口,则默认为 9339
要关闭路线,您可以使用:
HTTP API 参考
Furikake HTTP API 分为公共路由和sudo 路由。公共路由默认可访问,而 sudo 路由必须显式启用。使用 sudo 路由,您可以通过 HTTP API 主动管理包和实例。
API 响应格式
所有 API 端点都遵循标准化的 JSON 响应格式:
- 成功响应:
- 错误响应:
HTTP 方法
- POST - 仅用于
/mcpName/call/toolName
和/mcpName/start
端点 - GET - 用于所有其他端点
公共路线
端点 | 方法 | 描述 | 参数 | 响应格式 |
---|---|---|---|---|
/list | 得到 | 列出正在运行的 MCP | ?all=true (可选)显示所有已安装的 MCP | {"success": true, "data": ["mcpName1", "mcpName2"]} |
/tools | 得到 | 列出所有正在运行的 MCP 中可用的工具 | 没有任何 | {"success": true, "data": [{"name": "toolName", "description": "Tool description", "inputSchema": {...}, "mcpName": "mcpName"}]} |
/<mcpName>/tools | 得到 | 列出特定 MCP 的工具 | 没有任何 | {"success": true, "data": [{"name": "toolName", "description": "Tool description", "inputSchema": {...}}]} |
/<mcpName>/call/<toolName> | 邮政 | 调用 MCP 上的工具 | 请求主体中的工具参数为 JSON | {"success": true, "data": {/* Tool-specific response */}} |
示例用法:
列出正在运行的 MCP:
要查看所有在线 MCP 可用的工具,您可以使用:
列出所有在线 MCP 的工具:
列出特定 MCP 的工具:
调用工具:
须藤路线
要启用允许 MCP API 管理的 sudo 路由:
端点 | 方法 | 描述 | 参数 | 响应格式 |
---|---|---|---|---|
/status | 得到 | 获取所有 MCP 的状态(运行和停止) | 没有任何 | {"success": true, "data": [{"name": "mcpName", "pid": "12345", "status": "online", "cpu": "0%", "memory": "10MB", "uptime": "2h"}]} |
/add/<author>/<repo> | 得到 | 从 GitHub 安装 MCP | 没有任何 | {"success": true, "data": {"installed": true, "message": "Successfully installed"}} |
/<mcpName>/status | 得到 | 获取特定 MCP 的状态 | ?lines=10 (可选)控制日志行 | {"success": true, "data": {"name": "mcpName", "pid": "12345", "status": "online", "logs": ["log line 1", "log line 2"]}} |
/<mcpName>/restart | 得到 | 重启特定 MCP | 没有任何 | {"success": true, "data": {"restarted": true}} |
/<mcpName>/start | 邮政 | 启动特定 MCP | 请求正文中的环境变量作为 JSON | {"success": true, "data": {"started": true}} |
/<mcpName>/stop | 得到 | 停止特定 MCP | 没有任何 | {"success": true, "data": {"stopped": true}} |
/<mcpName>/rename | 得到 | 重命名特定的 MCP | ?newName=<newName> (必需) | {"success": true, "message": "Renamed from oldName to newName"} 或{"success": false, "message": "Error message"} |
/<mcpName>/remove | 得到 | 删除特定 MCP | 没有任何 | {"success": true, "data": {"removed": true}} |
/<mcpName>/env | 得到 | 获取特定 MCP 的环境变量 | 没有任何 | {"success": true, "data": {"variables": ["key1", "key2"]}} |
示例用法:
获取所有 MCP 的状态:
安装 MCP:
获取特定 MCP 的状态和日志:
使用环境变量启动 MCP:
重启 MCP:
停止 MCP:
重命名 MCP:
删除 MCP:
如果您遇到 HTTP API 服务器的任何问题,您可以使用furi http status
进行调试。
结束语
如果您已经读到这里,我希望您觉得 Furikake 实用又省时。我开发它纯粹是为了好玩,方便我更深入地使用 MCP。如果您想贡献代码,请随时提交问题或拉取请求。我会在检查完您的更改后进行合并。
如果您认为这是一个好主意,请为该 repo 加注星标。
感谢您查看 Furikake。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
用于 MCP 管理的本地 CLI 和 API,允许用户从 GitHub 下载、安装、管理和与 MCP 交互,具有进程状态管理、端口分配和 HTTP API 路由功能。
Related MCP Servers
- AsecurityFlicenseAqualityMCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.Last updated -1843TypeScript
- AsecurityFlicenseAqualityMCP server for managing Git operations on local repositories, allowing users to list repositories, get and create tags, list commits, push tags, and refresh repositories through a standardized interface.Last updated -6Python
- -securityFlicense-qualityProvides tools for interacting with GitHub's API through the MCP protocol, allowing users to create repositories, push content, and retrieve user information.Last updated -JavaScript
- -securityAlicense-qualityAn MCP server that wraps around the GitHub CLI tool, allowing AI assistants to interact with GitHub repositories through commands for pull requests, issues, and repository operations.Last updated -123TypeScriptMIT License