ISA MCP Platform
Enterprise-grade Model Context Protocol (MCP) platform for tool registration, discovery, invocation, and external MCP aggregation.
Overview
ISA MCP provides:
- Unified tool/prompt/resource registry
- Skill-based semantic discovery
- Graceful semantic-to-lexical search fallback
- Human-in-the-loop (HIL) workflows
- External MCP server aggregation
- Standalone enterprise MCP servers
- Multi-tenant isolation and security controls
Latest Updates (2026-05-09)
- Kubernetes liveness endpoint added at
/liveso probes can distinguish process liveness from dependency readiness. - Runtime branding support added for white-label deployments and non-interactive rebrand flows.
- Backup/restore scripts and SOPs added for MCP runtime recovery.
- Disaster-recovery docs started with an operator dependency map and chart-hardening notes.
- Health semantics refresh so
/healthnow distinguishes healthy, degraded, and unready states. - Search degradation support so the platform falls back to lexical search if the semantic model dependency is unavailable.
- Enterprise MCP server docs for the dedicated API gateway, database, filesystem, and message queue servers.
- Security and reliability docs refresh covering response headers, rate limiting, and degraded-mode behavior.
Platform Capabilities
| Feature | Coverage |
|---|---|
| Tools | 190+ built-in tools |
| Prompts | 50+ reusable prompts |
| Resources | 9+ resource groups |
| HIL methods | 4 interaction modes |
| Skills | Versioned taxonomy with skill search |
| Aggregator | External MCP server federation |
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ ISA MCP PLATFORM │
├─────────────────────────────────────────────────────────────────┤
│ Tools / Prompts / Resources │
│ ↓ │
│ Services: Tool, Prompt, Resource, Skill, Search, HIL, Sync │
│ ↓ │
│ Aggregator: connect and route to external MCP servers │
└─────────────────────────────────────────────────────────────────┘Core Features
Skill-Based Search
Natural-language query routing through skill classification and ranked matches. Semantic search is the default path; if the model dependency is unavailable, MCP degrades to lexical search and reports that mode through /health and search metadata.
results = await search("schedule a meeting with John")Human-in-the-Loop
Supports:
- authorization
- input collection
- review
- combined input + authorization
Aggregator Service
Register, connect, monitor, and route to external MCP servers with namespace-aware tool routing.
Standalone Enterprise Servers
The repo also ships smaller MCP servers for focused infrastructure domains:
api_gateway_mcpdatabase_mcpfilesystem_mcpmessage_queue_mcp
Each exposes the standard MCP surfaces:
GET /healthGET /.well-known/mcp-server-card.jsonPOST /mcp
Marketplace
Install, manage, and discover tool packages with org-scoped isolation:
# Search packages
curl -X POST http://localhost:8081/api/v1/marketplace/search \
-H "Content-Type: application/json" \
-d '{"query": "data analysis", "category": "analytics"}'
# Install a package
curl -X POST http://localhost:8081/api/v1/marketplace/install \
-H "Content-Type: application/json" \
-d '{"name": "isa-analytics-tools", "version": "1.2.0", "auto_connect": true}'
# Batch install
curl -X POST http://localhost:8081/api/v1/marketplace/install/batch \
-H "Content-Type: application/json" \
-d '[{"name": "isa-analytics-tools"}, {"name": "isa-browser-tools"}]'
# List installed
curl http://localhost:8081/api/v1/marketplace/installed
# Check for updates
curl http://localhost:8081/api/v1/marketplace/updatesPackage lifecycle: install → enable/disable → update → uninstall. All operations are scoped per organization.
Production Security
Enterprise-grade security hardening across the platform:
- Authentication — Unified auth middleware supporting JWT Bearer tokens and API keys (
X-API-Key,X-MCP-API-Key). API keys in query parameters are explicitly rejected. - Multi-org context —
X-Organization-Idheader for org switching with validation against authorized orgs. - Command safety — Allowlist-based command validation with blocked patterns for injection, code execution, dangerous file ops, and sensitive file access. Max command length: 8192 bytes.
- Input validation — Query length limits (≤1000 chars), result limits (≤50), threshold bounds ([0,1]), and regex-validated operation IDs for SSE streams.
- SSE injection prevention — Operation IDs validated against
^[a-zA-Z0-9_-]{1,128}$to prevent path traversal.
Security & Operations
- Security - auth, authorization levels, SSRF/traversal/injection controls
- Multi-Tenant - org scoping, global vs org-local resources
- Reliability - health semantics, retries, degraded modes, and overflow protection
API Endpoints
Base URL: http://localhost:8081
| Endpoint | Method | Description |
|---|---|---|
/mcp | POST | MCP JSON-RPC endpoint |
/live | GET | Kubernetes liveness check |
/health | GET | Server health check |
/search | POST | Semantic search |
/api/v1/search | POST | Hierarchical search with skill routing |
/api/v1/search/tools | GET | Tool-only search contract |
/api/v1/search/skills | GET | Skill taxonomy search contract |
/progress/{id}/stream | GET | SSE progress stream |
/api/v1/skills/* | - | Skill management |
/api/v1/aggregator/* | - | External server aggregation |
/api/v1/marketplace/search | POST | Search tool packages |
/api/v1/marketplace/install | POST | Install a package |
/api/v1/marketplace/install/batch | POST | Batch install packages |
/api/v1/marketplace/installed | GET | List installed packages |
/api/v1/marketplace/updates | GET | Check for available updates |
/api/v1/marketplace/packages/{name} | GET | Package details |
/api/v1/marketplace/packages/{name} | DELETE | Uninstall package |
/api/v1/marketplace/packages/{name}/update | POST | Update package version |
/api/v1/marketplace/packages/{name}/enable | POST | Enable package |
/api/v1/marketplace/packages/{name}/disable | POST | Disable package |