Skip to main content
Glama
Nagendda

MCP Tool Manager

by Nagendda

MCP Tool Manager

Ein für den Produktionsbetrieb gehärtetes, KI-natives Tool-Registry- und Agentenverwaltungssystem, das auf dem Model Context Protocol (MCP) basiert.

Node.js License: MIT MCP Security


📖 Inhaltsverzeichnis

  1. Was ist das?

  2. Architekturüberblick

  3. Projektstruktur

  4. Schnellstart

  5. Konfigurationsreferenz

  6. API-Referenz

  7. Umsetzungsplan

  8. Sicherheitsmodell

  9. Monitoring & Beobachtbarkeit

  10. Roadmap

  11. Mitwirken


Related MCP server: mcp-tool-gateway

Was ist das?

MCP Tool Manager ist eine Zwei-Server-Plattform, die die schwierigsten betrieblichen Probleme in KI-integrierten Tool-Systemen löst:

Problem

Lösung

LLMs verbrauchen Kontextfenster durch riesige API-Antworten

Byte-Budget pro Tool mit geordneter Kürzungssignalisierung

Upstream-API-Fehler, die bis zur LLM durchschlagen

Circuit Breaker pro Tool (CLOSED → OPEN → HALF-OPEN)

Alle Daten gehen bei Serverneustart verloren

Automatische periodische Datenträger-Snapshots, beim Start wiederhergestellt

Brute-Force-/Injektionsangriffe auf das API-Gateway

Bedrohungserkennung für 10 Familien + gestuftes Rate Limiting + automatische IP-Sperrung

Keine Möglichkeit, eine Anfrage Ende-zu-Ende zu verfolgen

X-Trace-ID-Header, der über alle Ebenen und zu Upstream-APIs propagiert wird

Tools/Agenten nur im flüchtigen Speicher registriert

Dateibasiertes Aufrufprotokoll + Agenten-JSON-Konfigurationen + Zustands-Snapshots


Architekturüberblick

┌─────────────────────────────────────────────────────────────────────────┐
│                        MCP Tool Manager Platform                        │
│                                                                         │
│  ┌──────────────────────┐        ┌────────────────────────────────────┐ │
│  │   Manager Server      │        │    Hardened MCP Server             │ │
│  │   src/server          │        │    mcp-server-project              │ │
│  │                       │        │                                    │ │
│  │  • REST API (CRUD)    │        │  • MCP Protocol endpoint           │ │
│  │  • JWT + API key auth │        │  • Agent API key auth + expiry     │ │
│  │  • Tool registry      │        │  • Circuit breaker per tool        │ │
│  │  • Agent management   │        │  • Retry + exponential backoff     │ │
│  │  • Credential vault   │        │  • Response cache (TTL per tool)   │ │
│  │  • Audit log          │        │  • Context window limiting         │ │
│  │  • State snapshots    │        │  • File-persisted call log         │ │
│  │  • WebSocket events   │        │  • 10-family threat detection      │ │
│  │  • Response cache     │        │  • Admin /metrics endpoint         │ │
│  └──────────┬───────────┘        └──────────────┬─────────────────────┘ │
│             │                                    │                       │
│  ┌──────────▼───────────┐        ┌──────────────▼─────────────────────┐ │
│  │   React Dashboard     │        │    Claude Desktop / LLM Agent      │ │
│  │   src/dashboard       │        │    (connects via MCP SDK)          │ │
│  └──────────────────────┘        └────────────────────────────────────┘ │
│                                                                         │
│  ┌──────────────────────────────────────────────────────────────────┐   │
│  │  Cross-cutting: X-Trace-ID · Rate Limiting · Helmet CSP ·        │   │
│  │  Structured Logging · Connection Limit · Compression             │   │
│  └──────────────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────────────┘

Projektstruktur

mcp/
├── .env.example                    # Template — copy to .env and fill in values
├── .gitignore                      # Excludes .env, node_modules, logs, snapshots
├── package.json                    # Root scripts — start both servers, CLI, tests
├── README.md                       # This file
├── REPORT.md                       # Full technical capability report
├── CHANGELOG.md                    # Version history
│
├── src/
│   ├── server/                     # Manager Server (REST API)
│   │   ├── index.js                # Entry point — snapshot restore + server start
│   │   ├── app.js                  # Express app — all middleware wired
│   │   ├── routes/
│   │   │   ├── tools.js            # CRUD + test execution for tools
│   │   │   ├── agents.js           # Agent management + tool discovery
│   │   │   ├── auth.js             # Login, register, API key management
│   │   │   ├── credentials.js      # Encrypted credential vault
│   │   │   └── monitoring.js       # Stats, audit log, cache, snapshot status
│   │   ├── middleware/
│   │   │   ├── auth.js             # JWT + API key auth + RBAC
│   │   │   └── error-handler.js    # Typed errors + global handler
│   │   ├── storage/
│   │   │   ├── in-memory-store.js  # All in-memory Maps + operations
│   │   │   ├── seeder.js           # Initial data (skipped if snapshot exists)
│   │   │   └── state-snapshot.js   # Periodic disk snapshots (JSON files)
│   │   ├── utils/
│   │   │   ├── trace.js            # X-Trace-ID middleware
│   │   │   ├── context-limit.js    # Response byte budget + pagination guard
│   │   │   ├── response-cache.js   # node-cache wrapper + TTL presets
│   │   │   ├── encryption.js       # AES-256-CBC for credential vault
│   │   │   └── logger.js           # Levelled logger (error/warn/info/debug)
│   │   └── websocket.js            # Real-time events via WebSocket
│   │
│   ├── dashboard/                  # React + Vite management UI
│   │   ├── src/
│   │   │   ├── pages/              # Dashboard, Tools, Agents, Monitoring, Settings
│   │   │   ├── components/         # Sidebar, Topbar, ToastContainer
│   │   │   ├── services/api.js     # Axios client for Manager Server
│   │   │   └── styles/             # global.css, sidebar.css
│   │   └── vite.config.js
│   │
│   ├── sdk/
│   │   └── index.js                # Developer SDK — npm-publishable client
│   │
│   └── cli/
│       └── index.js                # Admin CLI (17 commands)
│
├── mcp-server-project/             # Hardened MCP Server
│   ├── package.json
│   ├── src/
│   │   ├── server.js               # Boot sequence — all 7 security layers
│   │   ├── mcp-protocol.js         # MCP spec endpoint (/mcp/tools, /mcp/invoke)
│   │   ├── routes/
│   │   │   ├── invoke.js           # Tool invocation (retry + CB + cache + limit)
│   │   │   ├── info.js             # Tool discovery per agent
│   │   │   └── metrics.js          # Admin monitoring endpoint
│   │   ├── middleware/
│   │   │   ├── auth.js             # Agent auth + expiry + scope + disabled check
│   │   │   ├── trace.js            # X-Trace-ID attachment
│   │   │   └── context-limit.js    # Response byte budget
│   │   ├── state/
│   │   │   ├── call-log.js         # Disk-persisted call log (NDJSON)
│   │   │   ├── circuit-breaker.js  # Per-tool CLOSED/OPEN/HALF state machine
│   │   │   └── response-cache.js   # TTL cache with auto-eviction
│   │   ├── loaders/
│   │   │   ├── registry.js         # Central tool+agent in-memory registry
│   │   │   ├── tool-loader.js      # Loads *.json from /tools/
│   │   │   ├── agent-loader.js     # Loads *.json from /agents/
│   │   │   └── credential-loader.js # Merges .env + JSON credentials
│   │   └── watcher.js              # chokidar hot-reload on /tools/ and /agents/
│   ├── security/
│   │   ├── middleware/
│   │   │   ├── security-headers.js # Strict Helmet CSP + CORS
│   │   │   ├── rate-limiter.js     # 3-tier rate limiting + IP auto-block
│   │   │   └── threat-detector.js  # 10-family injection/attack detector
│   │   └── logger/
│   │       └── security-log.js     # Structured security event log (5 levels)
│   ├── tools/                      # Tool definition JSON files
│   ├── agents/                     # Agent definition JSON files
│   ├── credentials/                # .env and JSON secrets (gitignored)
│   ├── logs/                       # Security log + call log (gitignored)
│   └── security-tests/             # Attack simulation suite + benchmark
│
├── snapshots/                      # Manager server state snapshots (gitignored)
└── examples/                       # Example tool/agent JSON files

Schnellstart

Voraussetzungen

Anforderung

Version

Node.js

≥ 16.0.0

npm

≥ 7.0.0

Git

beliebig

1. Klonen

git clone https://github.com/YOUR_USERNAME/mcp-tool-manager.git
cd mcp-tool-manager

2. Abhängigkeiten installieren

# Root (Manager Server + CLI + SDK)
npm install

# Dashboard
cd src/dashboard && npm install && cd ../..

# MCP Server
cd mcp-server-project && npm install && cd ..

3. Konfigurieren

# Manager Server
cp .env.example .env
# Edit .env with your JWT_SECRET, ENCRYPTION_KEY, etc.

# MCP Server
cp mcp-server-project/credentials/.env.example mcp-server-project/credentials/.env
# Edit credentials/.env with your agent keys and tool API keys

4. Ausführen

# Terminal 1 — Manager Server (port 5000)
npm run dev:server

# Terminal 2 — React Dashboard (port 3000)
npm run dev:dashboard

# Terminal 3 — MCP Server (port 5001 by default)
cd mcp-server-project && npm start

5. Zugriff

Standard-Login (Manager)

Email:    admin@mcp-tool-manager.dev
Password: admin123

⚠️ Ändern Sie dies in der Produktion sofort über die Umgebungsvariablen ADMIN_USERNAME / ADMIN_PASSWORD.


Konfigurationsreferenz

Manager-Server (.env)

# Core
NODE_ENV=development
MCP_SERVER_PORT=5000
MCP_SERVER_HOST=localhost
LOG_LEVEL=info

# Auth
JWT_SECRET=your-super-secret-key-min-32-chars
JWT_EXPIRY=24h
ENCRYPTION_KEY=your-encryption-key-exactly-32-ch

# Context Window
MCP_MAX_RESPONSE_BYTES=65536        # 64 KB default response budget
MCP_MAX_PAGE_SIZE=100               # Max items per paginated endpoint

# Scalability
MCP_MAX_CONNECTIONS=500             # TCP connection limit
SNAPSHOT_DIR=./snapshots            # State persistence directory
SNAPSHOT_INTERVAL_SECS=60           # Save state every 60 seconds
SNAPSHOT_RESTORE=true               # Restore state on startup

# Cache TTLs (seconds)
CACHE_TTL_TOOL_LIST=30
CACHE_TTL_TOOL_ITEM=60
CACHE_TTL_AGENT_LIST=30
CACHE_TTL_STATS=10
CACHE_TTL_ACTIVITY=300

# Future (not yet wired — provide connection string to enable)
DATABASE_URL=postgresql://user:password@localhost:5432/mcp_tools
REDIS_URL=redis://localhost:6379

MCP-Server (mcp-server-project/credentials/.env)

# Agent API Keys (convention: AGENT_<AGENTID_UPPERCASE>_KEY)
AGENT_MY_AGENT_KEY=your-agent-secret-key

# Tool credentials (referenced by credential_ref in tool JSON)
OPENAI_API_KEY=sk-...
WEATHER_API_KEY=...
SLACK_BOT_TOKEN=xoxb-...

# Admin
ADMIN_KEY=your-admin-key-for-metrics-endpoint

# Server
MCP_PORT=5001
MCP_MAX_CONNECTIONS=200
MCP_MAX_RESPONSE_BYTES=32768        # 32 KB default per tool response

Tool-JSON-Felder (MCP-Server)

{
  "name": "my_tool",
  "description": "Human-readable description for the LLM",
  "endpoint_url": "https://api.example.com/endpoint",
  "method": "POST",
  "credential_ref": "MY_API_KEY",
  "parameters": {
    "type": "object",
    "properties": {
      "query": { "type": "string", "description": "Search query" }
    },
    "required": ["query"]
  },
  "cache_ttl_seconds": 60,
  "max_response_bytes": 8192,
  "retry_max": 3,
  "timeout_ms": 10000,
  "circuit_failure_threshold": 5,
  "circuit_open_window_ms": 30000
}

Agent-JSON-Felder (MCP-Server)

{
  "agent_id": "my-agent",
  "allowed_tools": ["weather_lookup", "send_email"],
  "expires_at": "2027-01-01T00:00:00Z",
  "disabled": false
}

API-Referenz

Manager-Server (http://localhost:5000)

Authentifizierung

Methode

Pfad

Auth

Beschreibung

POST

/api/auth/login

JWT-Token abrufen

POST

/api/auth/register

Konto erstellen

GET

/api/auth/me

Aktueller Benutzer + API-Schlüssel

POST

/api/auth/api-keys

Neuen API-Schlüssel generieren

DELETE

/api/auth/api-keys/:key

API-Schlüssel widerrufen

Tools

Methode

Pfad

Auth

Beschreibung

GET

/api/tools

Tools auflisten (paginiert)

POST

/api/tools

Neues Tool registrieren

GET

/api/tools/:id

Tool-Details

PUT

/api/tools/:id

Tool aktualisieren

DELETE

/api/tools/:id

Tool entfernen

POST

/api/tools/:id/test

Tool-Aufruf testen

Agenten

Methode

Pfad

Auth

Beschreibung

GET

/api/agents

Agenten auflisten

POST

/api/agents

Agenten registrieren

GET

/api/agents/:id

Agenten-Details

PUT

/api/agents/:id

Agenten aktualisieren

DELETE

/api/agents/:id

Agenten entfernen

POST

/api/agents/:id/tools

Tools für Agenten ermitteln

Monitoring

Methode

Pfad

Auth

Beschreibung

GET

/api/monitoring/health

Liveness-Probe

GET

/api/monitoring/stats

Vollständige Systemstatistiken + Cache + Snapshot

GET

/api/monitoring/activity

Echte stündliche Aufruf-Zeitachse (24h)

GET

/api/monitoring/top-tools

Top N Tools nach Aufrufanzahl

GET

/api/monitoring/audit-log

Audit-Einträge

GET

/api/monitoring/cache

Cache-Trefferquote + Einträge

GET

/api/monitoring/snapshot

Zeitstempel + Anzahl des letzten Snapshots

MCP-Server (http://localhost:5001)

Methode

Pfad

Auth

Beschreibung

GET

/health

Liveness-Probe

GET

/info

AGENT_KEY

Tools für den aufrufenden Agenten auflisten

GET

/info/all

ADMIN_KEY

Alle Tools + alle Agenten

GET

/mcp/tools

Mit Claude Desktop kompatible Tool-Liste

POST

/mcp/invoke/:tool

MCP-Protokollaufruf

POST

/invoke/:toolName

AGENT_KEY

Direkter Tool-Aufruf

GET

/metrics

ADMIN_KEY

Vollständiges Monitoring-Dashboard

GET

/metrics/health

Leichtgewichtige Liveness-Probe

GET

/metrics/calls

ADMIN_KEY

Kürzlicher Aufrufverlauf


Umsetzungsplan

Dieser Abschnitt dokumentiert die vollständige Roadmap – was bereits umgesetzt ist, was in Arbeit ist und was Infrastrukturentscheidungen erfordert.

Phase 1 – Grundlage ✅ Abgeschlossen

  • Manager-Server-REST-API (Tools, Agenten, Authentifizierung, Zugangsdaten, Monitoring)

  • In-Memory-Speicher mit vollständigen CRUD-Operationen

  • JWT + API-Schlüssel-Dualauthentifizierung mit RBAC

  • AES-256-CBC-Zugangsdatentresor

  • React-Dashboard (Seiten für Tools, Agenten, Monitoring, Einstellungen)

  • WebSocket-Echtzeit-Event-Broadcasting

  • Entwickler-SDK (src/sdk/index.js)

  • Admin-CLI mit 17 Befehlen (src/cli/index.js)

  • MCP-Protokoll-Endpunkt (Claude Desktop-kompatibel)

  • Dateibasiertes Tool-/Agenten-Register mit Hot-Reload (chokidar)

  • Audit-Log mit rotierendem Ringpuffer

Phase 2 – Sicherheitshärtung ✅ Abgeschlossen

  • Bedrohungserkennung für 10 Familien (SQL/NoSQL/XSS/SSRF/Shell/Template/Path/CMDi/Null/Header-Injektion)

  • Sperrung von Scanner-User-Agents (sqlmap, nikto, nmap, Burp Suite, 20+ Scanner)

  • 3-stufiges Rate Limiting (global + strikt + Geschwindigkeitsverlangsamung)

  • Automatische IP-Sperrung nach Brute-Force-Angriffen (20+ Treffer)

  • Strukturiertes Sicherheitsereignisprotokoll mit 5 Schweregradstufen

  • Helmet strikte CSP (defaultSrc: 'none')

  • Ablauf von Agent-Schlüsseln + Deaktivierungs-Flag

  • Scope-Durchsetzung (requireScope Middleware)

  • Sicherheitsprotokollierung bei Authentifizierungsfehlern + Scope-Verletzungen

  • Sicherheits-Testsuite + Benchmark (Vergleich gehärtet vs. ungeschützt)

Phase 3 – Betriebliche Fähigkeiten ✅ Abgeschlossen (Dieses Release)

  • X-Trace-ID – eindeutiger Anfrage-Korrelator, propagiert durch alle Ebenen und Upstream-APIs

  • Circuit Breaker – CLOSED/OPEN/HALF-OPEN pro Tool (konfigurierbare Schwellwerte)

  • Wiederholung mit exponentiellem Backoff – 200ms → 400ms → 800ms, überspringt 4xx-Fehler

  • Antwort-Cache – TTL pro Tool/Datentyp, Trefferquoten-Verfolgung, Präfix-Invalidierung

  • Kontextfenster-Begrenzung – Byte-Budget pro Tool, geordnete Kürzung mit Signalisierung

  • Paginierungs-Schutz – globaler ?limit-Begrenzer (Standard maximal 100 Einträge)

  • Zustands-Snapshots – atomare periodische Schreibvorgänge, beim Start wiederhergestellt (Tools/Agenten/Benutzer überleben Neustart)

  • Verbindungslimit-Wächter – verwirft TCP-Sockets über dem konfigurierbaren Maximum

  • Rate Limiting aktiviert (Manager) – 300 global + 15 Authentifizierungsversuche pro Minute und IP

  • Echtes Monitoring – Aktivitätszeitachse aus tatsächlichen Aufrufdaten (Math.random()-Mock entfernt)

  • /metrics-Endpunkt (MCP) – vollständiges Admin-Dashboard (Aufrufe, Cache, Circuit Breaker, Speicher)

  • node-cache aktiviert (Manager) – TTL-Voreinstellungen pro Datentyp, Trefferquoten-Verfolgung

  • /api/monitoring/cache und /api/monitoring/snapshot neue Endpunkte

Phase 4 – Persistenz & Verteilung 🔲 Wartet auf Ihre Eingabe

Diese erfordern Infrastruktur. pg und ioredis sind bereits installiert – es werden nur Verbindungszeichenfolgen benötigt.

  • PostgreSQLin-memory-store.js in eine persistente Datenbank migrieren

    • Tabellen tools, agents, users, api_keys, credentials, audit_log

    • Verbindungspool über pg (DATABASE_URL bereits in .env.example)

  • Redis – gemeinsamer Speicher für Rate Limit + Sitzungen + Antwort-Cache

    • node-cache durch ioredis für Multi-Instanz-Sicherheit ersetzen

    • Gemeinsame IP-Sperrliste über alle Serverinstanzen hinweg

    • (REDIS_URL bereits in .env.example)

  • Horizontale Skalierung – sobald Redis + Postgres angebunden sind, N Instanzen hinter nginx bereitstellen

Phase 5 – Entwicklererfahrung 🔲 Optional

  • Automatische Generierung der OpenAPI/Swagger-Spezifikation (swagger-jsdoc)

  • zod-Umgebungs-Schema-Validierung beim Start (Fail-Fast bei fehlender Konfiguration)

  • JWT-Refresh-Tokens + Blacklist

  • Prometheus-Metrikenexport (/metrics/prometheus-Endpunkt)

  • OpenTelemetry-verteiltes Tracing

  • Tool-Kompatibilitätsmatrix

  • WebSocket-Dashboard für den Echtzeit-Circuit-Breaker-Zustand


Sicherheitsmodell

Manager-Server

Request
  │
  ├── X-Trace-ID attachment (Layer 0)
  ├── Helmet strict CSP (Layer 1)
  ├── Global rate limit 300/min (Layer 2a)
  ├── Auth rate limit 15/min on /api/auth (Layer 2b)
  ├── Body size limit 2 MB (Layer 3)
  ├── Context window budget (Layer 4)
  ├── Pagination guard max 100 items (Layer 5)
  ├── JWT / API key verification (per-route)
  └── RBAC role check (per-route)

MCP-Server

Request
  │
  ├── X-Trace-ID attachment (Layer 0)
  ├── Strict Helmet CSP (Layer 1)
  ├── IP block list check (Layer 2)
  ├── Body size guard (Layer 3)
  ├── Context window budget (Layer 4)
  ├── HTTP method whitelist (Layer 5)
  ├── Scanner user-agent block (Layer 6)
  ├── Global rate limit + speed slow-down (Layer 7)
  ├── 10-family threat detection (Layer 8)
  ├── Agent API key auth + expiry + disabled check (per-route)
  ├── Tool scope enforcement (per-route)
  ├── Circuit breaker check (per-tool)
  ├── Response cache lookup (per-tool)
  └── Retry + context limit on upstream call (per-tool)

Monitoring & Beobachtbarkeit

Verfügbare Daten

Quelle

Was es zeigt

GET /api/monitoring/stats

Systemübersicht, Cache-Statistiken, Snapshot-Informationen, Kontextlimit-Konfiguration

GET /api/monitoring/activity

Echte 24-Stunden-Stundenzeitleiste der Aufrufe (Erfolgs- + Fehlerzahlen)

GET /api/monitoring/top-tools

Top-Tools nach Aufrufanzahl + Erfolgsrate

GET /api/monitoring/audit-log

Alle Admin-Aktionen (Tool erstellen/löschen, Agent hinzufügen/entfernen)

GET /api/monitoring/cache

Cache-Trefferquote, Eintragsanzahl, Verdrängungen

GET /api/monitoring/snapshot

Zeitstempel des letzten Snapshots + Datensatzanzahl

GET /metrics (MCP, admin)

Circuit-Breaker-Zustände, Aufrufprotokoll, Cache-Statistiken, Systemspeicher

GET /metrics/health (MCP, public)

Betriebszeit + Speicher (leichtgewichtige Prüfung)

logs/calls.ndjson (MCP)

Vollständige Aufrufhistorie: Trace-ID, Agent, Tool, Latenz, Erfolg, Wiederholungen

logs/security.log (MCP)

Alle Sicherheitsereignisse: AUTH-Fehler, Bedrohungen, Ratenbegrenzungen, Circuit-Auslösungen

snapshots/meta.json (Manager)

Letzter Snapshot: Zeitstempel + Anzahl für alle Datentypen

X-Trace-ID-Ablauf

Client → [generates or passes X-Trace-ID]
  → Manager/MCP Server [attaches to req.traceId, echoes in X-Trace-ID response header]
    → Security log entries [include traceId]
      → Call log entries [include traceId]
        → Upstream API call [X-Trace-ID forwarded in headers]
          → Response [traceId in JSON body]

Roadmap

v2.1 (Als Nächstes)

  • PostgreSQL für persistenten Speicher anbinden

  • Redis für verteilte Ratenbegrenzung + Cache anbinden

  • zod-Umgebungsschema-Validierung beim Start

v2.2

  • JWT-Refresh-Token + Blacklist

  • Prometheus-Metriken-Export

  • Ratenbegrenzung pro API-Schlüssel (nicht IP-basiert)

v3.0

  • Vollständige OpenAPI-Spezifikation

  • OpenTelemetry-Verteiltes-Tracing

  • OAuth2/OIDC-föderierte Agentenidentität


Mitwirken

Siehe CONTRIBUTING.md für Branch-Strategie, PR-Prozess und Code-Stil-Leitfaden.


Lizenz

MIT © MCP Tool Manager Team


Siehe REPORT.md für die vollständige technische Fähigkeitsbewertung.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A secure tool-execution plane for agentic AI that enforces JWT authentication, rate limiting, prompt-injection inspection, and audit logging, while ingesting downstream OpenAPI endpoints as MCP tools.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to access a unified catalog of tools from various APIs (OpenAPI, GraphQL, MCP, Google Discovery) through the MCP protocol.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to securely call MCP tools with risk scoring, checkpoints, rollback, and approval workflows.
    134
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nagendda/MCP-Tool-Manager'

If you have feedback or need assistance with the MCP directory API, please join our Discord server