Magg
Magg is a meta-MCP server ("package manager for LLM tools") that lets an LLM discover, install, configure, and aggregate other MCP servers at runtime — then proxy their tools, resources, and prompts through one unified interface.
Discover servers:
magg_search_serverssearches online registries (MCP Registry, Glama, GitHub, npm) for MCP servers matching a query.Add & configure servers:
magg_add_serverregisters a server by name/source with command, URI, prefix, env, cwd, and transport options;magg_smart_configureuses LLM sampling to auto-configure a server from just a URL.Manage lifecycle:
magg_remove_server,magg_enable_server,magg_disable_server, andmagg_reload_config(also SIGHUP/file-watch) toggle and hot-reload servers without restarting.Inspect state:
magg_list_servers(with runtime mount status),magg_status(statistics),magg_analyze_servers(LLM-driven insights/suggestions).Health monitoring:
magg_checkpings mounted servers and can report, remount, unmount, or disable unresponsive ones.Aggregate & call capabilities: the
proxytool lists/inspects/calls tools, reads resources, and fetches prompts across all mounted servers (with filtering, paging vialimit/offset), and backend tools are exposed under configurable prefixes.Kit management: bundle related servers into kits and load/unload/export them as a group via
magg_load_kit,magg_unload_kit,magg_list_kits,magg_kit_info(plus themagg kitCLI).CLI & tooling:
magg serve(stdio/HTTP/hybrid),magg serverandmagg authcommands, persistent.magg/config.json, and the MBro MCP browser CLI with script support.Ops features: persistent configuration across sessions, stdio/HTTP/in-memory transports, optional RSA/JWT bearer auth, Docker images, and real-time notifications (tool-list changes, progress) to clients.
Provides ability to discover and integrate MCP servers hosted on GitHub repositories, fetching setup instructions and configuration details directly from source.
Enables installation and management of Python-based MCP servers published on PyPI, with version tracking and dependency management.
Supports Python-based MCP servers with automatic configuration and tool proxying capabilities.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Maggsearch for weather-related MCP servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🧲 Magg - The MCP Aggregator
A Model Context Protocol server that manages, aggregates, and proxies other MCP servers, enabling LLMs to dynamically extend their own capabilities.
What is Magg?
Magg is a meta-MCP server that acts as a central hub for managing multiple MCP servers. It provides tools that allow LLMs to:
Search for new MCP servers and discover setup instructions
Add and configure MCP servers dynamically
Enable/disable servers on demand
Aggregate tools from multiple servers under unified prefixes
Persist configurations across sessions
Think of Magg as a "package manager for LLM tools" - it lets AI assistants install and manage their own capabilities at runtime.
Related MCP server: Magg
Features
Self-Service Tool Management: LLMs can search for and add new MCP servers without human intervention.
Dynamic Configuration Reloading: Automatically detects and applies config changes without restarting.
Automatic Tool Proxying: Tools from added servers are automatically exposed with configurable prefixes.
ProxyMCP Tool: A built-in tool that proxies the MCP protocol to itself, for clients that don't support notifications or dynamic tool updates (which is most of them currently).
Smart Configuration: Uses MCP sampling to intelligently configure servers from just a URL.
Persistent Configuration: Maintains server configurations in
.magg/config.json.Multiple Transport Support: Works with stdio, HTTP, and in-memory transports.
Bearer Token Authentication: Optional RSA-based JWT authentication for secure HTTP access.
Docker Support: Pre-built images for production, staging, and development workflows.
Health Monitoring: Built-in
magg_statusandmagg_checktools for server health checks.Real-time Messaging: Full support for MCP notifications and messages - receive tool/resource updates and progress notifications from backend servers.
Python 3.12+ Support: Fully compatible with Python 3.12 and 3.13.
Kit Management: Bundle related MCP servers into kits for easy loading/unloading as a group.
MBro CLI: Included MCP Browser for interactive exploration and management of MCP servers, with script support for automation.
Installation
Prerequisites
Python 3.12 or higher (3.13+ recommended)
uv(recommended) - Install from astral.sh/uv
Quick Install (Recommended)
The easiest way to install Magg is as a tool using uv:
# Install Magg as a tool
uv tool install magg
# Run with stdio transport (for Claude Desktop, Cline, etc.)
magg serve
# Run with HTTP transport (for system-wide access)
magg serve --httpAlternative: Run Directly from GitHub
You can also run Magg directly from GitHub without installing:
# Run with stdio transport
uvx --from git+https://github.com/sitbon/magg.git magg
# Run with HTTP transport
uvx --from git+https://github.com/sitbon/magg.git magg serve --httpLocal Development
For development, clone the repository and install in editable mode:
# Clone the repository
git clone https://github.com/sitbon/magg.git
cd magg
# Install in development mode with dev dependencies
uv sync --dev
# Or with poetry
poetry install --with dev
# Run the CLI
magg --helpDocker
Magg is available as pre-built Docker images from GitHub Container Registry:
# Run production image (WARNING log level)
docker run -p 8000:8000 ghcr.io/sitbon/magg:latest
# Run with authentication (mount or set private key)
docker run -p 8000:8000 \
-v ~/.ssh/magg:/home/magg/.ssh/magg:ro \
ghcr.io/sitbon/magg:latest
# Or with environment variable
docker run -p 8000:8000 \
-e MAGG_PRIVATE_KEY="$(cat ~/.ssh/magg/magg.key)" \
ghcr.io/sitbon/magg:latest
# Run beta image (INFO log level)
docker run -p 8000:8000 ghcr.io/sitbon/magg:beta
# Run with custom config directory
docker run -p 8000:8000 \
-v /path/to/config:/home/magg/.magg \
ghcr.io/sitbon/magg:latestDocker Image Strategy
Magg uses a multi-stage Docker build with three target stages:
pro(Production): Minimal image with WARNING log level, suitable for production deploymentspre(Pre-production): Same as production but with INFO log level for staging/testing (available but not published)dev(Development): Includes development dependencies and DEBUG logging for troubleshooting
Images are automatically published to GitHub Container Registry with the following tags:
Version tags (from main branch):
1.2.3,1.2,dev,1.2-dev,1.2-dev-py3.12, etc.Branch tags (from beta branch):
beta,beta-devPython-specific dev tags:
beta-dev-py3.12,beta-dev-py3.13, etc.
Pull requests build and test images but do not publish them unless a maintainer adds the
push-image label, which publishes ephemeral pr-NN / pr-NN-dev tags (same-repo PRs
only). Ephemeral pr-* tags and untagged manifests are cleaned up weekly; version tags
are kept forever, so pinned deployments are never affected.
Docker Compose
For easier management, use Docker Compose:
# Clone the repository
git clone https://github.com/sitbon/magg.git
cd magg
# Run production version
docker compose up magg
# Run staging version (on port 8001)
docker compose up magg-beta
# Run development version (on port 8008)
# This uses ./.magg/config.json for configuration
docker compose up magg-dev
# Build and run with custom registry
REGISTRY=my.registry.com docker compose build
REGISTRY=my.registry.com docker compose pushSee compose.yaml and .env.example for configuration options.
Usage
Running Magg
Magg can run in three modes:
Stdio Mode (default) - For integration with Claude Desktop, Cline, Cursor, etc.:
magg serveHTTP Mode - For system-wide access or web integrations:
magg serve --http --port 8000Hybrid Mode - Both stdio and HTTP simultaneously:
magg serve --hybrid magg serve --hybrid --port 8080 # Custom portThis is particularly useful when you want to use Magg through an MCP client while also allowing HTTP access. For example:
With Claude Code:
# Configure Claude Code to use Magg in hybrid mode claude mcp add magg -- magg serve --hybrid --port 42000With mbro:
# mbro hosts Magg and connects via stdio mbro connect magg "magg serve --hybrid --port 8080" # Other mbro instances can connect via HTTP mbro connect magg http://localhost:8080
Available Tools
Once Magg is running, it exposes the following tools to LLMs:
magg_list_servers- List all configured MCP serversmagg_add_server- Add a new MCP servermagg_remove_server- Remove a servermagg_enable_server/magg_disable_server- Toggle server availabilitymagg_search_servers- Search for MCP servers onlinemagg_list_tools- List all available tools from all serversmagg_smart_configure- Intelligently configure a server from a URLmagg_analyze_servers- Analyze configured servers and suggest improvementsmagg_status- Get server and tool statisticsmagg_check- Health check servers with repair actions (report/remount/unmount/disable)magg_reload_config- Reload configuration from disk and apply changesmagg_load_kit- Load a kit and its servers into the configurationmagg_unload_kit- Unload a kit and optionally its servers from the configurationmagg_list_kits- List all available kits with their statusmagg_kit_info- Get detailed information about a specific kit
Quick Inspection with MBro
Magg includes the mbro (MCP Browser) CLI tool for interactive exploration. A unique feature is the ability to connect to Magg in stdio mode for quick inspection:
# Connect mbro to a Magg instance via stdio (no HTTP server needed)
mbro connect local-magg magg serve
# Now inspect your Magg setup from the MCP client perspective
mbro:local-magg> call magg_status
mbro:local-magg> call magg_list_serversMBro also supports:
Scripts: Create
.mbrofiles with commands for automationShell-style arguments: Use
key=valuesyntax instead of JSONTab completion: Rich parameter hints after connecting
See the MBro Documentation for details.
Authentication
Magg supports optional bearer token authentication to secure access:
Quick Start
Initialize authentication (creates RSA keypair):
magg auth initGenerate a JWT token for clients:
# Generate token (displays on screen) magg auth token # Export as environment variable export MAGG_JWT=$(magg auth token -q)Connect with authentication:
Using
MaggClient(auto-loads from MAGG_JWT):from magg.client import MaggClient async def main(): async with MaggClient("http://localhost:8000/mcp") as client: tools = await client.list_tools()Using FastMCP with explicit token:
from fastmcp import Client from fastmcp.client import BearerAuth jwt_token = "your-jwt-token-here" async with Client("http://localhost:8000/mcp", auth=BearerAuth(jwt_token)) as client: tools = await client.list_tools()
Key Management
Keys are stored in
~/.ssh/magg/by defaultPrivate key can be set via
MAGG_PRIVATE_KEYenvironment variableTo disable auth, remove keys or set non-existent
key_pathin.magg/auth.json
Authentication Commands
magg auth init- Initialize authentication (generates RSA keypair)magg auth status- Check authentication configurationmagg auth token- Generate JWT tokenmagg auth public-key- Display public key (for verification)magg auth private-key- Display private key (for backup)
See examples/authentication.py for more usage patterns.
Configuration
Magg stores its configuration in .magg/config.json in your current working directory. This allows for project-specific tool configurations.
Dynamic Configuration Reloading
Magg supports automatic configuration reloading without requiring a restart:
Automatic file watching: Detects changes to
config.jsonand reloads automatically (uses watchdog when available)SIGHUP signal: Send
kill -HUP <pid>to trigger immediate reload (Unix-like systems)MCP tool: Use
magg_reload_configtool from any MCP clientSmart transitions: Only affected servers are restarted during reload
Configuration reload is enabled by default. You can control it with:
MAGG_AUTO_RELOAD=false- Disable automatic reloadingMAGG_RELOAD_POLL_INTERVAL=5.0- Set polling interval in seconds (when watchdog unavailable)
See Configuration Reload Documentation for detailed information.
Environment Variables
Magg supports several environment variables for configuration:
MAGG_CONFIG_PATH- Path to config file (default:.magg/config.json)MAGG_LOG_LEVEL- Logging level: DEBUG, INFO, WARNING, ERROR, CRITICAL (default: INFO)MAGG_STDERR_SHOW=1- Show stderr output from subprocess MCP servers (default: suppressed)MAGG_AUTO_RELOAD- Enable/disable config auto-reload (default: true)MAGG_RELOAD_POLL_INTERVAL- Config polling interval in seconds (default: 1.0)MAGG_READ_ONLY=true- Run in read-only modeMAGG_SELF_PREFIX- Prefix for Magg tools (default: "magg"). Tools will be named as{prefix}{sep}{tool}(e.g.,magg_list_servers)MAGG_PREFIX_SEP- Separator between Magg's prefix and its tool names (default: "_"). Backend server tools always use_MAGG_BACKEND_INIT_TIMEOUT- Seconds to wait for a backend server to start before giving up on it (default: 30,0waits forever)
Example configuration:
{
"servers": {
"calculator": {
"name": "calculator",
"source": "https://github.com/executeautomation/calculator-mcp",
"command": "npx @executeautomation/calculator-mcp",
"prefix": "calc",
"enabled": true
}
}
}Adding Servers
Servers can be added in several ways:
Using the LLM (recommended):
"Add the Playwright MCP server" "Search for and add a calculator tool"Manual configuration via
magg_add_server:name: playwright url: https://github.com/microsoft/playwright-mcp command: npx @playwright/mcp@latest prefix: pwThe
magg serverCLI (see below)Direct config editing: Edit
.magg/config.jsondirectly
Managing Servers from the CLI
Server and kit configuration can be managed entirely from the command line — no MCP client
or running server required. The CLI edits .magg/config.json directly, and a running Magg
instance picks up the changes automatically via config reload.
(Tools that require a live server, like magg_search_servers, magg_check, and
magg_smart_configure, remain available through any MCP client such as mbro.)
# List servers (human-readable, or JSON on stdout for scripting)
magg server list
magg server list --json
# Add a server
magg server add playwright https://github.com/microsoft/playwright-mcp \
--command "npx @playwright/mcp@latest" --prefix pw
# Add a server without enabling it, with transport options
magg server add web https://example.com/web --uri http://localhost:9000/mcp \
--transport '{"keep_alive": false}' --disable
# Update an existing server (pass '' to clear an optional field)
magg server update playwright --prefix play --notes "Browser automation"
magg server update playwright --command "npx @playwright/mcp@next"
magg server update playwright --notes ""
# Enable / disable / inspect / remove
magg server enable playwright
magg server disable playwright
magg server info playwright --json
magg server remove playwrightReal-time Notifications with MaggClient
The MaggClient now supports real-time notifications from backend MCP servers:
from magg import MaggClient, MaggMessageHandler
# Using callbacks
handler = MaggMessageHandler(
on_tool_list_changed=lambda n: print("Tools changed!"),
on_progress=lambda n: print(f"Progress: {n.params.progress}")
)
async with MaggClient("http://localhost:8000/mcp", message_handler=handler) as client:
# Client will receive notifications while connected
tools = await client.list_tools()See Messaging Documentation for advanced usage including custom message handlers.
Kit Management
Magg supports organizing related MCP servers into "kits" - bundles that can be loaded and unloaded as a group:
# List available kits
magg kit list
# Load a kit (adds all its servers)
magg kit load web-tools
# Unload a kit (removes servers only in that kit)
magg kit unload web-tools
# Get information about a kit
magg kit info web-tools
# Export the current configuration (or a loaded kit) as a kit file
magg kit export --name my-kit --output my-kit.jsonWhen unloading a kit, servers that belong only to that kit are removed, while servers shared with other kits are kept.
You can also manage kits programmatically through Magg's tools when connected via an MCP client:
magg_list_kits- List all available kitsmagg_load_kit- Load a kit and its serversmagg_unload_kit- Unload a kitmagg_kit_info- Get detailed kit information
Kits are JSON files stored in ~/.magg/kit.d/ or .magg/kit.d/ that define a collection of related servers. See Kit Documentation for details on creating and managing kits.
MBro Scripts
Automate common workflows with MBro scripts:
# Create a setup script
cat > setup.mbro <<EOF
# Connect to Magg and check status
connect magg magg serve
call magg_status
call magg_list_servers
# Add a new server if needed
call magg_add_server name=calculator source="npx -y @modelcontextprotocol/server-calculator"
EOF
# Run the script
mbro -x setup.mbroMCP 2026-07-28 (Stateless Spec)
The MCP 2026-07-28 spec moves the protocol to a stateless request/response core. Magg's take: something still has to own long-lived stdio subprocesses, backend connections, and tool-list caching — and that's exactly the layer an aggregator provides. See Magg and the Stateless MCP Spec for the impact analysis and migration plan, including how Magg bridges pre-2026 (stateful) backends to stateless-era clients and how hierarchical Magg deployments fit in.
Documentation
For more documentation, see docs/.
Appearances
Magg appears in multiple locations. Please feel free to submit a PR to add more appearances below in alphabetical order.
Listing, Index, and other MCP Sites
Magg ships a server.json manifest for the
official MCP Registry (as io.github.sitbon/magg),
and magg_search_servers queries the registry as a first-class discovery source alongside
Glama, GitHub, and npm. See MCP Registry Documentation for publishing
instructions.
mcp-name: io.github.sitbon/magg
Awesome GitHub MCP Lists
Available Tools
16 toolsmagg_add_serverC
Add a new MCP server.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Working directory (for commands) | |
| env | No | Environment variables (dict or JSON string) | |
| uri | No | URI for HTTP servers | |
| name | Yes | Unique server name | |
| notes | No | Setup notes | |
| enable | No | Whether to enable the server immediately (default: True) | |
| prefix | No | Tool prefix (default: none, tools keep their original names) | |
| source | Yes | URL of the server package/repository | |
| command | No | Full command to run (e.g., 'python server.py', 'npx @playwright/mcp@latest') | |
| transport | No | Transport-specific configuration (dict or JSON string) Common options for all command-based servers: - `keep_alive` (boolean): Keep the process alive between requests (default: true) Python servers (command="python"): - `python_cmd` (string): Python executable path (default: sys.executable) Node.js servers (command="node"): - `node_cmd` (string): Node executable path (default: "node") NPX servers (command="npx"): - `use_package_lock` (boolean): Use package-lock.json if present (default: true) UVX servers (command="uvx"): - `python_version` (string): Python version to use (e.g., "3.13") - `with_packages` (array): Additional packages to install - `from_package` (string): Install tool from specific package HTTP/SSE servers (uri-based): - `headers` (object): HTTP headers to include - `auth` (string): Authentication method ("oauth" or bearer token) - `sse_read_timeout` (number): Timeout for SSE reads in seconds Examples: - Python: `{"keep_alive": false, "python_cmd": "/usr/bin/python3"}` - UVX: `{"python_version": "3.11", "with_packages": ["requests", "pandas"]}` - HTTP: `{"headers": {"Authorization": "Bearer token123"}, "sse_read_timeout": 30}` |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_analyze_serversB
Analyze configured servers and provide insights using LLM.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
magg_checkC
Check health of all mounted servers and handle unresponsive ones.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action to take for unresponsive servers: 'report' (default), 'remount', 'unmount', or 'disable' | report |
| timeout | No | Timeout in seconds for health check per server |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_disable_serverC
Disable a server.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Server name to disable |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_enable_serverC
Enable a server.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Server name to enable |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_kit_infoC
Get detailed information about a specific kit.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Kit name to get information about |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_list_kitsA
List all available kits with their status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_list_serversA
List all configured servers.
Unlike the /servers/all resource, this tool also provides the runtime status of each server (mounted or not).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_load_kitB
Load a kit and its servers into the configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Kit name to load (filename without .json) |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_reload_configA
Reload configuration from disk and apply changes.
This will:
Re-read the configuration file
Detect changes (added/removed/modified servers)
Apply changes by mounting/unmounting servers as needed
Note: This operation may briefly interrupt service for affected servers. Config reload can also be triggered via SIGHUP signal on Unix systems.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_remove_serverB
Remove a server.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Server name to remove |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_search_serversC
Search for MCP servers online.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return per search source | |
| query | Yes | Search query for MCP servers |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_smart_configureA
Use LLM sampling to intelligently configure and add a server from a URL.
This tool performs the complete workflow:
Collects metadata about the source URL
Uses LLM sampling (if context provided) to generate optimal configuration
Automatically adds the server to your configuration
Note: This requires an LLM context for intelligent configuration. Without LLM context, it falls back to basic metadata-based heuristics. For generating configuration prompts without sampling, use configure_server_prompt.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | URL of the server package/repository | |
| allow_add | No | Whether to automatically add the server after configuration (default: False) | |
| server_name | No | Optional server name (auto-generated if not provided) |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_statusB
Get basic Magg server status and statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
magg_unload_kitB
Unload a kit and optionally its servers from the configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Kit name to unload |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | |
| output | No |
proxyB
Main proxy tool for dynamic access to mounted MCP servers.
This tool provides a unified interface for:
Listing available tools, resources, or prompts across servers
Getting detailed info about specific capabilities
Calling tools, reading resources, or getting prompts
Annotations are used to provide rich type information for results, which can generally be expected to ultimately include JSON-encoded EmbeddedResource results that can be interpreted by the client.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Arguments for a 'call' action (call tool, read resource, or get prompt). Can be a dict or JSON string. | |
| path | No | Name or URI of the specific tool/resource/prompt (with FastMCP prefixing). Required for 'info' and 'call' actions; not allowed for 'list'. | |
| type | Yes | Type of MCP capability to interact with: tool, resource, or prompt. | |
| limit | No | Maximum number of items to return (for 'list' action only). Default: 100 | |
| action | Yes | Action to perform: list, info, or call. | |
| offset | No | Number of items to skip (for 'list' action only). Default: 0 | |
| filter_server | No | Filter results by server name prefix (for 'list' action only) |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.3.0- Changed
magg_add_server1 field changed- changed
Input schema / properties / prefix / descriptionPrevious value: -"Tool prefix (defaults to conformed server name)"New value: +"Tool prefix (default: none, tools keep their original names)"
- Changed
proxy1 field changed- changed
Input schema / properties / path / descriptionPrevious value: -"Name or URI of the specific tool/resource/prompt (with FastMCP prefixing).\nNot allowed for 'list' and 'info' actions."New value: +"Name or URI of the specific tool/resource/prompt (with FastMCP prefixing).\nRequired for 'info' and 'call' actions; not allowed for 'list'."
16 tool updates
v1.1.0- Changed
magg_add_server14 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / command / titleRemoved value: -"Command" - removed
Input schema / properties / cwd / titleRemoved value: -"Cwd" - removed
Input schema / properties / enable / titleRemoved value: -"Enable" - removed
Input schema / properties / env / titleRemoved value: -"Env" - removed
Input schema / properties / name / titleRemoved value: -"Name" - removed
Input schema / properties / notes / titleRemoved value: -"Notes" - removed
Input schema / properties / prefix / titleRemoved value: -"Prefix" - removed
Input schema / properties / source / titleRemoved value: -"Source" - removed
Input schema / properties / transport / titleRemoved value: -"Transport" - removed
Input schema / properties / uri / titleRemoved value: -"Uri" - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_analyze_servers1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
magg_check6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / action / titleRemoved value: -"Action" - removed
Input schema / properties / timeout / titleRemoved value: -"Timeout" - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_disable_server5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / name / titleRemoved value: -"Name" - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_enable_server5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / name / titleRemoved value: -"Name" - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_kit_info5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / name / titleRemoved value: -"Name" - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_list_kits4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_list_servers4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_load_kit5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / name / titleRemoved value: -"Name" - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_reload_config4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_remove_server5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / name / titleRemoved value: -"Name" - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_search_servers6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / limit / titleRemoved value: -"Limit" - removed
Input schema / properties / query / titleRemoved value: -"Query" - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_smart_configure7 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / allow_add / titleRemoved value: -"Allow Add" - removed
Input schema / properties / server_name / titleRemoved value: -"Server Name" - removed
Input schema / properties / source / titleRemoved value: -"Source" - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_status4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
magg_unload_kit5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / name / titleRemoved value: -"Name" - removed
Output schema / properties / errors / titleRemoved value: -"Errors" - removed
Output schema / properties / output / titleRemoved value: -"Output" - removed
Output schema / titleRemoved value: -"MaggResponse"
- Changed
proxy8 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / action / titleRemoved value: -"Action" - removed
Input schema / properties / args / titleRemoved value: -"Args" - removed
Input schema / properties / filter_server / titleRemoved value: -"Filter Server" - removed
Input schema / properties / limit / titleRemoved value: -"Limit" - removed
Input schema / properties / offset / titleRemoved value: -"Offset" - removed
Input schema / properties / path / titleRemoved value: -"Path" - removed
Input schema / properties / type / titleRemoved value: -"Type"
16 tool updates
v1.0.0- First observed
magg_add_server - First observed
magg_analyze_servers - First observed
magg_check - First observed
magg_disable_server - First observed
magg_enable_server - First observed
magg_kit_info - First observed
magg_list_kits - First observed
magg_list_servers - First observed
magg_load_kit - First observed
magg_reload_config - First observed
magg_remove_server - First observed
magg_search_servers - First observed
magg_smart_configure - First observed
magg_status - First observed
magg_unload_kit - First observed
proxy
TDQS
Scored across 16 tools
Most tools target distinct resources or actions (server vs kit vs config vs proxy), and descriptions help separate status, check, and analyze. Minor overlap remains between the broad proxy tool, magg_list_servers, and health/status tools, which could cause slight hesitation.
Nearly all management tools use a consistent snake_case with the magg_ prefix and mostly follow a verb_noun pattern. Deviations include the unprefixed proxy tool and names like magg_kit_info, magg_status, magg_check, and magg_smart_configure that do not strictly follow verb_noun.
At 16 tools, the surface is slightly above the typical 3-15 range but reasonable for an MCP proxy with server, kit, config, and health management. Each tool maps to a distinct operation, though a few could potentially be consolidated.
The set covers core server lifecycle (add/remove/list/enable/disable/search), kit lifecycle, config reload, health checks, and proxy access. Minor gaps include no explicit update/edit-server tool and no get-server-detail operation, but these can be worked around.
Maintenance
Related MCP Connectors
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Search, vet & assemble MCP servers from your agent: verified tools, risk labels, and trust scores.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceA meta-MCP server that manages, aggregates, and proxies other MCP servers, letting LLMs search for, add, configure, enable, disable, and bundle servers at runtime. Tools from connected servers are exposed under unified prefixes, with persistent configuration and health monitoring.-
- FlicenseNot gradedqualityAmaintenanceEnables LLMs to manage, aggregate, and proxy other MCP servers dynamically, so they can search, add, configure, enable, disable, and use tools from multiple servers at runtime.-
- FlicenseNot gradedqualityAmaintenanceA meta MCP server that lets LLMs discover, add, configure, enable/disable, and aggregate other MCP servers at runtime, exposing their tools under unified prefixes. It persists configurations, reloads them dynamically, and provides health checks, kit management, and proxying so assistants can extend their own capabilities without human intervention.-
- FlicenseNot gradedqualityAmaintenanceA meta-MCP server that aggregates and proxies other MCP servers, letting LLMs search for, add, configure, enable, disable, and bundle backend servers at runtime. Tools from those servers are automatically exposed under unified prefixes, with persistent configuration, health checks, and support for stdio, HTTP, and hybrid transports.-