Functional Requirements MCP Server
Enables developers to generate structured software documentation including user stories, requirements, technical specifications, and more using AI-powered prompts via the MCP protocol.
README
Functional Requirements MCP Server
A Model Context Protocol (MCP) server that provides AI-powered prompts for generating user stories, requirements, technical specifications, and other software development documentation.
🎯 Overview
This MCP server offers a collection of specialized prompts designed to streamline the software development lifecycle by automating the creation of structured documentation. It focuses on functional requirements analysis and technical documentation generation.
✨ Features
Core Functionality
- User Story Creation: Generate detailed user stories with proper formatting and structure
- Requirements Generation: Convert user stories into functional and non-functional requirements
- Technical Specifications: Transform requirements into detailed technical documentation
- Meeting Documentation: Extract action items and decisions from meeting notes
- Release Notes: Create professional release documentation
- Architecture Decision Records (ADRs): Document technical decisions and rationale
Structured Data Models
- UserStory Model: Comprehensive data structure with MoSCoW prioritization
- Step-by-Step Processes: Support for normal and exceptional flow documentation
- Actor Management: Track stakeholders and system users
🚀 Quick Start
Prerequisites
- Python 3.13 or higher
- uv package manager
- Claude Desktop or compatible MCP client
Installation
-
Clone the repository:
git clone <repository-url> cd Coding_MCP -
Install dependencies:
uv sync -
Configure Claude Desktop: Add this server configuration to your
claude_desktop_config.json:{ "mcpServers": { "Functional Requirements": { "command": "C:\\Users\\<your-username>\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\uv.EXE", "args": [ "run", "--with", "mcp[cli]", "mcp", "run", "C:\\Users\\<your-username>\\source\\repos\\Coding_MCP\\main.py" ] } } } -
Restart Claude Desktop to load the new server.
📖 Usage Guide
Available Prompts
1. Create User Story
Purpose: Generate structured user stories from contextual information.
Usage: Provide context about a feature or requirement, and the prompt will create a properly formatted user story following the "As a [actor], I want [feature] so that [benefit]" convention.
Output: JSON-structured user story with:
- Unique identifier and name
- Definition following user story conventions
- Pre/post conditions
- Actors involved
- Normal and exceptional process flows
- MoSCoW prioritization with explanation
- Related requirements
2. Create Requirements
Purpose: Transform user stories into detailed functional and non-functional requirements.
Input: UserStory object Output: Comprehensive requirements covering:
- Functional requirements (system capabilities)
- Non-functional requirements (performance, security, usability)
- Technical constraints and dependencies
- Acceptance criteria for testing
3. Technical Specification Writer
Purpose: Convert requirements into detailed technical specifications.
Output Structure:
- Overview and Scope
- System Architecture
- Detailed Design (APIs, data models, database design)
- Implementation Details
- Integration Points
- Quality Attributes
4. Meeting Summary Generator
Purpose: Extract structured information from meeting notes.
Output Includes:
- Key decisions made
- Action items with owners and due dates
- Discussion points and open questions
- Next steps and dependencies
- Parking lot items
5. Release Notes Creator
Purpose: Generate professional, user-facing release documentation.
Sections Include:
- What's New (features and enhancements)
- Improvements (performance, UX, developer experience)
- Bug Fixes
- Security Updates
- Breaking Changes with migration guides
- Technical details and acknowledgments
6. Architecture Decision Record (ADR)
Purpose: Document technical decisions with proper rationale.
Structure:
- Status and decision makers
- Context and problem statement
- Options considered with pros/cons
- Decision rationale
- Implementation plan
- Consequences and risks
- Compliance considerations
🏗️ Project Structure
Coding_MCP/
├── main.py # MCP server with prompt definitions
├── pyproject.toml # Project configuration and dependencies
├── uv.lock # Dependency lock file
├── models/
│ ├── user_story.py # UserStory and Step data models
│ └── requirements.py # Requirements-related models
├── prompts/ # (Future: Additional prompt templates)
└── __pycache__/ # Python bytecode cache
🔧 Development
Local Development Setup
-
Activate the virtual environment:
uv venv .venv\Scripts\activate -
Install in development mode:
uv pip install -e . -
Run the server directly (for testing):
uv run python main.py
Testing the Server
You can test individual prompts by running the server locally and using the MCP client tools:
# Run the server
uv run mcp run main.py
# In another terminal, test prompts
uv run mcp call main.py prompts/list
Adding New Prompts
-
Define your prompt function in
main.py:@mcp.prompt(title="your prompt title", description="Description of what it does") def your_prompt_function(input_parameter: str) -> str: return f"""Your prompt template here with {input_parameter}""" -
Follow the established patterns for structured output and clear instructions.
-
Test your prompt thoroughly before deployment.
📊 Data Models
UserStory Model
The UserStory class provides a comprehensive structure for capturing user requirements:
class UserStory(BaseModel):
id: str # Unique identifier
name: str # Concise title
definition: str # "As a..., I want..., so that..."
pre_condition: Optional[str] # Required state before execution
post_condition: Optional[str] # Expected state after completion
actors: List[str] # Involved stakeholders
normal_flow: List[Step] # Happy path steps
exceptional_flows: List[Step] # Error/alternative paths
moscow: MoSCoW # Priority (Must/Should/Could/Won't Have)
moscow_explanation: Optional[str] # Priority rationale
requirements: List[str] # Related requirement references
Step Model
For process flow documentation:
class Step(BaseModel):
id: str # Step identifier (e.g., "1", "2a", "3b")
action: str # Description of what happens
🔒 Security Considerations
- The server processes text input only - no file system access
- All prompts generate documentation, not executable code
- Input validation is handled by Pydantic models
- No external API calls or network access required
🤝 Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-prompt - Add your changes and tests
- Commit with clear messages:
git commit -m "Add new prompt for..." - Push and create a pull request
Code Style
- Follow PEP 8 for Python code
- Use type hints for all function parameters and returns
- Add docstrings for new models and complex functions
- Maintain consistent prompt formatting and structure
📄 License
[Add your license information here]
🆘 Troubleshooting
Common Issues
Server not appearing in Claude Desktop:
- Verify the path in
claude_desktop_config.jsonis correct - Ensure uv is installed and accessible
- Check that Python 3.11+ is installed
- Restart Claude Desktop after configuration changes
Import errors:
- Run
uv syncto ensure all dependencies are installed - Verify you're using Python 3.11 or higher
Prompt not working as expected:
- Check the prompt formatting and structure
- Ensure input parameters match the expected types
- Review the output for any parsing errors
Getting Help
- Check the MCP documentation
- Review existing prompt implementations in
main.py - Create an issue for bugs or feature requests
🔮 Future Enhancements
- Additional prompt templates for specific domains
- Integration with project management tools
- Export capabilities for generated documentation
- Batch processing for multiple user stories
- Custom template support
- Integration with version control systems
Made with ❤️ for better software documentation
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。