DriftOS MCP Server
Official# DriftOS MCP Server
MCP server for semantic conversation routing with DriftOS.
## What is this?
An MCP (Model Context Protocol) server that lets any MCP-compatible client (Claude Desktop, Cursor, etc.) use DriftOS for intelligent conversation routing.
Instead of dumping entire conversation histories into LLM context, DriftOS:
- **Branches** when new topics appear
- **Stays** when the topic continues
- **Routes** back when you return to a previous topic
## DriftOS Backend
This MCP server requires a running [DriftOS Core](https://github.com/DriftOS/driftos-core) backend.
DriftOS Core is the semantic conversation routing engine that:
- Analyzes messages to detect topic shifts and returns
- Maintains a graph of conversation branches
- Extracts and tracks facts across topics
- Assembles relevant context for LLM calls
See the [driftos-core repository](https://github.com/DriftOS/driftos-core) for setup instructions.
## Tools
| Tool | Description |
|------|-------------|
| `driftos_route_message` | Route a message to the appropriate branch |
| `driftos_get_context` | Get assembled context for LLM calls |
| `driftos_list_branches` | List all branches in a conversation |
| `driftos_get_branch` | Get details about a specific branch |
## Setup
### Prerequisites
- Node.js 18+
- A running DriftOS backend (default: `http://localhost:3000`)
### Installation
```bash
npm install
npm run build
```
### Configuration
Set the DriftOS API URL:
```bash
export DRIFTOS_API_URL=http://localhost:3000
```
### Running
**stdio mode** (for Claude Desktop, etc.):
```bash
npm start
```
**HTTP mode** (for remote access):
```bash
TRANSPORT=http npm start
```
## Claude Desktop Configuration
Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"driftos": {
"command": "node",
"args": ["/path/to/driftos-mcp-server/dist/index.js"],
"env": {
"DRIFTOS_API_URL": "http://localhost:3000"
}
}
}
}
```
## License
MIT
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose with no overlap: route_message handles message routing, list_branches lists branches, get_context assembles context, build_prompt constructs prompts, get_facts retrieves facts, and extract_facts triggers fact extraction. The descriptions clearly differentiate their functions, making tool selection unambiguous.
All tools follow a consistent verb_noun naming pattern with the 'driftos_' prefix (e.g., driftos_route_message, driftos_list_branches). The structure is uniform throughout, using snake_case consistently without any deviations or mixed conventions.
With 6 tools, this server is well-scoped for managing conversation branches, context, and facts in a drift detection system. Each tool serves a specific, necessary function (routing, listing, context assembly, prompt building, fact retrieval, and fact extraction), and none feel redundant or missing for the domain.
The tool set provides complete coverage for the conversation drift management domain: routing messages, listing branches, getting context, building prompts, and handling facts (both retrieval and extraction). There are no obvious gaps; agents can perform all core operations from routing to LLM integration without dead ends.