MCP Leave Management

MCP Leave Management

Simulates a leave management workflow for employees and managers, including leave application, balance checks, and approval processes.

Category
Visit Server

README

MCP Reverse-Proxy Orchestration POC

Architecture Overview

This demo models a reverse-proxy MCP orchestration pattern.

  • CoCounsel is the intended principal MCP client in the target enterprise model.
  • For this demo, Claude Desktop plays that role and connects directly to two domain MCP servers.
  • Each domain MCP server proxies only its own leaf MCP servers.
  • Each domain MCP server can also coordinate cross-leaf MCP work and return one business-level response.
  • Each domain MCP acts as an MCP server to the client and an MCP client to downstream integrations.
  • Leaf integrations can be MCP servers, HTTP services, agents, or mixed adapters.
flowchart LR
  C[Claude Desktop<br/>Demo stand-in for CoCounsel]

  C --> HR[HR Domain MCP]
  C --> CA[Cloud Audit Domain MCP]

  HR --> LM[Leave Management MCP*]
  HR --> PY[Payroll MCP*]

  CA --> EM[Engagement Manager MCP*]
  CA --> GA[Guided Assurance MCP*]

  LM --> S1[Leave / HR data]
  PY --> S2[Payroll data]
  EM --> S3[Engagement data]
  GA --> S4[Assurance data]

* In a real implementation, these downstream integrations could be MCP servers, HTTP services, agents, or a mixed set of MCP, HTTP, and SDK calls.

Job of domain MCP (server-facing northbound and client-facing southbound)


  1. Acting Server to Principal CoCounsel Client
registerTool("list_all_engagements", async (args) => {
  return leafClients.engagementManager.callTool("list_all_engagements", args);
});
  1. Acting Client to the downstream leaf transport
private readonly client = new Client({
  name: "cloud-audit-suite-orchestrator-mcp",
  version: "1.0.0",
}, {
  capabilities: {},
});

this.client.connect(transport)

Why this architecture:

  • smaller leaf MCPs are easier to own, change, and validate
  • domain MCPs give one clean entry point per business domain
  • the client does not need to understand every leaf server directly
  • the domain layer can combine relevant leaf responses into one domain-level answer
  • transport boundaries stay explicit, which is closer to real enterprise integration

Pros of the reverse-proxy MCP orchestration model:

  • better separation of concerns between client, domain, and system-level tools
  • easier policy and access control at the domain boundary
  • easier onboarding because users connect to a small number of domain servers
  • easier leaf replacement or expansion without changing the client model
  • more realistic handling of partial data overlap across systems

Developers Note

Current packages:

  • apps/hr-domain-orchestrator-mcp for the HR domain connector
  • apps/cloud-audit-suite-orchestrator-mcp for the Cloud Audit domain connector
  • leaf-servers/leave-management-mcp and leaf-servers/payroll-mcp under HR
  • leaf-servers/engagement-manager-mcp and leaf-servers/guided-assurance-mcp under Cloud Audit

Root scripts:

  • npm run build builds both domain stacks
  • npm run check typechecks both domain stacks

Claude Desktop demo wiring:

{
  "mcpServers": {
    "hr-domain-orchestrator-mcp": {
      "command": "node",
      "args": [
        "C:/path/to/mcp-orch-reverse-proxy-poc/apps/hr-domain-orchestrator-mcp/dist/index.js"
      ]
    },
    "cloud-audit-suite-orchestrator-mcp": {
      "command": "node",
      "args": [
        "C:/path/to/mcp-orch-reverse-proxy-poc/apps/cloud-audit-suite-orchestrator-mcp/dist/index.js"
      ]
    }
  }
}

Developer workflow:

  1. Run npm install at the repo root.
  2. Run npm run build at the repo root.
  3. Point Claude Desktop to the two domain MCP servers.
  4. Rebuild after code changes before reconnecting the client.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured