Related MCP Server Resources

Explore more AI models, providers, and integration options:

  • Explore AI Models
  • Explore AI Providers
  • Explore MCP Servers
  • LangDB Pricing
  • Documentation
  • AI Industry Blog
  • XTBApiServer
  • MCP GitHub Issue Server
  • Linear MCP Server
  • Ollama MCP Server
  • MCP Atlassian
Back to MCP Servers
Furikake

Furikake

Public
ashwwwin/furi

A local CLI & API for MCP management that allows users to download, install, manage, and interact with MCPs from GitHub, featuring process state management, port allocation, and HTTP API routes.

Verified
typescript
0 tools
May 29, 2025
Updated May 30, 2025

image

🍃 Furikake (or furi)

Furikake is an easy to use, local CLI & API for MCP management and execution.

  • Download MCP servers [from GitHub]
  • Smithery.yaml detection (or auto detects/handles execution)
  • Fully featured CLI [nanospinners, readability]
  • Typescript & Javascript MCP's built in are supported
  • Python based MCP's are a key roadmap item (and will be supported)
  • HTTP API Routes (uses Bun http, stdio to http, clear and standard routes)
  • Customizable port and visibility of sudo routes
  • View all running MCPs + logs for each process
  • Process state management with PM2
  • Built with Bun and Typescript
  • is good with rice

Installation (macOS/Linux)

To install Furikake, you can use the following command:

curl -fsSL https://furikake.app/install | bash

Verify the installation by running:

furi

Furikake uses Bun under the hood, the install script will install Bun if it is not already installed.

Upgrade Furikake

To upgrade Furikake to the latest version, run:

furi upgrade

How to use

Manage MCPs

Furikake works with any public github repo as follows:

furi add

eg. furi add smithery-ai/mcp-fetch

You can also rename an MCP by using the rename command, please note this will restart the MCP if it is running.

furi rename

eg. furi rename smithery-ai/mcp-fetch mcp-fetch

Delete an MCP

furi remove

eg. furi remove mcp-fetch

List installed MCPs

Show all installed MCPs

furi list

Start an MCP

furi start -e '{"name1":"value1", "name2":"value2"}'

-e env is optional and dependant on the MCP server being called

Ensure you pass a valid JSON object to the -e flag.

Once you start a server with the -e flag, it will be saved to the config file and re-used when using the server again.

In order to view the env variables required for an MCP, use:

furi env

You can get a list of all the tools available (with details) of any MCP by using:

furi tools

then you can call the tool with:

Call a tool

furi call '{"param1":"value1", "param2":"value2"}'

Parameters must be a valid JSON string enclosed in single quotes

Stop an MCP

furi stop

Restart an MCP

furi restart

Get the status of all running MCPs

This will show you the status of all running MCPs.

furi status

If you want to get the logs a specific MCP, you can use:

furi status

to view more output lines, use -l

Configuration storage

All installed MCPs, your configuration and logs are stored in the .furikake directory which can be located by running:

furi where

Using the MCP Aggregator

You can use Furikake with any MCP client such as Cursor via the MCP Aggregator.

Furi collects tools from all running MCPs and exposes them through an SSE endpoint that your app or mcp client can subscribe to. The aggregator automatically builds the list of tools from all running MCPs and listens for new tools as MCPs are started and stopped.

To start the aggregator server:

furi meta start

This will also show you the endpoint your MCP client needs to subscribe to

You can specify a custom port:

furi meta start -p 9338

If you don't pass a port, it will default to 9338

To stop the aggregator:

furi meta stop

To restart the aggregator (preserving port settings):

furi meta restart

To check the status of the aggregator server:

furi meta status

To view more output lines, use -l

Using the HTTP API

  • Any MCP that is running, will automatically have an http route.
  • Turning an MCP on/off can only be done via the cli.

To access your MCP's via http, you can turn on the proxy via:

furi http start

In order to pass a port, you can use the http start -p flag.

furi http start -p 9339

If you don't pass a port, it will default to 9339

To turn off the route, you can use:

furi http stop

HTTP API Reference

The Furikake HTTP API is divided into public routes and sudo routes. Public routes are accessible by default, while sudo routes must be explicitly enabled. With sudo routes, you can actively manage packages and instances via the HTTP API.

API Response Format

All API endpoints follow a standardized JSON response format:

  • Success responses:

    { "success": true, "data": {"The response varies by endpoint"} }
  • Error responses:

    { "success": false, "message": "Descriptive error message" }

HTTP Methods

  • POST - Used only for /mcpName/call/toolName and /mcpName/start endpoints
  • GET - Used for all other endpoints

Public Routes

EndpointMethodDescriptionParametersResponse Format
/listGETList running MCPs?all=true (optional) to show all installed MCPs{"success": true, "data": ["mcpName1", "mcpName2"]}
/toolsGETList all available tools from all running MCPsNone{"success": true, "data": [{"name": "toolName", "description": "Tool description", "inputSchema": {...}, "mcpName": "mcpName"}]}
//toolsGETList tools for a specific MCPNone{"success": true, "data": [{"name": "toolName", "description": "Tool description", "inputSchema": {...}}]}
//call/POSTCall a tool on an MCPTool parameters as JSON in request body{"success": true, "data": {/* Tool-specific response */}}

Example Usage:

List running MCPs:

curl http://localhost:9339/list

To view all available tools for all online MCPs, you can use:

curl "http://localhost:9339/list"

List tools for all online MCPs:

curl http://localhost:9339/tools

List tools for a specific MCP:

curl http://localhost:9339//tools

Call a tool:

curl -X POST http://localhost:9339//call/ -d '{"data1":"value1", "data2":"value2"}'

Sudo Routes

To enable sudo routes that allow API management of MCPs:

furi http start --sudo
EndpointMethodDescriptionParametersResponse Format
/statusGETGet status of all MCPs (running and stopped)None{"success": true, "data": [{"name": "mcpName", "pid": "12345", "status": "online", "cpu": "0%", "memory": "10MB", "uptime": "2h"}]}
/add//GETInstall MCP from GitHubNone{"success": true, "data": {"installed": true, "message": "Successfully installed"}}
//statusGETGet status of a specific MCP?lines=10 (optional) to control log lines{"success": true, "data": {"name": "mcpName", "pid": "12345", "status": "online", "logs": ["log line 1", "log line 2"]}}
//restartGETRestart a specific MCPNone{"success": true, "data": {"restarted": true}}
//startPOSTStart a specific MCPEnvironment variables as JSON in request body{"success": true, "data": {"started": true}}
//stopGETStop a specific MCPNone{"success": true, "data": {"stopped": true}}
//renameGETRename a specific MCP?newName= (required){"success": true, "message": "Renamed from oldName to newName"} or {"success": false, "message": "Error message"}
//removeGETDelete a specific MCPNone{"success": true, "data": {"removed": true}}
//envGETGet environment variables for a specific MCPNone{"success": true, "data": {"variables": ["key1", "key2"]}}

Example Usage:

Get status of all MCPs:

curl http://localhost:9339/status

Install an MCP:

curl http://localhost:9339/add//

Get status and logs of a specific MCP:

curl "http://localhost:9339//status?lines=20"

Start an MCP with environment variables:

curl -X POST http://localhost:9339//start -d '{"API_KEY":"your-api-key-here"}'

Restart an MCP:

curl http://localhost:9339//restart

Stop an MCP:

curl http://localhost:9339//stop

Rename an MCP:

curl "http://localhost:9339//rename?newName="

Remove an MCP:

curl http://localhost:9339//remove

If you face any issues with the HTTP API server, you can use the furi http status to debug.

Closing notes

If you've made it this far, I hope you find Furikake useful and time saving. I built this for fun as a way for me to work with MCP's more hands on. If you wish to contribute, feel free to open an issue or a pull request. I will merge after I check out your changes.

If you think this is a good idea, please star the repo.

Thanks for checking out Furikake.

Publicly Shared Threads0

Discover shared experiences

Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!

Share your threads to help others
Related MCPs5
  • XTBApiServer
    XTBApiServer

    An MCP server that exposes the XTB trading API, allowing users to interact with their XTB trading ac...

    Added May 30, 2025
  • MCP GitHub Issue Server
    MCP GitHub Issue Server

    Enables LLMs to interact with GitHub issues by providing details as tasks, allowing for seamless int...

    1 tools
    Added May 30, 2025
  • Linear MCP Server
    Linear MCP Server

    Facilitates project management with the Linear API via the Model Context Protocol, allowing users to...

    Added May 30, 2025
  • Ollama MCP Server
    Ollama MCP Server

    Enables seamless integration between Ollama's local LLM models and MCP-compatible applications, supp...

    Added May 30, 2025
  • MCP Atlassian
    MCP Atlassian

    An MCP server that enables AI agents to interact with Atlassian products (Confluence and Jira) for c...

    Added May 30, 2025