npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@mcpgarden/server

v1.0.3

Published

MCP Server mcp.garden manages all your other MCPs in one MCP.

Readme

mcp.garden Proxy MCP Server

https://mcp.garden: Ship Quickly With MCP

The mcp.garden MCP Server is a proxy server that joins multiple MCP⁠ servers into one. It fetches tool/prompt/resource configurations from your mcp.garden account⁠ and routes tool/prompt/resource requests to the correct underlying server.

Installation

Manual Installation

export MCPGARDEN_API_KEY=<env>
export MCPGARDEN_PROXY_SERVER_ID=<env>
npx -y @mcpgarden/server@latest
{
  "mcpServers": {
    "mcp.garden": {
      "command": "npx",
      "args": ["-y", "@mcpgarden/server@latest"],
      "env": {
        "MCPGARDEN_API_KEY": "<your api key>",
        "MCPGARDEN_PROXY_SERVER_ID": "<your proxy server id>"
      }
    }
  }
}

Usage

Set the required environment variables first:

export MCPGARDEN_API_KEY="<your-api-key>"
export MCPGARDEN_PROXY_SERVER_ID="<your-proxy-server-id>"
# Optional: export MCPGARDEN_API_BASE_URL="<your-custom-base-url>"

Using as a stdio server (default)

mcpgarden-server

Using as an SSE server

mcpgarden-server --transport sse --port 12006

With the SSE transport option, the server will start an Express.js web server that listens for SSE connections on the /sse endpoint and accepts messages on the /messages endpoint.

Command Line Options

Options:
  --mcpgarden-api-key <key>     API key for mcp.garden (alternative to MCPGARDEN_API_KEY env var)
  --mcpgarden-api-base-url <url> Base URL for mcp.garden API (alternative to MCPGARDEN_API_BASE_URL env var)
  --report                      Fetch all MCPs, initialize clients, and report tools to mcp.garden API instead of starting the server
  --transport <type>            Transport type to use (stdio or sse) (default: "stdio")
  --port <port>                 Port to use for SSE transport (default: "3001")
  --require-api-auth            Require API key in SSE URL path for authentication (SSE transport only)
  -h, --help                    display help for command

Environment Variables

  • MCPGARDEN_API_KEY: (Required) API key for mcp.garden.
  • MCPGARDEN_PROXY_SERVER_ID: (Required) The unique ID for this proxy server instance, obtained from mcp.garden.
  • MCPGARDEN_API_BASE_URL: (Optional) Base URL for mcp.garden API (defaults to https://mcp.garden).

Development

# Install dependencies
npm install

# Build the application
npm run build

# Watch for changes
npm run watch

Highlights

  • Compatible with ANY MCP Client
  • Multi-Workspaces layer enables you to switch to another set of MCP configs within one-click.
  • GUI dynamic updates of MCP configs.
  • Namespace isolation for joined MCPs.

Architecture Overview

sequenceDiagram
    participant MCPClient as MCP Client (e.g. Claude Desktop)
    participant mcp.garden-mcp-server as mcp.garden MCP Server
    participant mcp.gardenApp as mcp.garden App
    participant MCPServers as Installed MCP Servers in Metatool App

    MCPClient ->> mcp.garden-mcp-server: Request list tools
    mcp.garden-mcp-server ->> mcp.gardenApp: Get tools configuration & status
    mcp.gardenApp ->> mcp.garden-mcp-server: Return tools configuration & status

    loop For each listed MCP Server
        mcp.garden-mcp-server ->> MCPServers: Request list_tools
        MCPServers ->> mcp.garden-mcp-server: Return list of tools
    end

    mcp.garden-mcp-server ->> mcp.garden-mcp-server: Aggregate tool lists
    mcp.garden-mcp-server ->> MCPClient: Return aggregated list of tools

    MCPClient ->> mcp.garden-mcp-server: Call tool
    mcp.garden-mcp-server ->> MCPServers: call_tool to target MCP Server
    MCPServers ->> mcp.garden-mcp-server: Return tool response
    mcp.garden-mcp-server ->> MCPClient: Return tool response

Credits

  • Inspirations and some code (refactored in this project) from https://github.com/metatool-ai/mcp-server-metamcp
    • Which had inspirations and some code (refactored in this project) from https://github.com/adamwattis/mcp-proxy-server/