**
Introduction
**
Every sprint planning session, same questions:
- "When will we ship?"
- "What fits in this sprint?"
- "Does this prioritisation actually make sense?"
I'm a Business Analyst. I answer these questions weekly. They're not hard, just repetitive.
So I built tools to answer them automatically.
What is MCP?
Model Context Protocol lets you extend what Claude can do. Instead of just chatting, you give it tools - functions it can call to get real answers.
Think of it like plugins for AI.
*The Problem I Was Solving
*
BA work involves lots of small calculations:
- Working days between dates (excluding bank holidays)
- Release dates based on velocity
- Whether priorities actually make sense
- Formatting user stories consistently
Not complex. But time-consuming when you do them repeatedly.
*What I Built
*
BA Workflow Tools - 17 MCP tools in one server:
Sprint & Release Planning
calculate_working_days - excludes weekends and UK bank holidays
calculate_sprint_dates - generate multiple sprints at once
calculate_release_date - story points + velocity = ship date
calculate_velocity - with capacity adjustments for holidays
MoSCoW Prioritisation
calculate_moscow_priority - breakdown with percentages
plan_moscow_capacity - what fits in your sprint
validate_moscow_dependencies - catch problems before they happen
User Stories
format_user_story - proper structure with acceptance criteria
Plus: timezone tools, estimation converters, text utilities
Code Walkthrough
javascript// 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"]
}
}
The logic: divide points by velocity, multiply by sprint length in weeks, add working days to start date. Simple - but now Claude does it for me.
How to Install
Clone the repo
npm install
Add to Claude Desktop config
Restart Claude Desktop
Real Examples
Me: "I've got 85 story points left, velocity is 25 per sprint, sprints are 2 weeks. When will we finish?"
Claude: [calls calculate_release_date] "Based on your velocity, you'll need approximately 4 sprints. Estimated completion: March 14th 2025."
Me: "Check if any of my Must-haves depend on Won't items"
Claude: [calls validate_moscow_dependencies] "Found 2 issues: REQ-045 (Must) depends on REQ-089 (Won't)..."
What I Learned Building MCP Servers
This is my third MCP server. The other two are at work:
Date Operations - working days across 14 countries
Web Analyser with Login - page analysis behind authentication
Key lessons:
Start with problems you solve repeatedly
Keep tools focused - one job per tool
Good descriptions matter - Claude uses them to decide when to call your tool
Test with real prompts, not just unit tests
What's Next
Planning to add:
RAID log management
Stakeholder matrix tools
More estimation converters
PRs welcome.
Links
GitHub: https://github.com/cs97jjm3/ba-workflow-tools
MCP Documentation: [link]
Follow me for more BA automation content
Top comments (0)