MCP ExplorerExplorer

Mcp Os

@giao-123-sunon 10 months ago
3 Apache-2.0
FreeCommunity
AI Systems
MCP‑OS fetches just the MCPs your task needs, cutting prompt bloat and toggling servers on‑demand for a lean, secure toolset.

Overview

What is Mcp Os

MCP-OS is a Model Context Protocol Orchestration System designed to optimize the management of MCPs by fetching only the necessary ones for a task, thereby reducing prompt bloat and enabling on-demand server toggling for a more efficient and secure toolset.

Use cases

Use cases for MCP-OS include optimizing large language model interactions by minimizing prompt bloat, managing MCP connections for improved resource hygiene, and providing a secure environment by controlling MCP server availability.

How to use

To use MCP-OS, clone the repository from GitHub, install the necessary dependencies, and build the vector index to scan local or remote MCP metadata. This allows for efficient retrieval of MCPs based on task descriptions.

Key features

Key features of MCP-OS include vector retrieval for efficient MCP selection, a slim prompt template that reduces token usage by approximately 70%, and pluggable back-ends that allow for flexibility in embedding options.

Where to use

MCP-OS can be utilized in various fields such as artificial intelligence, natural language processing, and any domain that requires efficient management of multiple MCPs to enhance task execution.

Content

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:


❓ FAQ

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

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


🤝 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! ❤️

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers