Skip to main content

MCP Registry Concepts

The MCP Registry is a central storage and discovery service for Model Context Protocol (MCP) servers.

What is MCP?

The Model Context Protocol (MCP) is a standard for connecting AI applications to external tools and data sources. MCP servers expose:

  • Tools: Functions that AI agents can execute
  • Resources: Data that AI agents can access
  • Prompts: Pre-defined interaction patterns

Registry Purpose

The MCP Registry serves as the central catalog for MCP servers in your organization:

┌──────────────────┐     ┌──────────────────┐     ┌──────────────────┐
│ MCP Server 1 │ │ MCP Server 2 │ │ MCP Server N │
│ (Web Search) │ │ (Database) │ │ (Custom) │
└────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘
│ │ │
└────────────────────────┼────────────────────────┘


┌──────────────────────────┐
│ MCP Registry │
│ - Server catalog │
│ - Capabilities index │
│ - Health status │
│ - Discovery APIs │
└──────────────────────────┘


┌──────────────────────────┐
│ AI Applications │
│ - CrewAI agents │
│ - LangGraph workflows │
│ - Custom agents │
└──────────────────────────┘

Key Concepts

MCP Servers

An MCP server record contains:

{
"id": "uuid",
"name": "web-search",
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-web-search"],
"capabilities": {
"tools": ["search_web", "search_images"],
"resources": [],
"prompts": []
},
"status": "active",
"last_verified": "2024-01-15T10:00:00Z",
"scanner_id": "scanner-uuid"
}
FieldDescription
idUnique identifier
nameHuman-readable name
commandExecutable to run the server
argsCommand-line arguments
capabilitiesTools, resources, and prompts provided
statusCurrent health status
last_verifiedLast successful health check
scanner_idScanner that registered this server

Scanners

Scanners are agents that discover and register MCP servers:

{
"id": "uuid",
"agent_id": "scanner-agent-001",
"name": "Production Scanner",
"api_key_hash": "sha256:...",
"last_seen": "2024-01-15T10:00:00Z",
"is_active": true
}

Scanners authenticate with API keys and can:

  • Register new MCP servers
  • Update server information
  • Report health status
  • Remove stale servers

Capabilities

MCP server capabilities define what they offer:

Tools: Functions the server can execute

{
"name": "search_web",
"description": "Search the web for information",
"input_schema": {
"type": "object",
"properties": {
"query": {"type": "string"}
},
"required": ["query"]
}
}

Resources: Data the server can provide

{
"uri": "file:///documents/{path}",
"name": "Document Access",
"description": "Access to document files",
"mime_type": "application/json"
}

Prompts: Pre-defined interaction templates

{
"name": "analyze_code",
"description": "Analyze code for issues",
"arguments": [
{"name": "code", "description": "Code to analyze", "required": true}
]
}

Registry Operations

Discovery

AI agents can discover available MCP servers:

# List all active servers
GET /mcp-servers

# Search by capability
GET /mcp-servers?capability=search_web

# Get specific server
GET /mcp-servers/{id}

Registration

Scanners register discovered servers:

POST /mcp-servers
{
"name": "web-search",
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-web-search"],
"capabilities": {...}
}

Health Monitoring

The registry tracks server health:

  • active: Server is responding normally
  • unhealthy: Server failed health check
  • unknown: Server hasn't been verified recently

Integration with Authorization

The MCP Registry integrates with WL-APDP for authorization:

Agent wants to use Tool::"search_web"


┌──────────────────────────┐
│ MCP Registry │
│ → Find server with tool │
│ → Return server info │
└──────────────────────────┘


┌──────────────────────────┐
│ WL-APDP │
│ → Check authorization │
│ → Apply intent/goal │
└──────────────────────────┘


Allow/Deny + Server Connection Info

Data Flow

  1. Scanner discovers MCP server (file system, network, config)
  2. Scanner registers server with Registry
  3. Agent queries Registry for available tools
  4. Agent requests authorization from WL-APDP
  5. Agent connects to MCP server if authorized
  6. Scanner updates server status periodically

Next Steps