Caution
Disclaimer -- Experimental / Early Stage: This research demonstrator project references thirdβparty models, tools, pricing, and docs that evolve quickly. Treat outputs as recommendations and verify against official docs and your own benchmarks before production use.
A Model Context Protocol (MCP) server offering professional tools and templates for hierarchical prompting, code hygiene, visualization, memory optimization, and agile planning.
# NPX (recommended)
npx mcp-ai-agent-guidelines
# NPM global
npm install -g mcp-ai-agent-guidelines
# From source
git clone https://github.com/Anselmoo/mcp-ai-agent-guidelines.git
cd mcp-ai-agent-guidelines
npm ci && npm run build && npm start
npm run build # TypeScript build
npm run start # Build and start server
npm run test:all # Unit + integration + demos + MCP smoke
npm run test:coverage:unit # Unit test coverage (c8) -> coverage/ + summary
npm run quality # Type-check + Biome checks
Explore generated demo reports in the repository:
- Code Hygiene Report: demos/demo-code-analysis.hygiene.md
- Guidelines Validation: demos/demo-code-analysis.guidelines.md
- Hierarchical Prompt (Refactor plan): demos/demo-code-analysis.hierarchical.prompt.md
- Domain-neutral Prompt Template: demos/demo-code-analysis.domain-neutral.prompt.md
- Security Hardening Prompt: demos/demo-code-analysis.security-hardening.prompt.md
- Spark Prompt Card: demos/demo-code-analysis.spark.prompt.md
- Memory Context Optimization: demos/demo-code-analysis.memory.md
- Architecture Diagram (Mermaid): demos/demo-code-analysis.diagram.md
- Model Compatibility Analysis: demos/demo-code-analysis.model-compat.md
- Sprint Plan: demos/demo-code-analysis.sprint.md
See more in demos/README.md.
Run demo scripts to generate or test artifacts:
# Build first
npm run build
# Run sample tool calls
node demos/demo-tools.js
# Generate demo reports
node demos/demo-tools.js
Scripts:
demos/demo-tools.js
β invokes several tools with sample inputsdemos/generate-demo-reports.js
β produces end-to-end demo outputsdemos/generate-hygiene-reports.js
β hygiene-focused reports
Use buttons below to add this MCP server to VS Code (User Settings β mcp.servers):
Manual settings (User Settings JSON):
{
"mcp": {
"servers": {
"ai-agent-guidelines": {
"command": "npx",
"args": ["-y", "mcp-ai-agent-guidelines"]
}
}
}
}
Using Docker:
{
"mcp": {
"servers": {
"ai-agent-guidelines": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/anselmoo/mcp-ai-agent-guidelines:latest"
]
}
}
}
}
After adding the server, open your chat client (e.g., Cline in VS Code). The tools appear under the server name. You can:
- Run a tool directly by name:
hierarchical-prompt-builder
β Provide context, goal, and optional requirements.code-hygiene-analyzer
β Paste code or point to a file and set language.mermaid-diagram-generator
β Describe the system and select a diagram type.
- Ask in natural language and pick the suggested tool.
Example prompts:
- "Use hierarchical-prompt-builder to create a refactor plan for src/index.ts with outputFormat markdown."
- "Analyze this Python file with code-hygiene-analyzer; highlight security issues."
- "Generate a Mermaid sequence diagram showing: User sends request to API, API queries Database, Database returns data, API responds to User."
- "Create an ER diagram for: Customer has Orders, Order contains LineItems, Product referenced in LineItems."
- "Build a user journey map for our checkout flow using mermaid-diagram-generator."
Tip: Most clients can pass file content automatically when you select a file and invoke a tool.
GitHub Chat (VS Code): In the chat, type your request and pick a tool suggestion, or explicitly reference a tool by name (e.g., βUse mermaid-diagram-generator to draw a flowchart for our pipelineβ).
π NEW: Serena-Inspired Strategies β We've integrated effective agent strategies from @oraios/serena including semantic code analysis, project onboarding, and flexible mode switching. See docs/SERENA_STRATEGIES.md for details.
π NEW: Flow-Based Prompting β Advanced prompting strategies inspired by @ruvnet/claude-flow including prompt chaining, declarative flows, and dynamic orchestration.
- Examples: docs/FLOW_PROMPTING_EXAMPLES.md
- Integration Guide: docs/FLOW_SERENA_INTEGRATION.md - Combining flow-based prompting with Serena memory patterns
π Prompt Chaining Builder β Multi-step prompts with output passing (NEW)
Usage: prompt-chaining-builder
Parameter | Required | Description |
---|---|---|
chainName |
β | Name of the prompt chain |
steps |
β | Array of chain steps with prompts |
description |
β | Description of chain purpose |
context |
β | Global context for the chain |
globalVariables |
β | Variables accessible to all steps |
executionStrategy |
β | sequential/parallel-where-possible |
Build sophisticated multi-step prompt workflows where each step can depend on outputs from previous steps. Supports error handling strategies (skip/retry/abort) and automatic Mermaid visualization.
Example:
{
chainName: "Security Analysis Pipeline",
steps: [
{
name: "Scan",
prompt: "Scan for vulnerabilities",
outputKey: "vulns"
},
{
name: "Assess",
prompt: "Assess severity of {{vulns}}",
dependencies: ["vulns"],
errorHandling: "retry"
}
]
}
π Prompt Flow Builder β Declarative flows with branching/loops (NEW)
Usage: prompt-flow-builder
Parameter | Required | Description |
---|---|---|
flowName |
β | Name of the prompt flow |
nodes |
β | Flow nodes (prompt/condition/loop/parallel/merge/transform) |
edges |
β | Connections between nodes with conditions |
entryPoint |
β | Starting node ID |
variables |
β | Flow-level variables |
outputFormat |
β | markdown/mermaid/both |
Create complex adaptive prompt flows with conditional branching, loops, parallel execution, and merge points. Automatically generates Mermaid flowcharts and execution guides.
Example:
{
flowName: "Adaptive Code Review",
nodes: [
{ id: "analyze", type: "prompt", name: "Analyze" },
{ id: "check", type: "condition", name: "Complex?",
config: { expression: "complexity > 10" } },
{ id: "deep", type: "prompt", name: "Deep Review" },
{ id: "quick", type: "prompt", name: "Quick Check" }
],
edges: [
{ from: "analyze", to: "check" },
{ from: "check", to: "deep", condition: "true" },
{ from: "check", to: "quick", condition: "false" }
]
}
π Semantic Code Analyzer β Symbol-based code understanding (NEW)
Usage: semantic-code-analyzer
Parameter | Required | Description |
---|---|---|
codeContent |
β | Code content to analyze |
language |
β | Programming language (auto-detected) |
analysisType |
β | symbols/structure/dependencies/patterns/all |
Performs semantic analysis to identify symbols, dependencies, patterns, and structure. Inspired by Serena's language server approach.
π Project Onboarding β Comprehensive project familiarization (NEW)
Usage: project-onboarding
Parameter | Required | Description |
---|---|---|
projectPath |
β | Path to project directory |
projectName |
β | Name of the project |
projectType |
β | library/application/service/tool/other |
analysisDepth |
β | quick/standard/deep |
includeMemories |
β | Generate project memories (default: true) |
Analyzes project structure, detects technologies, and generates memories for context retention. Based on Serena's onboarding system.
π Mode Switcher β Flexible agent operation modes (NEW)
Usage: mode-switcher
Parameter | Required | Description |
---|---|---|
targetMode |
β | Mode to switch to (planning/editing/analysis/etc.) |
currentMode |
β | Current active mode |
context |
β | Operating context (desktop-app/ide-assistant/etc.) |
reason |
β | Reason for mode switch |
Switches between operation modes with optimized tool sets and prompting strategies. Modes include: planning, editing, analysis, interactive, one-shot, debugging, refactoring, documentation.
Hierarchical Prompt Builder β Build structured prompts with clear hierarchies
Usage: hierarchical-prompt-builder
Parameter | Required | Description |
---|---|---|
context |
β | The broad context or domain |
goal |
β | The specific goal or objective |
requirements |
β | Detailed requirements and constraints |
outputFormat |
β | Desired output format |
audience |
β | Target audience or expertise level |
Code Hygiene Analyzer β Analyze codebase for outdated patterns and hygiene issues
Usage: code-hygiene-analyzer
Parameter | Required | Description |
---|---|---|
codeContent |
β | Code content to analyze |
language |
β | Programming language |
framework |
β | Framework or technology stack |
Security Hardening Prompt Builder β Build specialized security analysis and vulnerability assessment prompts
Usage: security-hardening-prompt-builder
Parameter | Required | Description |
---|---|---|
codeContext |
β | Code context or description to analyze for security |
securityFocus |
β | Security analysis focus (vulnerability-analysis, security-hardening, compliance-check, threat-modeling, penetration-testing) |
securityRequirements |
β | Specific security requirements to check |
complianceStandards |
β | Compliance standards (OWASP-Top-10, NIST-Cybersecurity-Framework, ISO-27001, SOC-2, GDPR, HIPAA, PCI-DSS) |
language |
β | Programming language of the code |
riskTolerance |
β | Risk tolerance level (low, medium, high) |
analysisScope |
β | Security areas to focus on (input-validation, authentication, authorization, etc.) |
outputFormat |
β | Output format (detailed, checklist, annotated-code) |
Security Focus Areas:
- π Vulnerability analysis with OWASP Top 10 coverage
- π‘οΈ Security hardening recommendations
- π Compliance checking against industry standards
β οΈ Threat modeling and risk assessment- π§ͺ Penetration testing guidance
Compliance Standards: OWASP Top 10, NIST Cybersecurity Framework, ISO 27001, SOC 2, GDPR, HIPAA, PCI-DSS
Mermaid Diagram Generator β Generate professional diagrams from text descriptions
Usage: mermaid-diagram-generator
Generates Mermaid diagrams with intelligent parsing of descriptions for rich, customizable visualizations.
Parameter | Required | Description |
---|---|---|
description |
β | Description of the system or process to diagram. Be detailed and specific for better diagram generation. |
diagramType |
β | Type: flowchart , sequence , class , state , gantt , pie , er , journey , quadrant , git-graph , mindmap , timeline |
theme |
β | Visual theme: default , dark , forest , neutral |
direction |
β | Flowchart direction: TD /TB (top-down), BT (bottom-top), LR (left-right), RL (right-left) |
strict |
β | If true, never emit invalid diagram; use fallback if needed (default: true) |
repair |
β | Attempt auto-repair on validation failure (default: true) |
accTitle |
β | Accessibility title (added as Mermaid comment) |
accDescr |
β | Accessibility description (added as Mermaid comment) |
customStyles |
β | Custom CSS/styling directives for advanced customization |
advancedFeatures |
β | Type-specific advanced features (e.g., {autonumber: true} for sequence diagrams) |
Enhanced Features:
- Intelligent Description Parsing: All diagram types now parse descriptions to extract relevant entities, relationships, and structures
- New Diagram Types:
er
- Entity Relationship diagrams for database schemasjourney
- User journey maps for UX workflowsquadrant
- Quadrant/priority charts for decision matricesgit-graph
- Git commit history visualizationmindmap
- Hierarchical concept mapstimeline
- Event timelines and roadmaps
- Advanced Customization: Direction control, themes, custom styles, and type-specific features
- Smart Fallbacks: Generates sensible default diagrams when description parsing is ambiguous
Examples:
# Sequence diagram with participants auto-detected from description
{
"description": "User sends login request to API. API queries Database for credentials. Database returns user data. API responds to User with token.",
"diagramType": "sequence",
"advancedFeatures": {"autonumber": true}
}
# Class diagram with relationships extracted
{
"description": "User has id and email. Order contains Product items. User places Order. Product has price and name.",
"diagramType": "class"
}
# ER diagram for database schema
{
"description": "Customer places Order. Order contains LineItem. Product is referenced in LineItem.",
"diagramType": "er"
}
# User journey map
{
"description": "Shopping Journey. Section Discovery: User finds product. User reads reviews. Section Purchase: User adds to cart. User completes checkout.",
"diagramType": "journey"
}
# Gantt chart with tasks from description
{
"description": "Project: Feature Development. Phase Planning: Research requirements. Design architecture. Phase Development: Implement backend. Create frontend. Phase Testing: QA validation.",
"diagramType": "gantt"
}
# Flowchart with custom direction
{
"description": "Receive request. Validate input. Process data. Return response.",
"diagramType": "flowchart",
"direction": "LR"
}
Memory Context Optimizer β Optimize prompt caching and context window usage
Usage: memory-context-optimizer
Parameter | Required | Description |
---|---|---|
contextContent |
β | Context content to optimize |
maxTokens |
β | Maximum token limit |
cacheStrategy |
β | Strategy: aggressive , conservative , balanced |
Sprint Timeline Calculator β Calculate optimal development cycles and sprint timelines
Usage: sprint-timeline-calculator
Parameter | Required | Description |
---|---|---|
tasks |
β | List of tasks with estimates |
teamSize |
β | Number of team members |
sprintLength |
β | Sprint length in days |
velocity |
β | Team velocity (story points per sprint) |
Model Compatibility Checker β Recommend best AI models for specific tasks
Usage: model-compatibility-checker
Parameter | Required | Description |
---|---|---|
taskDescription |
β | Description of the task |
requirements |
β | Specific requirements (context length, multimodal, etc.) |
budget |
β | Budget constraints: low , medium , high |
Guidelines Validator β Validate development practices against established guidelines
Usage: guidelines-validator
Parameter | Required | Description |
---|---|---|
practiceDescription |
β | Description of the development practice |
category |
β | Category: prompting , code-management , architecture , visualization , memory , workflow |
- Node.js 20+ required (see
engines
inpackage.json
). - Tools are exposed by the MCP server and discoverable via client schemas.
- Mermaid diagrams render client-side (Markdown preview). No server rendering.
- Package version:
0.7.0
(matches internal resource versions). - Tags
vX.Y.Z
trigger CI for NPM and Docker releases. - Pin exact versions for production stability.
Use the Release Setup Issue Form to streamline the release process:
- Automated version management: Update version numbers across the codebase
- GitHub Copilot compatible: Structured form enables bot automation
- Quality gates: Pre-release checklist ensures reliability
- CI/CD integration: Supports existing NPM and Docker publishing workflow
To create a new release, open a release setup issue with the target version and release details.
Prerequisites:
- Node.js 20+
- npm 10+
Setup:
git clone https://github.com/Anselmoo/mcp-ai-agent-guidelines.git
cd mcp-ai-agent-guidelines
npm install
npm run build
npm start
Project structure:
/src - TypeScript source (tools, resources, server)
/tests - Test files and utilities
/scripts - Shell scripts and helpers
/demos - Demo scripts and generated artifacts
/.github - CI and community health files
Testing and quality:
npm run test:unit # Unit tests
npm run test:integration # Integration tests
npm run test:demo # Demo runner
npm run test:mcp # MCP smoke script
npm run test:coverage:unit # Unit test coverage (text-summary, lcov, html)
npm run quality # Type-check + Biome check
This project uses Lefthook for fast, reliable Git hooks that enforce code quality and security standards.
Mandatory for GitHub Copilot Agent: All quality gates must pass before commits and pushes.
Setup (automatic via npm install
):
npm run hooks:install # Install lefthook git hooks
npm run hooks:uninstall # Remove lefthook git hooks
npx lefthook run pre-commit # Run pre-commit checks manually
npx lefthook run pre-push # Run pre-push checks manually
Pre-commit hooks (fast, parallel execution):
- π Security: Gitleaks secret detection
- π¨ Code Quality: Biome formatting & linting
- π· Type Safety: TypeScript type checking
- π§Ή Code Hygiene: Trailing whitespace & EOF fixes
Pre-push hooks (comprehensive validation):
- π§ͺ Testing: Full test suite (unit, integration, demo, MCP)
- β‘ Quality: Type checking + Biome validation
Why Lefthook?
- β‘ Fast: Written in Go, parallel execution
- π Reliable: Better error handling than pre-commit
- π€ CI Integration: Mandatory quality gates for GitHub Copilot Agent
- π Simple: Single YAML configuration file
Configuration: lefthook.yml
- CI publishes a coverage summary in the jobβs Summary and uploads
coverage/
as an artifact. - Coverage is also uploaded to Codecov on Node 22 runs; see the badge above for status.
# Run with Docker
docker run -p 3000:3000 ghcr.io/anselmoo/mcp-ai-agent-guidelines:latest
# Build locally
docker build -t mcp-ai-agent-guidelines .
docker run -p 3000:3000 mcp-ai-agent-guidelines
VS Code + Docker settings:
{
"mcp": {
"servers": {
"mcp-ai-agent-guidelines": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/anselmoo/mcp-ai-agent-guidelines:latest"
]
}
}
}
}
- No secrets committed; releases use provenance where supported.
- Docker images are signed (Cosign); supplyβchain security via Sigstore.
- Report vulnerabilities via GitHub Security tab or Issues.
- MCP Specification: https://modelcontextprotocol.io/
- Tools implementation: see
src/tools/
in this repo. - Generated examples: see
demos/
and links above.
Contributions welcome. Please see CONTRIBUTING.md. Keep changes typed, linted, and include tests when behavior changes.
MIT Β© Anselmoo β see LICENSE.
- Model Context Protocol team for the spec
- Anthropic for prompt caching research
- Mermaid community for diagram tooling