MCP-OS logo

MCP-OS

by giao-123-sun

MCP-OS is a Model Context Protocol Orchestration System that manages MCPs like an operating system manages processes, loading them on demand and unloading them when idle. It aims to help large language models focus on solving tasks by efficiently managing and retrieving relevant MCPs.

View on GitHub

Last updated: N/A

MCP-OS Β· Model Context Protocol Orchestration System

Let your large language model focus on solving tasksβ€”not wading through a sea of MCPs.

πŸ‘‰ ζŸ₯ηœ‹δΈ­ζ–‡η‰ˆβ€―README


✨ Project Vision

As the Model Context Protocol (MCP) ecosystem explodes, hundreds of MCP servers create three familiar headaches:

| Pain Point | Description | | ---------- | ----------- | | Prompt Bloat | Lengthy MCP descriptions crowd the context window; the model spends more tokens picking tools than planning / analysis. | | Connection Hygiene | We must constantly track which MCPs are alive and whether they satisfy the current task. | | Resource & Security | Always-on MCP servers consume memory and expose interfaces, increasing attack surface. |

MCP-OS aims to:

β€œManage MCPs the way an operating system manages processesβ€”load on demand, unload when idle.”


🌟 Current Phase: MCP-Retriever (Completed βœ…)

  1. Vector Retrieval β€” Embed task descriptions and retrieve Top-k MCPs from a vector index.
  2. Slim Prompt Template β€” Inject only the Top-k MCP descriptions, saving ~70 % prompt tokens on average.
  3. Pluggable Back-ends β€” Default openai/embeddings; swap in FAISS, Qdrant, Milvus, etc.

πŸ“– Details in /packages/retriever.


πŸ›£οΈ Roadmap

| Milestone | Feature | Status | | --------- | ------- | ------ | | v0.1 | MCP-Retriever – vector search | βœ… Released | | v0.2 | MCP-Retriever - light version | ⏳ In progress | | v0.3 | Health-Check Daemon – auto heartbeat & pruning | ⏳ In progress | | v0.4 | Runtime Manager – on-demand MCP start/stop | πŸ—“ Planned | | v1.0 | Policy Sandbox – fine-grained auth, rate, cost | πŸ—“ Planned |


βš™οΈ Quick Start

1. Clone & Install

git clone https://github.com/your-org/mcp-os.git
cd mcp-os
npm install      # or npm / yarn

2. Build the Vector Index

# Scan local / remote MCP metadata and create an index
npm run build:index --src ./mcp_list.json --out ./index

3. Start the Retriever Server

npm run start:retriever
# Default listens on 127.0.0.1:5500 (HTTP + SSE)

4. Wire It into Your LLM / Agent

// Example: Claude Desktop
{
  "mcpServers": {
    "mcp-os": {
      "command": "/absolute/path/to/mcp-os/bin/retriever.js"
    }
  }
}

Or call the REST endpoint:

curl -X POST http://localhost:5500/match \
  -H "Content-Type: application/json" \
  -d '{"task": "Scrape a web page and extract its title"}'

Sample response:

{
  "matches": [
    {
      "id": "web-scraper",
      "score": 0.89,
      "functions": ["fetchHtml", "querySelector"]
    }
  ]
}

πŸ“‚ Repository Layout

mcp-os/
β”œβ”€ packages/
β”‚  β”œβ”€ retriever/        # Phase 1: vector retrieval
β”‚  β”œβ”€ health-check/     # Phase 2: heartbeat daemon (WIP)
β”‚  └─ runtime-manager/  # Phase 3: load/unload (planned)
β”œβ”€ scripts/             # CLI helpers
β”œβ”€ examples/            # Usage demos
└─ docs/                # Architecture & deep dives

🧩 MCP List Format

mcp_list.json describes MCP metadata:

{
  "web-scraper": {
    "name": "Web Scraper MCP",
    "description": "Fetches HTML and parses DOM.",
    "functions": ["fetchHtml", "querySelector"]
  },
  "calc": { ... }
}

❓ FAQ

<details> <summary>Retrieval quality is poorβ€”how do I tune it?</summary>
  • Increase topK for higher recall.
  • Switch to a stronger embedding model.
  • Refine task-text normalization rules.
</details> <details> <summary>How do I plug in my own vector store?</summary>

Implement the VectorStore interface: src/store/yourStore.ts.

</details>

🀝 Contributing

  1. Fork the repo
  2. Create a branch feature/awesome-stuff
  3. Open a PR and link related issues
  4. Wait for CI + review πŸŽ‰

πŸ“œ License

Apache License v2


πŸ™ Acknowledgements

  • The Model Context Protocol community for the open specification
  • MCP Inspector for debugging
  • Everyone who files issues or PRsβ€”thank you! ❀️