Skip to main content
Glama
DriftOS

DriftOS MCP Server

Official
by DriftOS

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DRIFTOS_API_URLNoThe URL of the DriftOS backend APIhttp://localhost:3000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
driftos_route_messageA

Route a message to the appropriate conversation branch using semantic drift detection.

Returns one of three actions:

  • BRANCH: New topic detected, creates a new branch

  • STAY: Message continues the current topic

  • ROUTE: Returns to a previously discussed topic

Args:

  • conversation_id (string): Unique identifier for the conversation

  • content (string): The message content to route

  • role ('user' | 'assistant'): Who sent the message (default: 'user')

Returns: { "action": "BRANCH" | "STAY" | "ROUTE", "branchId": string, "branchTopic": string, "confidence": number, "isNewBranch": boolean }

Example:

  • "I want to buy a house in London" -> BRANCH (new topic)

  • "What areas have good schools?" -> STAY (same topic)

  • "Back to houses - what about mortgage rates?" -> ROUTE (returns to previous branch)

driftos_get_contextA

Get assembled context for a conversation branch, including messages and facts from related branches.

This is what you pass to an LLM instead of the entire conversation history. Returns only the relevant messages from the current branch plus accumulated facts.

Args:

  • branch_id (string): The branch ID to get context for (returned from route_message)

Returns: { "branchId": string, "branchTopic": string, "messages": [ { "role": "user" | "assistant", "content": string } ], "allFacts": [ { "branchTopic": string, "isCurrent": boolean, "facts": [{ "key": string, "value": string, "confidence": number }] } ] }

Use this to build focused LLM context windows instead of dumping entire conversation history.

driftos_build_promptA

Build a ready-to-use prompt for LLM calls with context and facts.

Args:

  • branch_id (string): The branch ID to build prompt for

  • system_prompt (string, optional): Custom system prompt prefix

Returns: { "system": string, // Full system prompt with topic and facts "messages": [{ "role": string, "content": string }] // Conversation messages }

Use this to get a complete prompt ready for OpenAI/Anthropic/etc API calls.

driftos_list_branchesA

List all branches in a conversation with their topics and message counts.

Use this to understand the structure of a conversation and see what topics have been discussed.

Args:

  • conversation_id (string): Unique identifier for the conversation

Returns: [ { "id": string, "topic": string, "messageCount": number, "isActive": boolean } ]

driftos_get_factsB

Get extracted facts from a specific branch.

Args:

  • branch_id (string): The branch ID to get facts for

Returns: [{ "key": string, "value": string, "confidence": number }]

driftos_extract_factsA

Trigger fact extraction for a branch. Use when you want to explicitly extract facts from the current conversation state.

Args:

  • branch_id (string): The branch ID to extract facts from

Returns: { "facts": [{ "key": string, "value": string }] }

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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