Token导航 LogoToken导航TokenDH.com
Estimator MCP logo
运维云端未说明官方级别未说明来源级核验

Estimator MCP

MCP Server

一个面向咨询场景的软件项目时间估算系统,通过AI代理收集任务描述并返回详细的角色和任务时间分解。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
C#Claude云端部署Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

xebia

提供方

xebia

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

估计器MCP服务器

一种用于在咨询环境中生成软件项目时间估计的模型上下文协议(MCP)服务器系统。该系统使AI代理(如Claude)能够从用户那里收集任务/功能描述,查询工作项目录,并返回每个角色、每个任务的详细时间分解。

项目概述

关键目标: 通过管理映射到实施角色的功能目录和工作量估算,然后通过MCP工具将这些估算提供给基于LLM的接口,从而实现人工智能辅助的项目估算。

项目结构

estimator-mcp/
├── spec/                           # Specification documents
│   ├── overview.md                 # System requirements and MCP tool specs
│   ├── data-structure.md          # Data model and JSON schema
│   ├── process-flow.md            # Estimation workflow
│   └── innovation.md              # Innovation and future ideas
├── docs/                          # Additional documentation
│   └── plans/                     # Technical planning documents
└── src/                           # Source code
    ├── estimator-mcp/             # MCP Server (stdio transport)
    ├── CatalogEditor/             # Blazor Web App for catalog management
    ├── CatalogCli/                # CLI tool for bulk TSV import/export
    └── EstimatorMcp.Models/       # Shared data models

组件

1.MCP服务器(估计器MCP)

状态: ✅ 全面实施

核心MCP服务器通过stdio传输运行,并向LLM接口公开三个工具:

MCP工具:

  1. GetInstructions -为人工智能助手返回如何进行评估访谈的降价指南
  2. GetCatalogFeatures -返回目录功能,可按类别、技术堆栈或标签进行筛选
  3. CalculateEstimate -接受T恤尺寸的功能,返回按角色小时细分的详细信息

特征:

  • Claude Desktop集成的Stdio传输
  • 仅记录Serilog文件(无控制台输出以避免协议干扰)
  • 自动加载最新带时间戳的目录文件
  • 技术栈和基于标签的过滤
  • T恤尺寸的斐波那契缩放(XS、S、M、L、XL)
  • 每个角色应用的副驾驶生产力乘数

技术栈:

  • 具有可空引用类型的.NET 10
  • ModelContextProtocol NuGet包(0.5.0-preview.1)
  • 配置和服务的依赖注入
  • 使用Serilog进行基于文件的日志记录

运行服务器:

cd src/estimator-mcp
dotnet build
dotnet run

2.目录编辑器(CatalogEditor)

状态: ✅ 全面实施

一个用于通过交互式UI管理目录数据的DateTimeWeb应用程序。

特征:

  • 使用Copilot生产力倍增器管理实施角色
  • 使用基于角色的时间估计创建和编辑目录条目(功能)
  • 技术栈分类(Salesforce、HTTP/AAzure、Node.js、共享等)
  • 基于标签的多维分类组织
  • 带有斐波那契比例的T恤尺码(仅适用于中等基线)
  • 实时验证和自动保存

技术栈:

  • ASP。NET核心访问接口(.NET 10)
  • 交互式服务器渲染模式
  • 提供者模式(ICatalogDataProvider)用于未来的数据库迁移
  • 具有自动版本控制的JSON文件存储

运行编辑器:

cd src/CatalogEditor/CatalogEditor/CatalogEditor
dotnet build
dotnet run
# Navigate to https://localhost:5001

3.目录CLI(CatalogCli)

状态: ✅ 全面实施

通过Excel/电子表格应用程序进行批量编辑的命令行工具。

特征:

  • 将目录JSON导出到TSV文件(roles.TSV、entries.TSV)
  • 将编辑后的TSV文件导入回JSON格式
  • 全面验证数据完整性和角色引用
  • 支持技术栈和分号分隔的标签
  • 非常适合批量更新50多个目录功能

用例示例:

# Step 1: Export to TSV
dotnet run -- export -i catalog.json -o ./export/

# Step 2: Edit in Excel (techstacks.tsv, roles.tsv, entries.tsv)

# Step 3: Import back to JSON
dotnet run -- import --techstacks ./export/techstacks.tsv --roles ./export/roles.tsv --entries ./export/entries.tsv -o updated.json

# Migrate a v1.0 catalog to v2.0 format
dotnet run -- migrate -i catalog-v1.json -o catalog-v2.json

目录Cli自述文件 详细用法。

4.共享模型(估计器模型)

状态: ✅ 全面实施

跨所有组件使用的共享数据模型:

  • CatalogData -具有角色和条目的根目录结构
  • CatalogEntry -带有估算和元数据的功能/工作项
  • Role -Copilot乘数的实施作用
  • TechStack -技术平台分类

数据存储

目录数据存储在JSON文件中,具有基于时间戳的版本控制:

  • 位置: src/CatalogEditor/CatalogEditor/CatalogEditor/data/catalogs/
  • 格式: catalog-{ISO8601_TIMESTAMP}.json
  • 版本历史记录:保留旧文件;启动时按字典排序加载的最新文件

提供者模式

目录编辑器使用提供程序模式来抽象数据访问:

  • 接口: ICatalogDataProvider
  • 当前实施情况: JsonCatalogDataProvider (基于文件的存储)
  • 未来:轻松迁移到SQL Server、PostgreSQL、Azure存储或API后端

入门指南

先决条件

  • .NET 10 SDK或更高版本
  • (可选)用于MCP集成的Claude Desktop
  • (可选)Excel或兼容的电子表格应用程序,用于CLI批量编辑

快速开始

选项1:使用带Claude Desktop的MCP服务器

  1. 构建MCP服务器:
   cd src/estimator-mcp
   dotnet build
  1. 配置Claude Desktop以使用服务器(请参阅 MCP集成 在......下面
  1. 请Claude帮助估算一个项目——它将自动使用MCP工具

选项2:通过Web UI管理目录

cd src/CatalogEditor/CatalogEditor/CatalogEditor
dotnet run
# Navigate to https://localhost:5001

选项3:通过CLI+Excel进行批量编辑

cd src/CatalogCli
dotnet run -- export -i  -o ./export/
# Edit TSV files in Excel
dotnet run -- import --roles ./export/roles.tsv --entries ./export/entries.tsv -o updated.json

样本目录数据

该系统包括一个全面的目录,其中包括:

  • 7个角色:开发人员、DevOps工程师、参与经理、架构师、QA工程师、安全工程师、UX设计师
  • 50+目录条目 跨越多个技术栈和类别
  • 技术栈:Salesforce、云数据库/Azure、Node.js。NET,共享
  • 分类:功能、后端、DevOps、数据、QA、安全
  • 标签:基于平台、技术、层和功能的标签

T恤尺码型号

仅存储目录条目 中等(M) 基线估计,以尽量减少数据输入。其他大小是使用斐波那契缩放自动计算的:

大小斐波那契乘数示例(M=24h)
XS10.2倍(1/5)4.8小时
S20.4倍(2/5)9.6小时
M51.0 x24小时
L81.6倍(8/5)38.4小时
XL132.6倍(13/5)62.4小时

最后估计 还应用角色的副驾驶乘数(例如,开发人员为0.6=在人工智能的帮助下快40%)。

计算公式:

Final Hours = (Medium Hours × Size Multiplier) × Copilot Multiplier

例子:

  • 功能:“REST API集成”
  • 中等基线:开发人员=24h
  • 所选尺寸:大(L)=1.6x
  • 开发者复制倍数:0.6(快40%)
  • 最终估算:24×1.6×0.6=23.04小时

技术栈和标签组织

系统支持多维分类:

技术栈:

  • salesforce -Salesforce平台(Apex、LWC、Flows)
  • blazor-azure -HTTP+AAzure(AKS、函数、宇宙数据库)
  • dotnet - .NET/ASP。NET核心
  • nodejs -Node.js生态系统
  • react-aws -React+AWS
  • shared -跨平台功能

标签 (分号分隔):

  • 平台: salesforce, azure, aws
  • 图层: frontend, backend, database, api
  • 功能: authentication, authorization, crud, search
  • 技术: apex, lwc, blazor, terraform
  • 域名: devops, security, testing, data

筛选示例:

// Get all Salesforce features
GetCatalogFeatures(techStack: "salesforce")

// Get all frontend features
GetCatalogFeatures(tag: "frontend")

// Get all authentication-related features
GetCatalogFeatures(tag: "authentication")

MCP集成

MCP服务器通过stdio传输协议与Claude Desktop集成。

Claude桌面配置

添加到您的Claude Desktop配置文件(claude_desktop_config.json):

窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "estimator": {
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "s:\\src\\xebia\\estimator-mcp\\src\\estimator-mcp\\estimator-mcp.csproj"
      ],
      "env": {
        "ESTIMATOR_CATALOG_PATH": "s:\\src\\xebia\\estimator-mcp\\src\\CatalogEditor\\CatalogEditor\\CatalogEditor\\data\\catalogs"
      }
    }
  }
}

AI工作流

配置后,Claude可以:

  1. 呼叫 GetInstructions 学习如何进行评估面试
  2. 呼叫 GetCatalogFeatures 从目录中检索可用功能
  3. 采访用户 了解项目范围并选择相关功能
  4. 帮助用户指定T恤尺寸 (XS、S、M、L、XL)基于复杂性
  5. 呼叫 CalculateEstimate 具有选定的功能和尺寸
  6. 提供详细明细 每个角色每个功能的小时数,加上总计

对话示例:

User: "I need to estimate a Salesforce project with custom Apex classes and LWC components"

Claude: [Calls GetCatalogFeatures(techStack: "salesforce")]
        "I found these Salesforce features in the catalog:
        - Apex Class Development
        - Lightning Web Component
        - Custom Object with Fields
        ...
        
        Let's go through each one and size them for your project..."

User: "We need 3 Apex classes (Medium), 5 LWC components (Small), and 2 custom objects (Large)"

Claude: [Calls CalculateEstimate with the selections]
        "Here's your estimate breakdown:
        
        Developer: 123.4 hours (15.4 days)
        DevOps: 8.5 hours (1.1 days)
        QA: 24.0 hours (3.0 days)
        ..."

开发状态

✅ 已完成(MVP)

第一阶段:目录管理

  • ✅ 用于目录CRUD操作的OutputWeb应用程序
  • ✅ JSON存储的提供者模式
  • ✅ 采用斐波那契比例的T恤尺码
  • ✅ 使用副驾驶乘数进行角色管理
  • ✅ 自动目录版本控制(基于时间戳的文件名)

第二阶段:MCP服务器

  • ✅ MCP服务器实现(stdio传输)
  • ✅ GetInstructions工具(人工智能指导)
  • ✅ GetCatalogFeatures工具(带过滤的目录查询)
  • ✅ CalculateEstimate工具(按角色/任务的时间细分)
  • ✅ 仅记录Serilog文件(stdio安全)
  • ✅ 技术栈分类
  • ✅ 基于标签的组织和过滤

第三阶段:批量编辑

  • ✅ 用于TSV导入/导出的CatalogCli工具
  • ✅ 基于Excel的批量编辑工作流程
  • ✅ 数据完整性验证服务
  • ✅ 支持技术栈和标签

🔄 进行中

第四阶段:高级功能

  • 🔄 多目录支持(每个地区/客户的费率表不同)
  • 🔄 历史估计跟踪和精度指标
  • 🔄 人工智能辅助特征匹配(语义搜索)

📋 未来的增强功能

数据库迁移

  • \[\]SQL Server提供程序实现
  • \[\]PostgreSQL提供者实现
  • \[\]Azure存储提供程序(基于blob)

安全与治理

  • \[\]用户身份验证和授权
  • \[\]基于角色的访问控制(目录管理员、估计器)
  • \[\]审核日志记录(谁更改了什么以及何时更改)

出口和报告

  • \[\]PDF导出(格式化估算文件)
  • \[\]CSV导出(用于金融系统)
  • \[\]人员配置计划生成(包含资源分配的时间表)

成本处理

  • \[\]费率表(每个角色每小时的成本)
  • \[\]多地区费率(美国、欧盟、亚太地区)
  • \[\]货币兑换
  • \[\]按功能/角色划分的成本明细

高级估算

  • \[\]非功能需求建模(测试、部署提升百分比)
  • \[\]风险/意外因素(乐观/悲观情景)
  • \[\]特征依赖关系和排序
  • \[\]物料清单跟踪(基础设施/许可成本)

整合

  • \[\]用于外部系统的REST API
  • \[\]Webhook通知(目录更新)
  • \[\]基于Git的目录存储(版本控制)
  • \[\]Jira/Azure DevOps集成(导入史诗/故事)

文档

产品规格(spec/)

组件文档

开发者指南(.github/instructions/)

  • 副驾驶指令.md -高层架构、数据流、LINQ模式、MCP工具规范
  • dotnet-guidelines.md - .NET 10标准、异步模式、DI设置、DateTimeconfig

配置

环境变量

MCP服务器:

  • ESTIMATOR_DATA_PATH -数据目录的路径(指令.md)
  • ESTIMATOR_CATALOG_PATH -目录JSON文件的路径
  • ESTIMATOR_LOGS_PATH -日志文件的路径(默认值: logs/)

目录编辑器:

  • CatalogDataPath -目录JSON文件存储位置

日志记录

MCP服务器使用 Serilog只记录文件 为了避免干扰stdio传输:

  • 日志位置: logs/estimator-mcp-{date}.log
  • 日志级别:信息(可配置)
  • 无控制台输出(会损坏MCP协议)

技术栈

  • .NET 10 启用了可以为null的引用类型
  • 模型上下文协议 NuGet包(0.5.0-preview.1)
  • Blazor -交互式服务器渲染模式
  • Serilog -结构化日志记录
  • 幽灵。控制台 -CLI格式化和验证
  • 依赖注入 -微软。扩展。依赖注入

架构模式

工具实施(MCP服务器)

[McpServerToolType]
public sealed class MyTool(IConfiguration config, ILogger logger)
{
    [McpServerTool, Description("Tool description for LLM")]
    public async Task MyMethod([Description("Param description")] string param)
    {
        // Implementation
    }
}

提供者模式(目录编辑器)

// Interface for abstraction
public interface ICatalogDataProvider
{
    Task LoadCatalogAsync();
    Task SaveCatalogAsync(CatalogData catalog);
}

// JSON implementation (current)
public class JsonCatalogDataProvider : ICatalogDataProvider { ... }

// Easy to add SQL, Azure, API implementations later

贡献

这是一个内部Xebia项目。如需更改:

  1. 创建要素分支: git checkout -b feature/your-feature-name
  2. 跟着。NET 10和ExpressRoute约定(参见 .github/instructions/)
  3. 使用所有三个组件(MCP服务器、web应用程序、CLI)进行测试
  4. 如果添加功能,请更新相关的README文件
  5. 提交明确的信息,描述变更

支持和故障排除

常见问题

MCP服务器未连接:

  • 检查Claude Desktop配置文件的路径是否正确
  • 验证 ESTIMATOR_CATALOG_PATH 指向目录目录
  • 检查日志: src/estimator-mcp/logs/estimator-mcp-*.log

目录未加载:

  • 确保配置的目录中存在目录JSON文件
  • 检查文件名格式: catalog-{ISO8601_TIMESTAMP}.json
  • 验证JSON是否有效(使用JSON验证器)

CLI导入失败:

  • 检查TSV文件格式是否符合规范
  • 验证entries.tsv中的角色ID是否与roles.tsv匹配
  • 在输出中查找验证错误

DateTimeapp未启动:

  • 确保。NET 10 SDK已安装
  • 检查appsettings以获取有效的CatalogDataPath
  • 验证端口5001是否未使用

获取帮助

如需额外支持:

  1. 检查特定于组件的README文件
  2. 查看CLAUDE.md以了解体系结构概述
  3. 检查 spec/ 详细规格文件夹
  4. 查看日志中的错误消息

许可证

版权所有©2025 Xebia。保留所有权利。

目录标签

目录标签

C#Claude云端部署AI辅助估算本地部署项目时间管理角色分解T恤尺码模型咨询工具

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP