Skip to main content
Glama

mcp-adr-analysis-server

by tosin2013
generation-tools.mdโ€ข14.5 kB
# ๐Ÿ—๏ธ Generation Tools Reference **Complete reference for MCP ADR Analysis Server content generation and creation tools.** --- ## ๐Ÿ“‹ Quick Reference | Tool | Purpose | Key Parameters | Output | | ---------------------------- | ----------------------------- | ------------------------------- | ---------------------------------- | | `suggest_adrs` | Generate ADR suggestions | `projectPath`, `maxSuggestions` | ADR recommendations with reasoning | | `generate_adr_from_decision` | Create ADR from decision data | `decisionData`, `template` | Complete ADR document | | `generate_adr_todo` | Create implementation tasks | `adrDirectory`, `phase` | TODO list with priorities | | `generate_content_masking` | Create masked content | `content`, `maskingLevel` | Sanitized content | --- ## ๐Ÿ“ suggest_adrs **Purpose**: Analyze project and suggest missing or needed architectural decision records. ### Parameters ```typescript interface SuggestAdrsParams { projectPath: string; // Required: Absolute path to project maxSuggestions?: number; // Maximum number of ADRs to suggest (default: 5) analysisScope?: 'technology' | 'architecture' | 'security' | 'all'; includeStakeholders?: boolean; // Include stakeholder recommendations collaborativeMode?: boolean; // Enable collaborative features securityFocused?: boolean; // Focus on security-related decisions enableTreeSitterAnalysis?: boolean; // Enable AST-based analysis } ``` ### Usage Examples #### Basic ADR Suggestions ```json { "tool": "suggest_adrs", "parameters": { "projectPath": "/path/to/project", "maxSuggestions": 3 } } ``` #### Security-Focused ADR Suggestions ```json { "tool": "suggest_adrs", "parameters": { "projectPath": "/path/to/project", "maxSuggestions": 5, "analysisScope": "security", "securityFocused": true, "enableTreeSitterAnalysis": true } } ``` #### Collaborative ADR Planning ```json { "tool": "suggest_adrs", "parameters": { "projectPath": "/path/to/project", "maxSuggestions": 8, "analysisScope": "all", "includeStakeholders": true, "collaborativeMode": true } } ``` ### Response Format ```typescript interface AdrSuggestion { title: string; priority: 'low' | 'medium' | 'high' | 'critical'; category: string; rationale: string; stakeholders: string[]; estimatedEffort: string; dependencies: string[]; evidence: string[]; confidence: number; } interface SuggestAdrsResponse { suggestions: AdrSuggestion[]; analysisMetadata: { projectType: string; technologyStack: string[]; complexityScore: number; analysisDepth: string; }; recommendations: { priorityOrder: string[]; implementationStrategy: string; timelineEstimate: string; }; } ``` ### Common Use Cases 1. **New Project Setup**: Identify initial architectural decisions needed 2. **Legacy System Analysis**: Find undocumented architectural decisions 3. **Technology Migration**: Plan decisions for migration projects 4. **Security Audit**: Identify security-related decisions needed 5. **Team Onboarding**: Help new team members understand decision needs --- ## ๐Ÿ“„ generate_adr_from_decision **Purpose**: Create a complete ADR document from structured decision data. ### Parameters ```typescript interface GenerateAdrFromDecisionParams { decisionData: { title: string; context: string; decision?: string; options?: string[]; consequences?: string[]; stakeholders?: string[]; timeline?: string; status?: 'proposed' | 'accepted' | 'deprecated' | 'superseded'; }; template?: 'madr' | 'nygard' | 'alexandrian' | 'custom'; outputPath?: string; // Where to save the ADR file includeMetadata?: boolean; // Include creation metadata generateId?: boolean; // Auto-generate ADR ID } ``` ### Usage Examples #### Basic ADR Generation ```json { "tool": "generate_adr_from_decision", "parameters": { "decisionData": { "title": "Database Technology Selection", "context": "Need to choose database technology for new microservice", "decision": "Use PostgreSQL for primary data storage", "consequences": [ "Positive: ACID compliance and reliability", "Positive: Strong ecosystem and tooling", "Challenge: Need PostgreSQL expertise on team" ] }, "template": "madr", "outputPath": "././adrs/001-database-selection.md" } } ``` #### Comprehensive ADR with Stakeholders ```json { "tool": "generate_adr_from_decision", "parameters": { "decisionData": { "title": "API Authentication Strategy", "context": "Multiple client applications need secure API access with different authentication requirements", "options": [ "JWT tokens with refresh mechanism", "OAuth 2.0 with PKCE", "API keys with rate limiting" ], "decision": "Implement OAuth 2.0 with PKCE for web clients and API keys for service-to-service communication", "consequences": [ "Positive: Industry standard security practices", "Positive: Supports multiple client types", "Challenge: More complex implementation", "Challenge: Need OAuth infrastructure" ], "stakeholders": ["security-team", "frontend-team", "mobile-team"], "timeline": "Implementation by Q2 2024", "status": "accepted" }, "template": "madr", "includeMetadata": true, "generateId": true } } ``` #### Custom Template ADR ```json { "tool": "generate_adr_from_decision", "parameters": { "decisionData": { "title": "Monitoring and Observability Strategy", "context": "Need comprehensive monitoring for distributed system", "decision": "Implement OpenTelemetry with Prometheus and Grafana" }, "template": "custom", "customTemplate": { "sections": [ "title", "status", "context", "decision", "implementation_plan", "monitoring_metrics", "consequences" ] } } } ``` ### Response Format ```typescript interface GenerateAdrResponse { adrContent: string; metadata: { id: string; filename: string; template: string; createdAt: string; wordCount: number; }; validation: { isValid: boolean; completenessScore: number; missingElements: string[]; }; suggestions: { improvements: string[]; relatedAdrs: string[]; }; } ``` --- ## โœ… generate_adr_todo **Purpose**: Generate implementation tasks and TODO lists from ADR directory analysis. ### Parameters ```typescript interface GenerateAdrTodoParams { adrDirectory: string; // Required: Path to ADR directory outputPath?: string; // Where to save TODO file phase?: 'planning' | 'implementation' | 'both'; linkAdrs?: boolean; // Link tasks back to ADRs includeRules?: boolean; // Include rule-based tasks priorityFilter?: 'low' | 'medium' | 'high' | 'critical'; securityFocused?: boolean; // Focus on security tasks assignees?: string[]; // Suggested assignees } ``` ### Usage Examples #### Basic TODO Generation ```json { "tool": "generate_adr_todo", "parameters": { "adrDirectory": "./adrs", "outputPath": "TODO.md", "phase": "both" } } ``` #### Security-Focused TODO List ```json { "tool": "generate_adr_todo", "parameters": { "adrDirectory": "./adrs", "outputPath": "SECURITY_TODO.md", "phase": "implementation", "securityFocused": true, "priorityFilter": "high", "linkAdrs": true, "includeRules": true } } ``` #### Team-Assigned TODO Generation ```json { "tool": "generate_adr_todo", "parameters": { "adrDirectory": "./adrs", "phase": "implementation", "assignees": ["@backend-team", "@security-team", "@devops-team"], "linkAdrs": true } } ``` ### Response Format ```typescript interface TodoItem { id: string; title: string; description: string; priority: 'low' | 'medium' | 'high' | 'critical'; category: string; estimatedEffort: string; assignee?: string; relatedAdr: string; dependencies: string[]; acceptanceCriteria: string[]; } interface GenerateAdrTodoResponse { todos: TodoItem[]; summary: { totalTasks: number; byPriority: Record<string, number>; byCategory: Record<string, number>; estimatedTotalEffort: string; }; recommendations: { implementationOrder: string[]; riskMitigation: string[]; }; } ``` --- ## ๐Ÿ›ก๏ธ generate_content_masking **Purpose**: Create masked versions of content to hide sensitive information while preserving structure. ### Parameters ```typescript interface GenerateContentMaskingParams { content: string; // Required: Content to mask maskingLevel?: 'basic' | 'standard' | 'strict' | 'paranoid'; preserveStructure?: boolean; // Keep original structure includeLineNumbers?: boolean; // Include line number references userDefinedPatterns?: string[]; // Custom patterns to mask maskingStrategy?: 'replacement' | 'redaction' | 'tokenization'; outputFormat?: 'text' | 'markdown' | 'json'; } ``` ### Usage Examples #### Basic Content Masking ```json { "tool": "generate_content_masking", "parameters": { "content": "const apiKey = 'sk-1234567890abcdef'; const dbPassword = 'mySecretPassword123';", "maskingLevel": "standard", "preserveStructure": true } } ``` #### Advanced Security Masking ```json { "tool": "generate_content_masking", "parameters": { "content": "Database connection: postgresql://user:password@localhost:5432/mydb", "maskingLevel": "strict", "preserveStructure": true, "userDefinedPatterns": ["postgresql://[^\\s]+", "user:[^@]+@"], "maskingStrategy": "tokenization", "includeLineNumbers": true } } ``` #### Custom Pattern Masking ```json { "tool": "generate_content_masking", "parameters": { "content": "Company API: COMP_12345_SECRET_TOKEN", "maskingLevel": "paranoid", "userDefinedPatterns": ["COMP_[A-Z0-9_]+", "SECRET_[A-Z0-9_]+"], "outputFormat": "markdown" } } ``` ### Response Format ```typescript interface ContentMaskingResponse { maskedContent: string; maskingReport: { patternsFound: Array<{ pattern: string; count: number; locations: Array<{ line: number; column: number; }>; }>; maskingLevel: string; preservedStructure: boolean; }; securityAnalysis: { riskLevel: 'low' | 'medium' | 'high' | 'critical'; remainingRisks: string[]; recommendations: string[]; }; } ``` --- ## ๐Ÿ”ง Advanced Generation Patterns ### Chaining Generation Tools **Progressive Content Creation Workflow**: ```json // 1. Analyze project for ADR needs { "tool": "suggest_adrs", "parameters": { "projectPath": ".", "analysisScope": "all" } } // 2. Generate specific ADRs from suggestions { "tool": "generate_adr_from_decision", "parameters": { "decisionData": { "title": "From suggestion analysis", "context": "Based on project analysis" } } } // 3. Create implementation tasks { "tool": "generate_adr_todo", "parameters": { "adrDirectory": "./adrs", "phase": "implementation" } } // 4. Mask sensitive content for sharing { "tool": "generate_content_masking", "parameters": { "content": "Generated ADR content", "maskingLevel": "standard" } } ``` ### Batch Generation **Generate Multiple ADRs**: ```typescript // Batch ADR generation pattern const adrSuggestions = [ { title: 'Database Selection', priority: 'high' }, { title: 'API Design', priority: 'medium' }, { title: 'Security Framework', priority: 'critical' }, ]; for (const suggestion of adrSuggestions) { await generateAdrFromDecision({ decisionData: { title: suggestion.title, context: `Generated from analysis for ${suggestion.title}`, priority: suggestion.priority, }, template: 'madr', outputPath: `././adrs/${suggestion.title.toLowerCase().replace(/\s+/g, '-')}.md`, }); } ``` ### Template Customization **Custom ADR Templates**: ```json { "custom_templates": { "security_adr": { "sections": [ "title", "status", "security_context", "threat_model", "decision", "security_implications", "implementation_plan", "monitoring_requirements" ] }, "api_adr": { "sections": [ "title", "status", "api_context", "design_options", "decision", "api_specification", "backward_compatibility", "migration_plan" ] } } } ``` --- ## ๐Ÿ“Š Generation Best Practices ### 1. Content Quality - **Comprehensive Context**: Provide detailed context for better ADR generation - **Clear Decisions**: Make decisions explicit and actionable - **Evidence-Based**: Include evidence and reasoning - **Stakeholder Involvement**: Identify relevant stakeholders ### 2. Template Selection - **MADR**: Best for most architectural decisions - **Nygard**: Good for simple, quick decisions - **Custom**: Use for organization-specific requirements - **Consistency**: Maintain template consistency across project ### 3. Security Considerations - **Content Masking**: Always mask sensitive content before sharing - **Pattern Recognition**: Use comprehensive pattern libraries - **Validation**: Validate masked content for completeness - **Audit Trail**: Maintain audit trail of masking operations ### 4. Automation Integration - **CI/CD Integration**: Automate ADR generation in pipelines - **Template Management**: Version control ADR templates - **Quality Gates**: Implement quality checks for generated content - **Feedback Loops**: Collect feedback to improve generation quality --- ## ๐Ÿ”— Related Documentation - **[Analysis Tools](analysis-tools.md)** - Tools for project analysis before generation - **[Security Tools](security-tools.md)** - Security-focused generation tools - **[Validation Tools](validation-tools.md)** - Tools for validating generated content - **[API Reference](api-reference.md)** - Complete API documentation --- **Need help with content generation?** โ†’ **[Troubleshooting Guide](.../how-to-guides/troubleshooting.md)** or **[File an Issue](https://github.com/tosin2013/mcp-adr-analysis-server/issues)**

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/tosin2013/mcp-adr-analysis-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server