# 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