The Model Context Protocol Operating System (MCP-OS) is a concept for a post‑application computing platform. Instead of bundling discrete programs with fixed user interfaces, MCP-OS delegates most logic and UI generation to a large language model. A lightweight shell running on the device gathers user actions and context, sends them to the model, and renders the model's declarative response.
MCP-OS consists of three key pieces:
- MCP-Kernel – the large language model that interprets requests and produces responses.
- MCP-Shell – a minimal renderer that captures user input, formats protocol requests, and displays the returned UI tree.
- Model Context Protocol – a structured message format defining how the shell and kernel communicate.
The shell packages each user action and the current view state into an MCP request. The kernel reasons about this context and replies with a new UI description. The shell simply renders that description, forming a continuous feedback loop.
A minimal request example:
{
"protocol_version": "1.0",
"session_id": "sid_example_1234",
"user_context": { "name": "Alex" },
"current_ui_state": {
"view_id": "view_home",
"component_tree_hash": "abcd1234"
},
"event": {
"type": "click",
"target": { "component_id": "desktop_icon_documents" }
}
}A response from the kernel might look like:
{
"protocol_version": "1.0",
"session_id": "sid_example_1234",
"directive": "REPLACE_VIEW",
"new_ui_state": {
"view_id": "view_documents",
"component_tree": {
"component": "Window",
"children": [ { "component": "ListView" } ]
}
}
}- The user interacts with the shell, for instance by clicking an icon.
- The shell emits an MCP request describing that event and the current view.
- The kernel analyzes the request and produces an MCP response describing the next view.
- The shell renders the new view and awaits further input.
Achieving practical performance and consistency with a model‑driven OS presents challenges around latency, state management, cost, and security. The protocol is intentionally simple to enable experimentation with these issues while keeping the renderer lightweight.
A small command-line prototype demonstrates the MCP loop.
It consists of three modules under the mcp/ package:
protocol.py– definitions for request and response structureskernel.py– a trivial kernel that generates example viewsshell.py– an interactive renderer that prints UI trees and sends events
python -m mcp.shell