🍃 Furikake (o furi)
Furikake es una CLI y API local fácil de usar para la gestión y ejecución de MCP.
- Descargar servidores MCP [desde GitHub]
- Detección de Smithery.yaml (o detección/manejo automático de la ejecución)
- CLI con todas las funciones [nanospinners, legibilidad]
- Se admiten los MCP integrados de Typescript y Javascript
- Los MCP basados en Python son un elemento clave de la hoja de ruta (y recibirán soporte)
- Rutas de API HTTP (utiliza Bun http, stdio a http, rutas claras y estándar)
- Puerto personalizable y visibilidad de las rutas sudo
- Ver todos los MCP en ejecución + registros para cada proceso
- Gestión del estado del proceso con PM2
- Creado con Bun y Typescript
- es bueno con arroz
Instalación (macOS/Linux)
Para instalar Furikake, puedes usar el siguiente comando:
Verifique la instalación ejecutando:
Furikake usa Bun bajo el capó, el script de instalación instalará Bun si aún no está instalado.
Actualizar Furikake
Para actualizar Furikake a la última versión, ejecute:
Cómo utilizar
Administrar MCP
Furikake funciona con cualquier repositorio público de Github de la siguiente manera:
p. ej. furi agrega smithery-ai/mcp-fetch
También puede cambiar el nombre de un MCP utilizando el comando rename
; tenga en cuenta que esto reiniciará el MCP si se está ejecutando.
p. ej. furi renombra smithery-ai/mcp-fetch mcp-fetch
Eliminar un MCP
p. ej. furi elimina mcp-fetch
Lista de MCP instalados
Mostrar todos los MCP instalados
Iniciar un MCP
-e env es opcional y depende del servidor MCP al que se llama
Asegúrese de pasar un objeto JSON válido al indicador -e
.
Una vez que inicie un servidor con el indicador -e
, se guardará en el archivo de configuración y se reutilizará cuando vuelva a utilizar el servidor.
Para ver las variables de entorno necesarias para un MCP, utilice:
Puede obtener una lista de todas las herramientas disponibles (con detalles) de cualquier MCP utilizando:
Luego puedes llamar a la herramienta con:
Llamar a una herramienta
Los parámetros deben ser una cadena JSON válida entre comillas simples
Detener un MCP
Reiniciar un MCP
Obtener el estado de todos los MCP en ejecución
Esto le mostrará el estado de todos los MCP en ejecución.
Si desea obtener los registros de un MCP específico, puede utilizar:
Para ver más líneas de salida, use -l <lines>
Almacenamiento de configuración
Todos los MCP instalados, su configuración y registros se almacenan en el directorio .furikake
, que se puede encontrar ejecutando:
Uso del agregador MCP
Puede utilizar Furikake con cualquier cliente MCP como Cursor a través del Agregador MCP.
Furi recopila herramientas de todos los MCP en ejecución y las expone a través de un endpoint SSE al que tu aplicación o cliente de MCP puede suscribirse. El agregador crea automáticamente la lista de herramientas de todos los MCP en ejecución y detecta nuevas herramientas a medida que los MCP se inician y se detienen.
Para iniciar el servidor agregador:
Esto también le mostrará el punto final al que su cliente MCP debe suscribirse.
Puede especificar un puerto personalizado:
Si no pasa un puerto, el valor predeterminado será 9338
Para detener el agregador:
Para reiniciar el agregador (conservando la configuración del puerto):
Para comprobar el estado del servidor agregador:
Para ver más líneas de salida, use -l <lines>
Uso de la API HTTP
- Cualquier MCP que se esté ejecutando tendrá automáticamente una ruta http.
- Solo se puede activar o desactivar un MCP mediante la CLI.
Para acceder a su MCP a través de http, puede activar el proxy a través de:
Para pasar un puerto, puedes utilizar el indicador http start -p <port>
.
Si no pasa un puerto, el valor predeterminado será 9339
Para desactivar la ruta, puedes utilizar:
Referencia de API HTTP
La API HTTP de Furikake se divide en rutas públicas y rutas sudo . Las rutas públicas son accesibles por defecto, mientras que las rutas sudo deben habilitarse explícitamente. Con las rutas sudo, puede administrar activamente paquetes e instancias a través de la API HTTP.
Formato de respuesta de la API
Todos los puntos finales de API siguen un formato de respuesta JSON estandarizado:
- Respuestas de éxito :
- Respuestas de error :
Métodos HTTP
- POST : se utiliza solo para los puntos finales
/mcpName/call/toolName
y/mcpName/start
- GET - Se utiliza para todos los demás puntos finales
Rutas públicas
Punto final | Método | Descripción | Parámetros | Formato de respuesta |
---|---|---|---|---|
/list | CONSEGUIR | Lista de MCP en ejecución | ?all=true (opcional) para mostrar todos los MCP instalados | {"success": true, "data": ["mcpName1", "mcpName2"]} |
/tools | CONSEGUIR | Enumere todas las herramientas disponibles de todos los MCP en ejecución | Ninguno | {"success": true, "data": [{"name": "toolName", "description": "Tool description", "inputSchema": {...}, "mcpName": "mcpName"}]} |
/<mcpName>/tools | CONSEGUIR | Enumere las herramientas para un MCP específico | Ninguno | {"success": true, "data": [{"name": "toolName", "description": "Tool description", "inputSchema": {...}}]} |
/<mcpName>/call/<toolName> | CORREO | Llamar a una herramienta en un MCP | Parámetros de la herramienta como JSON en el cuerpo de la solicitud | {"success": true, "data": {/* Tool-specific response */}} |
Ejemplo de uso:
Lista de MCP en ejecución:
Para ver todas las herramientas disponibles para todos los MCP en línea, puede utilizar:
Lista de herramientas para todos los MCP en línea:
Enumere las herramientas para un MCP específico:
Llamar a una herramienta:
Rutas de Sudo
Para habilitar rutas sudo que permitan la administración de API de MCP:
Punto final | Método | Descripción | Parámetros | Formato de respuesta |
---|---|---|---|---|
/status | CONSEGUIR | Obtener el estado de todos los MCP (en ejecución y detenidos) | Ninguno | {"success": true, "data": [{"name": "mcpName", "pid": "12345", "status": "online", "cpu": "0%", "memory": "10MB", "uptime": "2h"}]} |
/add/<author>/<repo> | CONSEGUIR | Instalar MCP desde GitHub | Ninguno | {"success": true, "data": {"installed": true, "message": "Successfully installed"}} |
/<mcpName>/status | CONSEGUIR | Obtener el estado de un MCP específico | ?lines=10 (opcional) para controlar las líneas de registro | {"success": true, "data": {"name": "mcpName", "pid": "12345", "status": "online", "logs": ["log line 1", "log line 2"]}} |
/<mcpName>/restart | CONSEGUIR | Reiniciar un MCP específico | Ninguno | {"success": true, "data": {"restarted": true}} |
/<mcpName>/start | CORREO | Iniciar un MCP específico | Variables de entorno como JSON en el cuerpo de la solicitud | {"success": true, "data": {"started": true}} |
/<mcpName>/stop | CONSEGUIR | Detener un MCP específico | Ninguno | {"success": true, "data": {"stopped": true}} |
/<mcpName>/rename | CONSEGUIR | Cambiar el nombre de un MCP específico | ?newName=<newName> (obligatorio) | {"success": true, "message": "Renamed from oldName to newName"} o {"success": false, "message": "Error message"} |
/<mcpName>/remove | CONSEGUIR | Eliminar un MCP específico | Ninguno | {"success": true, "data": {"removed": true}} |
/<mcpName>/env | CONSEGUIR | Obtener variables de entorno para un MCP específico | Ninguno | {"success": true, "data": {"variables": ["key1", "key2"]}} |
Ejemplo de uso:
Obtener el estado de todos los MCP:
Instalar un MCP:
Obtener el estado y los registros de un MCP específico:
Iniciar un MCP con variables de entorno:
Reiniciar un MCP:
Detener un MCP:
Cambiar el nombre de un MCP:
Quitar un MCP:
Si enfrenta algún problema con el servidor API HTTP, puede usar el furi http status
para depurarlo.
Notas de cierre
Si has llegado hasta aquí, espero que Furikake te resulte útil y te ahorre tiempo. Lo creé por diversión para poder trabajar con MCP de forma más práctica. Si quieres contribuir, no dudes en abrir una incidencia o una solicitud de incorporación de cambios. Lo fusionaré después de revisar tus cambios.
Si crees que es una buena idea, marca el repositorio con una estrella.
Gracias por visitar 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.
Una CLI y API local para la administración de MCP que permite a los usuarios descargar, instalar, administrar e interactuar con MCP desde GitHub, con gestión del estado del proceso, asignación de puertos y rutas de API HTTP.
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