ToolAtlas — Discover, Govern, and Optimize MCP Tools
Project description
ToolAtlas-MCP
The Control Plane for Your MCP Tools
ToolAtlas sits between AI clients and MCP servers — giving you a central registry, intelligent proxy, per-tool governance, usage analytics, and a beautiful web dashboard.
pip install toolatlas-mcp
toolatlas start
# → http://localhost:8080
Why ToolAtlas?
MCP (Model Context Protocol) is exploding. Teams run 5, 10, 50 MCP servers — GitHub, Jira, Slack, Confluence, databases, APIs. Each exposes tools your AI agents can call. ToolAtlas is the missing layer that helps you see everything, control what matters, and understand usage.
Features
🔌 Universal MCP Proxy
Connect any number of MCP servers and expose them through a single proxy endpoint. Group tools by team, project, or purpose using proxies — each with its own tool set and settings.
🛡️ Per-Tool Governance
- Enable/disable tools per proxy — block dangerous operations without touching the server
- Custom descriptions — override tool descriptions so AI understands them in context
- Alias tools — rename tools per proxy for clarity
🏷️ Tool Registry & Discovery
- Auto-discover tools from any MCP server (SSE or stdio)
- Tag, domain, and annotate tools with business context
- Glossary terms — link tools to business concepts for richer descriptions
📊 Usage Analytics
- Every tool call is automatically tracked with duration, success/failure, and arguments
- Dashboard shows top tools, latency trends, and error rates
- Drill into individual call traces with full event timelines
🌐 Web Dashboard
Full React SPA for managing everything without touching the CLI:
- Servers, proxies, tools, glossary, analytics
- Edit tool metadata inline
- Real-time stats
Quick Start
1. Install
pip install toolatlas-mcp
2. Start
toolatlas start
Open http://localhost:8080 in your browser.
3. Add an MCP Server
# SSH-based MCP server
toolatlas server add my-github \
--transport stdio \
--command "npx" \
--args "-y" "@modelcontextprotocol/server-github"
Or add SSE servers via the web UI.
4. Create a Proxy
toolatlas proxy add dev --description "Developer tools"
toolatlas proxy link dev my-github
5. Connect Your AI Client
Point your MCP client to:
http://localhost:8080/proxy/dev/message/{session_id}
Architecture
┌─────────────────┐ ┌─────────────────────────────────────┐ ┌─────────────────┐
│ MCP Clients │ │ ToolAtlas │ │ MCP Servers │
│ │ │ │ │ │
│ Claude │────▶│ Proxy "dev" ── governance ──▶ │────▶│ GitHub MCP │
│ Cursor │────▶│ Proxy "pm" ── governance ──▶ │────▶│ Jira MCP │
│ Custom Agents │────▶│ Proxy "ops" ── governance ──▶ │────▶│ Slack MCP │
│ │ │ │ │ Confluence MCP │
└─────────────────┘ │ ┌─────────────┐ ┌─────────────┐ │ └─────────────────┘
│ │ Registry │ │ Analytics │ │
│ │ DB + API │ │ Tracker │ │
│ └─────────────┘ └─────────────┘ │
│ ┌──────────────────────────────┐ │
│ │ Web Dashboard (React SPA) │ │
│ └──────────────────────────────┘ │
└─────────────────────────────────────┘
Clients speak MCP to ToolAtlas. ToolAtlas enforces governance, logs everything, and forwards to the real MCP servers.
CLI Reference
| Command | Description |
|---|---|
toolatlas start |
Start the ToolAtlas server |
toolatlas server add <name> |
Register a new MCP server |
toolatlas server list |
List registered servers |
toolatlas proxy add <slug> |
Create a new proxy |
toolatlas proxy list |
List proxies |
toolatlas proxy link <slug> <server> |
Link a server to a proxy |
Configuration
Set via environment variables with TOOLATLAS_ prefix:
| Variable | Default | Description |
|---|---|---|
TOOLATLAS_HOST |
127.0.0.1 |
Bind address |
TOOLATLAS_PORT |
8080 |
HTTP port |
TOOLATLAS_DATABASE_URL |
sqlite+aiosqlite:///toolatlas.db |
Database connection |
TOOLATLAS_LOG_LEVEL |
INFO |
Log level |
Development
git clone https://github.com/anomalyco/toolatlas-mcp
cd toolatlas-mcp
# Set up Python
pip install -e ".[dev]"
# Set up UI
cd ui && npm install && npm run build && cd ..
# Run tests
pytest
# Start dev server
toolatlas start --reload
# In another terminal: cd ui && npm run dev
License
MIT © ToolAtlas contributors
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file toolatlas_mcp-0.1.0.tar.gz.
File metadata
- Download URL: toolatlas_mcp-0.1.0.tar.gz
- Upload date:
- Size: 111.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c434784c691e2dc06e45587fbd071b9261dfff3cab46df563bdc344f533204df
|
|
| MD5 |
f07e397b05a43484e9af1cb8cb2c322e
|
|
| BLAKE2b-256 |
0909c0842654d1678c0e5a3483c4db72592b60c4f48c93e9c839d485f6079e93
|
File details
Details for the file toolatlas_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: toolatlas_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 111.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
443ecd5c6262e3011d25c3b72bfdf929785d8d34187bcc5e64d709bd2154e63b
|
|
| MD5 |
10b73f0403a8a4879494a52033774004
|
|
| BLAKE2b-256 |
30e2adb5356347d6f22c8eba22d3f198957391d8f9ce16766df4729dcac2ae0e
|