Skip to main content
Glama
DriftOS

DriftOS MCP Server

Official
by DriftOS
README.md
# 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

A4/5.0

Scored across 6 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues