MCP ExplorerExplorer

Mcp Server Metatool

@metatool-aion 9 months ago
5 Apache-2.0
FreeCommunity
AI Systems
The mcp-server-metatool is a proxy server that integrates multiple MCP servers, enabling seamless tool management through the metatool-app. It aggregates tool lists and forwards requests to the appropriate server, ensuring efficient operation despite being unmaintained. For improved performance, users are encouraged to switch to the newer metatool-ai/mcp-server-metamcp.

Overview

What is Mcp Server Metatool

mcp-server-metatool is a proxy server designed to connect multiple MCP servers and forward tool calls to the appropriate server. It is intended to be used in conjunction with the metatool-app, a GUI tool manager for MCP.

Use cases

Use cases for mcp-server-metatool include managing multiple MCP servers from a single interface, simplifying tool access for clients, and enhancing performance by aggregating tools across servers.

How to use

To use mcp-server-metatool, set the METATOOL_API_KEY environment variable with your API key from metatool-ai/metatool-app. Then, run the server using ‘uvx mcp-server-metatool’. Ensure you have a compatible MCP Client to connect to this server.

Key features

Key features include the ability to aggregate tool lists from multiple MCP servers, namespace isolation for tools, and seamless forwarding of tool calls to the correct server.

Where to use

undefined

Content

MCP Server MetaTool

Warning
⚠️ This repo is no longer maintained!

Check out this Node.js substitute: metatool-ai/mcp-server-metamcp.
It has way better performance and fewer bugs.
(I am the author there too.)

Overview

Metatool MCP Server is a proxy server that joins multiple MCP servers and forward tool calls to the appropriate server.
It should be used with metatool-app, the GUI tool manager for MCP which is also open source, together.

sequenceDiagram
    participant MCPClient as MCP Client (e.g. Claude Desktop)
    participant MetaToolMCP as MetaTool MCP Server
    participant MetaToolApp as MetaTool App
    participant MCPServers as Installed MCP Servers in Metatool App

    MCPClient ->> MetaToolMCP: Request list tools
    MetaToolMCP ->> MetaToolApp: Get tools configuration & status
    MetaToolApp ->> MetaToolMCP: Return tools configuration & status

    loop For each listed MCP Server
        MetaToolMCP ->> MCPServers: Request list_tools
        MCPServers ->> MetaToolMCP: Return list of tools
    end

    MetaToolMCP ->> MetaToolMCP: Aggregate tool lists
    MetaToolMCP ->> MCPClient: Return aggregated list of tools

    MCPClient ->> MetaToolMCP: Call tool
    MetaToolMCP ->> MCPServers: call_tool to target MCP Server
    MCPServers ->> MetaToolMCP: Return tool response
    MetaToolMCP ->> MCPClient: Return tool response

How it works

  • mcp-server-metatool itself is both a MCP client and a MCP server
  • On startup, it connects to the metatool-app API to get a list of MCP servers to connect to
  • On list_tools call of MCP, it joins all tools from all MCP servers with namespace isolation.
  • On call_tool call of MCP, it forwards the call to the appropriate server.

Installation

Best way to use this is through uv
A METATOOL_API_KEY environment variable must be set

export METATOOL_API_KEY="my_api_key" # get from metatool-ai/metatool-app, which is self hostable and free
uvx mcp-server-metatool

You need a MCP Client to connect to this server to use it.

Additional Configuration

A METATOOL_API_BASE_URL environment variable can be set to point to another metatool instance

export METATOOL_API_BASE_URL="http://localhost:12005"

License

Apache License 2.0

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers