Token导航 LogoToken导航

MCP Server · AI代理

Durabletask Dotnet MCP

一个使用Durable Task SDK与Durable Task Scheduler后端实现MCP任务规范的原型工具,用于构建可靠、可观察的长期运行工具。

stdio官方级别未说明来源级核验工具 0
C#DockerAI代理

快速开始

作者 / 组织
cgillum
提供方
cgillum
运行时
Docker

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Durabletask Dotnet MCP 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latest

客户端配置示例

{
  "mcpServers": {
    "durabletask-dotnet-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-d",
        "-p",
        "8080:8080",
        "-p",
        "8082:8082",
        "mcr.microsoft.com/dts/dts-emulator:latest"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

持久任务MCP集成

一个原型实现 MCP任务规范 使用

概述

MCP服务器开发人员构建由持久任务支持的可靠、可观察、长时间运行的工具 调度程序。MCP工具映射到持久任务编排或活动,以及框架 自动处理所有协议细节。

为什么是持久任务?

  • 可靠性 --任务状态在DTS中持久保存。编排自动恢复

服务器重新启动后,不会丢失进度。

将任务执行历史、时间线、输入/输出和故障详细信息。

  • 可扩展性 --DTS是一种独立于MCP服务器扩展的托管服务。
  • 丰富的执行模型 --简单的单活动工具和复杂的多步骤编排

在人类参与的情况下,所有这些都使用相同的编程模型。

运作原理

MCP Client ──► MCP Server (.NET)
                    │
               IMcpTaskStore
                    │
              DurableTaskMcpTaskStore ◄── maps MCP lifecycle to orchestrations
                    │
               DurableTaskClient
                    │
              ┌─────┴──────┐
              │    DTS     │  (Emulator or Azure)
              └────────────┘

每个MCP工具都通过以下方式注册 WithDurableTaskTool() 获取内部 包装编排器 处理MCP协议问题(TTL、状态报告、启发)。用户的编排器 或者活动在这个包装器内运行,因此开发人员编写没有MCP的简单持久任务代码 样板。

概念图

MCP任务概念持久任务概念
任务ID业务流程实例ID
任务生命周期编排生命周期
workingPending 或 Running
input_requiredRunning +自定义状态
completedCompleted
failedFailed
cancelledTerminated
任务状态消息自定义状态
激励WaitForExternalEvent +自定义状态
TTL持久定时器逻辑
列出任务列出编排
取消任务终止业务流程

编程模型

将编排和活动注册为MCP工具,每个工具只需一行代码:

// Program.cs
builder.Services.AddDurableTaskClient(b => b.UseDurableTaskScheduler(connectionString));

builder.Services.AddDurableTaskWorker(b =>
{
    b.UseDurableTaskScheduler(connectionString);
    b.AddTasks(tasks =>
    {
        tasks.AddOrchestrator
();
        tasks.AddActivity();
        tasks.AddActivity
();
    });
});

builder.Services.AddMcpServer(options => { /* ... */ })
    .AddDurableTaskMcpTaskStore()
    .WithDurableTaskTool
()  // registers as MCP tool
    .WithTools()                         // regular tools work too
    .WithHttpTransport();

编排器使用标准的持久任务API和MCP扩展方法来处理状态和 启发:

[McpDurableTaskTool(Name = "purchase_order")]
[Description("Submit a purchase order. Orders over $1,000 require approval.")]
public class PurchaseOrderOrchestrator : TaskOrchestrator

{
    public override async Task RunAsync(
        TaskOrchestrationContext context, PurchaseOrderInput input)
    {
        context.SetMcpStatus("Validating order...");
        await context.CallActivityAsync(nameof(ValidateOrderActivity), input);

        if (input.Amount > 1000)
        {
            // Pauses the task and sets status to "input_required"
            var decision = await context.WaitForMcpInputAsync(
                $"Approve order for ${input.Amount}?");
            if (!decision.Approved)
                return "Order rejected.";
        }

        context.SetMcpStatus("Processing items...");
        await context.CallActivityAsync(nameof(ProcessItemsActivity), input.ItemCount);
        return "Order completed.";
    }
}

样品

两个样本都暴露了相同的两个工具(process_data 和 purchase_order)并演示 完整的MCP任务生命周期,包括人工在环审批。每个示例README包括 使用测试的分步说明 MCP检查员.

样品运输描述
StreamableHttpServer流式HTTPASP。NET Core MCP服务器 http://localhost:5000
标准服务器stdioMCP客户端作为子进程启动的控制台应用程序

先决条件

快速开始

# 1. Start the DTS emulator
docker run -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latest

# 2. Run a sample
dotnet run --project samples/StreamableHttpServer

然后按照示例的README获取测试说明。

配置

从以下位置读取DTS连接字符串 DurableTask:ConnectionString 在配置中 (appsettings.json 或环境变量 DurableTask__ConnectionString).

环境连接字符串
本地仿真器Endpoint=http://localhost:8080;TaskHub=default;Authentication=None
Azure DTSEndpoint=https://.westus2.durabletask.io;TaskHub=default;Authentication=DefaultAzure

项目结构

├── src/Microsoft.DurableTask.Mcp/     # Core library (NuGet package)
│   ├── DurableTaskMcpTaskStore.cs     # IMcpTaskStore implementation
│   ├── DurableTaskMcpServerTool.cs    # Custom McpServerTool
│   ├── McpToolWrapperOrchestrator.cs  # Internal wrapper orchestrator
│   ├── McpDurableTaskToolAttribute.cs # [McpDurableTaskTool] attribute
│   ├── McpOrchestrationExtensions.cs  # SetMcpStatus / WaitForMcpInputAsync
│   ├── ServiceCollectionExtensions.cs # DI registration
│   └── StatusMapping.cs              # Orchestration → MCP status mapping
├── samples/
│   ├── StreamableHttpServer/          # Streamable HTTP sample
│   └── StdioServer/                   # stdio sample
├── tests/
│   └── Microsoft.DurableTask.Mcp.Tests/
└── docs/
    ├── PRD.md                         # Product Requirements Document
    ├── design.md                      # Technical Design (V1)
    ├── DesignV2.md                    # Simplified Programming Model (V2)
    └── spec-feedback.md               # MCP Task Spec feedback

文档

文档描述
产品需求文档产品要求、场景和成功标准
设计V1原始技术设计 IMcpTaskStore 整合
设计V2简化 WithDurableTaskTool() 程序设计模型
规格反馈对MCP任务规范的观察和反馈

许可证

麻省理工学院

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

任务调度C#本地部署持久化任务MCP协议开发框架

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Durabletask Dotnet MCP

MCP World · 本页

0stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Durabletask Dotnet MCP 怎么安装?

公开资料给出的安装命令是 docker run -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latest,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Durabletask Dotnet MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

Durabletask Dotnet MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Durabletask Dotnet MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Durabletask Dotnet MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP