Dust MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/ma3u/dust-mcp-server-postman-railway.git
cd dust-mcp-server-postman-railway
npm install
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "WORKSPACE_DEFAULT_API_KEY=${WORKSPACE_DEFAULT_API_KEY}" dust-mcp-server -- node "<FULL_PATH_TO_DUST_MCP_SERVER_POSTMAN_RAILWAY>/dist/index.js"

Replace <FULL_PATH_TO_DUST_MCP_SERVER_POSTMAN_RAILWAY>/dist/index.js with the actual folder you prepared in step 1.

Required:WORKSPACE_DEFAULT_API_KEY+ 4 optional
README.md

A TypeScript-based MCP server with advanced agent conversation features.

Dust MCP Server

๐Ÿš€ A TypeScript-based MCP (Model Context Protocol) Server with advanced agent conversation features.

GitHub Repository: dust-mcp-server-postman-railway

User Manual

Features

  • โœ… TypeScript-powered MCP server
  • ๐Ÿ—๏ธ Modern ES2022+ JavaScript features
  • ๐Ÿ” Built-in API documentation
  • ๐Ÿงช Comprehensive test suite with Jest
  • ๐Ÿ› ๏ธ Developer-friendly tooling
  • ๐Ÿ”„ Hot-reloading development server
  • ๐Ÿ“ฆ Module aliases for clean imports
  • ๐Ÿ”’ Environment-based configuration
  • ๐Ÿงฉ Extensible architecture

๐Ÿš€ Getting Started

โš™๏ธ Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v18+ required, v20+ recommended)
  • npm (included with Node.js)
  • TypeScript (included as a dev dependency)
  • Git (for version control)

๐Ÿ› ๏ธ Installation

  1. Clone the repository

    git clone https://github.com/ma3u/dust-mcp-server-postman-railway.git
    cd dust-mcp-server-postman-railway
    
  2. Install dependencies

    npm install
    
  3. Set up environment variables

    Create a .env file in the root directory with the following variables:

    PORT=3000
    NODE_ENV=development
    DEFAULT_WORKSPACE_ID=default
    WORKSPACE_DEFAULT_API_KEY=your_api_key_here
    WORKSPACE_DEFAULT_NAME=Default Workspace
    

๐Ÿ—๏ธ Development

  1. Start the development server

    npm run dev
    

    This will start the server with hot-reloading enabled.

  2. Build for production

    npm run build
    npm start
    
  3. Run tests

    npm test        # Run all tests
    npm run test:watch  # Run tests in watch mode
    npm run test:coverage  # Generate test coverage report
    
  4. Linting and Formatting

    npm run lint     # Check for linting errors
    npm run lint:fix # Automatically fix linting issues
    npm run format   # Format code using Prettier
    

Developer Manual

Architecture

[Architecture overview]

Agent Conversation Flow

The following diagram illustrates the conversation flow between MCP Client, MCP Server, and Dust with session management:

sequenceDiagram
    participant User
    participant MCPClient as MCP Client
    participant MCPServer as MCP Server
    participant SessionMgr as Session Manager
    participant ConvMgr as Conversation Manager
    participant Dust as Dust Service

    %% Session Initialization
    User->>MCPClient: Start New Session
    MCPClient->>MCPServer: POST /api/sessions
    MCPServer->>SessionMgr: createSession()
    SessionMgr-->>MCPServer: {sessionId, status: 'active'}
    MCPServer->>ConvMgr: new Conversation(sessionId)
    ConvMgr-->>MCPServer: {conversationId, state: 'initializing'}
    MCPServer-->>MCPClient: {sessionId, conversationId, status: 'active'}
    MCPClient-->>User: Session Ready

    %% Message Flow
    loop While Session Active
        User->>MCPClient: Send Message
        MCPClient->>MCPServer: POST /api/conversations/{conversationId}/messages
        MCPServer->>ConvMgr: processMessage(message)
        alt Has Files
            ConvMgr->>FileUploadHandler: handleUpload(files)
            FileUploadHandler-->>ConvMgr: {fileIds, paths}
        end
        ConvMgr->>Dust: forwardMessage(conversationId, message, files)
        Dust-->>ConvMgr: {response, metadata}
        ConvMgr->>ConversationHistory: addMessage(message, response)
        MCPServer-->>MCPClient: {response, state, metadata}
        MCPClient-->>User: Display Response
        
        %% Timeout Handling
        alt Idle Timeout Reached
            ConvMgr->>ConvMgr: handleIdleTimeout()
            ConvMgr->>SessionMgr: updateSession(sessionId, {state: 'idle'})
            SessionMgr-->>ConvMgr: {status: 'updated'}
            ConvMgr-->>MCPServer: {event: 'stateChange', state: 'idle'}
            MCPServer-->>MCPClient: {event: 'sessionIdle'}
        end
    end

    %% Session Termination
    User->>MCPClient: End Session
    MCPClient->>MCPServer: DELETE /api/sessions/{sessionId}
    MCPServer->>SessionMgr: deleteSession(sessionId)
    SessionMgr->>ConvMgr: destroy()
    ConvMgr->>ConversationHistory: clear()
    ConvMgr-->>SessionMgr: {status: 'destroyed'}
    SessionMgr-->>MCPServer: {status: 'deleted'}
    MCPServer-->>MCPClient: {status: 'session_ended'}
    MC

Environment Variables

PORTPort for the server to run on
NODE_ENVEnvironment mode (e.g., development)
DEFAULT_WORKSPACE_IDThe ID of the default Dust workspace
WORKSPACE_DEFAULT_API_KEYrequiredAPI key for the Dust workspace
WORKSPACE_DEFAULT_NAMEName of the default workspace

Configuration

claude_desktop_config.json
{"mcpServers": {"dust": {"command": "node", "args": ["/path/to/dust-mcp-server/dist/index.js"], "env": {"WORKSPACE_DEFAULT_API_KEY": "your_api_key_here"}}}}

Try it

โ†’Start a new conversation session with my default Dust workspace.
โ†’Send a message to the current active conversation session.
โ†’Check the status of my current Dust session.
โ†’End the current conversation session.

Frequently Asked Questions

What are the key features of Dust MCP Server?

TypeScript-powered MCP server implementation. Advanced agent conversation and session management. Hot-reloading development server. Comprehensive test suite with Jest. Environment-based configuration.

What can I use Dust MCP Server for?

Integrating Dust AI assistants directly into Claude Desktop. Managing multi-turn agent conversations via MCP. Automating workspace interactions through a standardized protocol. Developing and testing custom agent conversation flows.

How do I install Dust MCP Server?

Install Dust MCP Server by running: git clone https://github.com/ma3u/dust-mcp-server-postman-railway.git && cd dust-mcp-server-postman-railway && npm install

What MCP clients work with Dust MCP Server?

Dust MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Dust MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare