eazy-ba
Captures and organizes requirements as markdown, tracks relationships between personas, requirements, use cases, and user stories.
README
eazy-ba
A personal Business Analyst as an MCP server.
eazy-ba fills the BA role for solo engineers and small teams: it captures
requirements, keeps them organized as plain markdown, and tracks the
relationships between personas, requirements, use cases, and user stories so the
documentation stays coherent as a project evolves.
Markdown files are the single source of truth — everything lives under
docs/ba/, is human-readable, git-diffable, and hand-editable. Relationships are
stored in YAML frontmatter, so traceability is always derived, never
hand-maintained.
Status: Phase A (interrogative loop). eazy-ba now conducts structured BA interviews before writing anything — every requirement traces back to a decision you made.
Install
Add it to Claude Code with one command — no global install needed:
claude mcp add eazy-ba -- npx -y eazy-ba
That's it. npx fetches and runs the latest version on demand.
<details> <summary>Other MCP clients (manual config)</summary>
Register it as a stdio MCP server:
{
"mcpServers": {
"eazy-ba": {
"command": "npx",
"args": ["-y", "eazy-ba"]
}
}
}
</details>
The docs structure
Running ba_init scaffolds:
docs/ba/
├── _index.md # status dashboard
├── _config.yml # docs root + id conventions
├── 01-vision/ # vision.md, glossary.md
├── 02-stakeholders/personas/ # PER-001-*.md
├── 03-requirements/
│ ├── functional/ # FR-001-*.md
│ └── non-functional/ # NFR-001-*.md
├── 04-use-cases/ # UC-001-*.md
├── 05-stories/ # US-001-*.md (story + Gherkin acceptance criteria)
├── 06-analysis/ # traceability, gap-report, risks, assumptions
└── 07-changelog/ # requirement change history
Stable IDs (FR-001, US-001, PER-001, …) are the backbone; cross-links live
in frontmatter (implements, satisfies, refines).
How it works — the interrogation loop
eazy-ba behaves like a Business Analyst: it asks before it writes, and never assumes.
ba_session_start— begin discovery (new project) or stabilize (tighten an existing one).ba_assess— returns the questions to ask you. It writes nothing.- You answer;
ba_record_answerssaves each answer as a traceable decision (DEC-###). ba_apply— turns those decisions into documents. Every document cites the decisions behind it; nothing is written without a recorded answer.- Repeat until
ba_statusreports stable (no open questions, no gaps).
Every requirement, story, and acceptance criterion traces back to a decision you made.
Tools
| Tool | Purpose |
|---|---|
ba_init |
Scaffold the docs/ba/ tree in a project. |
ba_session_start |
Start or resume a BA session (mode: discovery | stabilize). |
ba_assess |
Analyze current state; return prioritized questions to ask the user. Creates nothing. |
ba_record_answers |
Save the user's answers as traceable decisions (DEC-###). |
ba_apply |
Materialize/update documents from recorded decisions. Rejects artifacts with no derived_from. |
ba_status |
Report open questions, gaps, pending decisions, and overall stability. |
ba_get |
Fetch one artifact by ID. |
ba_list |
List/filter artifacts by type, status, priority, or tag. |
Each artifact carries MoSCoW priority (must / should / could / wont) and a
status (draft → reviewed → approved → implemented / obsolete).
Configuration
docs/ba/_config.yml:
docsRoot: docs/ba # relative to the project root, or an absolute path
idStart: 1 # first numeric ID
Roadmap
- Phase 2 — Analysis: deterministic structural gap detection + shipped BA checklists, requirement quality linting, traceability matrix generation, change impact analysis.
- Phase 3 — Smoothers: intake from brain dumps, adaptive elicitation interviews, codebase grounding, and Mermaid visualizations.
Development
npm install
npm test # vitest, TDD throughout
npm run build # tsc -> dist/
License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.