Magg Kits
June 30, 2025 ยท View on GitHub
Kits are a way to bundle related MCP servers together for easy installation and management. Think of them as "packages" or "toolkits" that group servers with similar functionality.
Overview
A kit is a JSON file that contains:
- Metadata about the kit (name, description, author, version, etc.)
- One or more server configurations
- Links to documentation and resources
When you load a kit into Magg, all its servers are added to your configuration. When you unload a kit, servers that were only loaded from that kit are removed (servers shared by multiple kits are preserved).
Kit Discovery
Magg looks for kits in these locations:
$MAGG_KITD_PATH(defaults to~/.magg/kit.d).magg/kit.din the same directory as yourconfig.json
Kit files must have a .json extension and follow the kit schema.
Kit File Format
{
"name": "calculator",
"description": "Basic calculator functionality for MCP",
"author": "Magg Team",
"version": "1.0.0",
"keywords": ["math", "calculator", "arithmetic"],
"links": {
"homepage": "https://github.com/example/calculator-kit",
"docs": "https://github.com/example/calculator-kit/wiki"
},
"servers": {
"calc": {
"source": "https://github.com/example/mcp-calc-server",
"command": "python",
"args": ["-m", "mcp_calc_server"],
"notes": "Basic calculator server",
}
}
}
Kit Management Tools
Magg provides these tools for managing kits:
List Available Kits
# Using mbro
mbro call magg_list_kits
# Shows all kits with their status (loaded/available)
Load a Kit
# Load a kit and all its servers
mbro call magg_load_kit name="calculator"
# This will:
# 1. Load the kit from calculator.json
# 2. Add all servers from the kit
# 3. Mount any enabled servers
# 4. Update config.json
Unload a Kit
# Unload a kit
mbro call magg_unload_kit name="calculator"
# This will:
# 1. Remove servers that only belong to this kit
# 2. Update servers that belong to multiple kits
# 3. Unmount removed servers
# 4. Update config.json
Get Kit Information
# Get detailed info about a kit
mbro call magg_kit_info name="web-tools"
# Shows:
# - Kit metadata
# - All servers in the kit
# - Whether the kit is loaded
Server Tracking
Each server in config.json now has a kits field that tracks which kits it was loaded from:
{
"servers": {
"calc": {
"source": "...",
"command": "python",
"kits": ["calculator", "math-tools"]
}
}
}
This allows Magg to:
- Know which servers came from which kits
- Only remove servers when their last kit is unloaded
- Handle servers that appear in multiple kits
Creating Your Own Kits
To create a kit:
- Create a JSON file in
~/.magg/kit.d/(e.g.,my-tools.json) - Add kit metadata and server configurations
- Use
magg_load_kitto load it
Example custom kit:
{
"name": "my-tools",
"description": "My personal MCP server collection",
"author": "Your Name",
"version": "1.0.0",
"servers": {
"tool1": {
"source": "https://github.com/you/tool1",
"command": "node",
"args": ["index.js"],
"enabled": true
},
"tool2": {
"source": "https://github.com/you/tool2",
"uri": "http://localhost:8080/mcp",
"enabled": false
}
}
}
Best Practices
- Kit Naming: Use descriptive names that indicate the kit's purpose
- Versioning: Include version numbers for tracking updates
- Documentation: Provide links to docs and setup instructions
- Server Names: Use consistent, meaningful server names
- Keywords: Add relevant keywords for discoverability
Example Kits
Web Tools Kit
Groups web automation and scraping servers:
- Playwright server for browser automation
- Puppeteer server as an alternative
- Web scraping utilities
Development Kit
Groups development-related servers:
- Git operations server
- GitHub API server
- Code analysis tools
Data Kit
Groups data processing servers:
- SQLite database server
- CSV processing server
- Data transformation tools