MCP Dust Server

MCP Dust Server

镜子 (jìng zi)

MCP-Mirror

开发者工具
访问服务器

README

MCP Dust Server

本仓库包含一个模型上下文协议 (MCP) 服务器的实现,该服务器旨在与 Dust 代理进行交互。 该服务器分为两个主要组件:MCP 服务器(处理 Dust API 交互)和 MCP 测试客户端(提供用于测试的 Web 界面)。

目录

特性

  • 分离的 MCP 服务器和测试客户端组件
  • 通过 Dust API 与 Dust AI 代理交互
  • 使用服务器发送事件 (SSE) 和 HTTP 流传输的实时流式响应
  • 完整的 JSON-RPC 2.0 支持,包括 'initialize'、'message'、'terminate' 和 'run' 方法
  • 通过 'run' 方法直接执行工具,简化客户端集成
  • 强大的会话管理和上下文保存
  • 使用日志中的 PII 掩码保护 API 密钥处理
  • 用于维护持久连接的心跳机制
  • 掉线自动重连
  • 全面的错误处理和报告
  • 支持最新的 MCP 规范 (2025-03-26)
  • 用于监控和健康检查的状态端点

架构

MCP Dust Server 使用以下组件构建:

MCP Server Architecture Diagram

图 1: MCP 服务器架构,显示服务器和客户端组件

  1. MCP 服务器 (server.ts):

    • 处理与 Dust API 的 MCP 协议交互
    • 管理会话状态和上下文
    • 实现完整的 MCP 生命周期(initialize、message、terminate)
    • 支持 SSE 和 HTTP 流传输
    • 提供用于监控的状态端点
  2. MCP 测试客户端 (client.ts):

    • 提供用于测试的 Web 界面
    • 允许与 MCP 服务器交互
    • 支持实时流式传输和调试
    • 包括会话管理和连接跟踪

Dust.tt Agentic AI

Dust.tt 是一个旨在帮助组织构建和部署根据其特定需求定制的自定义 AI 代理的平台。 它集成了先进的 AI 模型,例如 GPT-4、Claude、Gemini 和 Mistral,以及企业级安全功能,以简化工作流程、自动化任务并提高各种业务职能的生产力。

Dust.tt Platform Interface

图 2: Dust.tt 平台界面的屏幕截图,显示代理功能

自定义 AI 代理: 个性化代理:创建具有自定义指令和工具的代理,根据团队或个人需求量身定制。

公司上下文: 将代理与内部工具(如 Notion、Slack、GitHub)或外部 API 集成,以无缝访问公司数据。

多代理工作流程: 在单个工作流程中组合和链接多个代理,每个代理都具有独特的功能。

与数据源集成: 数据连接:将代理连接到来自 SharePoint、Zendesk、Jira、Salesforce、Snowflake 等的数据。

动态查询: 使用代理通过自然语言或 SQL 查询分析电子表格、数据库和仓库。

实时更新: 持续同步公司知识以获得最新的响应。

开源: 在 GitHub 上以 MIT 许可证提供。 拥有庞大的用户和开发者社区。

托管: SaaS 或您自己的服务器上的自有托管选项

安装

先决条件

  • Node.js (推荐:通过 nvm 安装的最新 LTS 版本)
  • npm (随 Node.js 一起提供)
  • TypeScript

步骤

  1. 克隆仓库:

    git clone https://github.com/ma3u/mcp-dust-server.git
    cd mcp-dust-server
    
  2. 安装依赖:

    npm install
    
  3. 配置环境变量: 在根目录中创建一个基于 .env.example.env 文件:

    # 启动模式 (server, client, or both)
    START_MODE=both
    
    # MCP 服务器配置
    MCP_NAME=Dust MCP Server JS
    MCP_HOST=127.0.0.1
    MCP_PORT=5001
    MCP_TIMEOUT=30 # seconds
    
    # MCP 测试客户端配置
    CLIENT_HOST=127.0.0.1
    CLIENT_PORT=6001
    
    # Dust API 配置
    DUST_API_KEY=your_dust_api_key_here
    DUST_WORKSPACE_ID=your_workspace_id_here
    DUST_AGENT_ID=your_agent_id_here
    DUST_DOMAIN=https://dust.tt
    
    # 用户上下文信息 (用于 Dust API 请求)
    DUST_USERNAME=your_username
    DUST_EMAIL=your_email@example.com
    DUST_FULLNAME=Your Full Name
    DUST_TIMEZONE=Europe/Berlin
    

启动服务器和客户端

您可以单独或一起运行 MCP 服务器和测试客户端。 该项目为不同的场景提供了几个 npm 脚本:

开发模式

  1. 同时启动服务器和客户端:

    npm run dev
    
  2. 仅启动 MCP 服务器:

    npm run dev:server
    
  3. 仅启动测试客户端:

    npm run dev:client
    

生产模式

  1. 同时启动服务器和客户端:

    npm run start
    
  2. 仅启动 MCP 服务器:

    npm run start:server
    
  3. 仅启动测试客户端:

    npm run start:client
    

预期输出

如果一切配置正确,您应该看到类似于以下的输出:

对于 MCP 服务器:

MCP Server running on http://127.0.0.1:5001 (timeout: 30s)
Server name: Dust MCP Bridge
Dust workspace: your_workspace_id
Dust agent: your_agent_id

对于测试客户端:

MCP Test Client running on http://127.0.0.1:6001

API 端点

服务器提供多个端点用于健康检查和 MCP 协议通信。 有关详细的 API 文档,请参阅 开发者文档

主要端点包括:

  • 健康检查: /health, /ready, /live
  • MCP 协议: /sse (服务器发送事件), /stream (HTTP 流传输)

调试

有关调试工具和技术的详细信息,包括 MCP Inspector,请参阅 开发者文档

集成

Windsurf IDE 配置

要将 Dust MCP Server 与 Windsurf IDE 集成,请更新配置文件 ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "dust-mcp": {
      "command": "npm",
      "args": [
        "run",
        "start:server"
      ],
      "env": {
        "DUST_API_KEY": "${YOUR_API_KEY}",
        "DUST_WORKSPACE_ID": "${YOUR_WORKSPACE_ID}",
        "DUST_AGENT_ID": "${YOUR_AGENT_ID}"
      },
      "host": "127.0.0.1",
      "port": 5001,
      "timeout": 30000
    }
  }
}

Claude Desktop 集成

要将 Dust MCP Server 与 Claude Desktop 集成,请更新其配置文件:

{
  "mcpServers": {
    "dust-agent": {
      "command": "npm",
      "args": [
        "run",
        "start:server"
      ],
      "cwd": "path/to/mcp-dust-server",
      "host": "127.0.0.1",
      "port": 5001,
      "timeout": 30000,
      "env": {
        "DUST_API_KEY": "${YOUR_API_KEY}",
        "DUST_WORKSPACE_ID": "${YOUR_WORKSPACE_ID}",
        "DUST_AGENT_ID": "${YOUR_AGENT_ID}"
      }
    }
  }
}

测试

该项目包括基于 Web 和命令行的测试工具。 有关详细的测试信息,请参阅 开发者文档

当您运行客户端组件时,可以通过 http://localhost:6001 访问基于 Web 的测试客户端,允许您与 Dust 代理交互并测试 MCP 服务器功能。

API 概述

服务器提供多个端点用于健康检查和 MCP 协议通信。 有关详细的 API 文档,请参阅 开发者文档

开发者文档

有关详细的技术信息,包括项目结构、API 文档、调试工具和安全注意事项,请参阅 开发者文档


许可证

本项目根据 MIT License 获得许可。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript