Functional Requirements MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Functional Requirements MCP ServerGenerate a user story for a password reset feature."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: Spec Workflow MCP
✨ 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_MCPInstall dependencies:
uv syncConfigure 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\activateInstall 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/listAdding 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 referencesStep 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-promptAdd 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 correctEnsure 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 installedVerify 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.pyCreate 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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xTr161/TechnicalDocsMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server