我如何构建 MCP 服务器来自动化我的 BA 工作流

发布: (2025年12月6日 GMT+8 23:51)
5 min read
原文: Dev.to

Source: Dev.to

介绍

每次冲刺计划会议,都会出现相同的问题:

  • “我们什么时候上线?”
  • “本次冲刺能容纳多少工作?”
  • “这种优先级排序真的合理吗?”

我是一名业务分析师,每周都要回答这些问题。它们并不难,只是重复性工作。因此我构建了工具来自动回答它们。

MCP 是什么?
模型上下文协议(Model Context Protocol,MCP)让你可以扩展 Claude 的功能。除了普通聊天,你还能为它提供可以调用的函数,以获得真实的答案。可以把它想象成 AI 的插件。

我要解决的问题

业务分析工作涉及大量小计算:

  • 计算两个日期之间的工作日(不包括法定假日)
  • 根据团队速度计算发布日期
  • 验证优先级是否真的合理
  • 统一格式化用户故事

这些任务并不复杂,但在重复执行时会耗费大量时间。

我构建的内容

业务分析工作流工具 – 一个服务器中包含 17 个 MCP 工具:

冲刺与发布计划

  • calculate_working_days – 排除周末和英国法定假日
  • calculate_sprint_dates – 一次生成多个冲刺的日期
  • calculate_release_date – 故事点 + 速度 = 上线日期
  • calculate_velocity – 考虑假期的容量调整

MoSCoW 优先级划分

  • calculate_moscow_priority – 按百分比拆分优先级
  • plan_moscow_capacity – 评估冲刺能容纳多少工作
  • validate_moscow_dependencies – 在问题出现前捕获依赖冲突

用户故事

  • format_user_story – 使用验收标准的规范结构

其他

  • 时区工具、估算转换器、文本实用函数

代码演示

// Example: Release date calculator
{
  name: "calculate_release_date",
  description: "Calculate estimated release date based on story points remaining, team velocity, and sprint length",
  inputSchema: {
    type: "object",
    properties: {
      storyPointsRemaining: { type: "number" },
      teamVelocity: { type: "number" },
      sprintLength: { type: "number" },
      startDate: { type: "string" }
    },
    required: ["storyPointsRemaining", "teamVelocity", "sprintLength", "startDate"]
  }
}

逻辑说明: 用点数除以速度,乘以冲刺长度(周),再把工作日加到开始日期上。很简单——但现在 Claude 能帮我完成这一步。

安装方法

  1. 克隆仓库
    git clone https://github.com/cs97jjm3/ba-workflow-tools.git
    cd ba-workflow-tools
  2. 安装依赖
    npm install
  3. 将服务器添加到 Claude Desktop 配置中
  4. 重启 Claude Desktop

实际案例

案例 1
我: “我还有 85 点故事点,团队速度是每冲刺 25 点,冲刺长度为 2 周。我们什么时候能完成?”
Claude:(调用 calculate_release_date)“根据你的速度,大约需要 4 个冲刺。预计完成日期:2025 年 3 月 14 日。”

案例 2
我: “检查一下我的 Must‑haves 是否依赖于 Won’t 项目。”
Claude:(调用 validate_moscow_dependencies)“发现 2 个问题:REQ‑045(Must)依赖于 REQ‑089(Won’t)……”

构建 MCP 服务器的收获

这是我的第三个 MCP 服务器。之前在工作中构建的两个是:

  • 日期运算 – 跨 14 个国家的工作日计算
  • 带登录的网页分析器 – 需要身份验证的页面分析

关键经验

  • 从你经常需要解决的问题入手。
  • 保持工具专注——每个工具只做一件事。
  • 良好的描述很重要;Claude 会依据描述决定何时调用你的工具。
  • 用真实的提示进行测试,而不仅仅是单元测试。

下一步计划

计划中的新增功能:

  • RAID 日志管理
  • 利益相关者矩阵工具
  • 更多估算转换器

欢迎提交 Pull Request。

链接

  • GitHub:
  • MCP 文档: [link]
Back to Blog

相关文章

阅读更多 »