Vadimber2

MCP Prompt Template Selector

Community Vadimber2
Updated

MCP Prompt Template Selector

AI-powered prompt template selection and generation for Claude Code

Installation • Quick Start • Usage • API • Examples

MCP server that automatically selects and generates specialized prompts from a knowledge base of 66+ Claude Code system prompts. Uses LLM-powered semantic search to find the best matching template and adapts it to your specific task.

Features

  • Smart Template Selection — Semantic search across 66+ prompt templates using Claude Haiku
  • Adaptive Generation — Returns original template when it fits, customizes when adaptation is needed
  • Custom Templates — Add your own templates with priority over built-in ones
  • Dual Transport — Works via stdio (local) or HTTP (server deployment)
  • Zero Config — Templates auto-sync from claude-code-system-prompts

Requirements

  • Bun v1.0+
  • Anthropic API key

Installation

# Clone the repository
git clone https://github.com/YOUR_USERNAME/mcp-prompt-tool.git
cd mcp-prompt-tool

# Install dependencies
bun install

# Configure API key
echo "ANTHROPIC_API_KEY=your-api-key-here" > .env

Quick Start

Connect to Claude Code (recommended)

Add MCP server to Claude Code via command line:

claude mcp add --transport stdio prompt-template-selector -- bun run /path/to/mcp-prompt-tool/src/index.ts

Verify connection:

claude mcp list

Then in Claude Code use /mcp to see available tools.

Alternative: Run as HTTP server

bun run start:http
# Server runs at http://localhost:3000

Usage

Once connected, you have 4 tools available in Claude Code:

list_templates

Browse available templates:

list_templates category:agent
list_templates search:"code review"

select_template

Find best matching template for your task:

select_template task_description:"I need to review GitHub PRs"

generate_prompt

Generate a ready-to-use prompt:

generate_prompt task_description:"Agent for Python code refactoring" context:"Django, async migration"

sync_templates

Update templates from GitHub:

sync_templates force_reindex:true

Examples

Example 1: Code Review Agent

Request:

{
  "task_description": "Агент для code review Pull Request на GitHub",
  "prompt_type": "agent"
}

Result: Returns the original agent-prompt-review-pr-slash-command template as-is, since it's a perfect match.

You are an expert code reviewer. Follow these steps:

1. If no PR number is provided in the args, use ${BASH_TOOL_OBJECT.name}("gh pr list") to show open PRs
2. If a PR number is provided, use ${BASH_TOOL_OBJECT.name}("gh pr view <number>") to get PR details
3. Use ${BASH_TOOL_OBJECT.name}("gh pr diff <number>") to get the diff
4. Analyze the changes and provide a thorough code review...

Example 2: Custom Task with Adaptation

Request:

{
  "task_description": "Agent for legacy Python code analysis and migration to Python 3.12 async/await",
  "prompt_type": "agent",
  "context": "Django project with synchronous callbacks"
}

Result: Adapts the agent-prompt-plan-mode-enhanced template with Django/async specifics:

You are a Python code modernization specialist for legacy Django projects.
Your role is to analyze and plan refactoring of synchronous callback-based
code with migration to Python 3.12 and async/await patterns.

=== CRITICAL: READ-ONLY MODE ===
...

## Your Process
1. **Understand Requirements**: Focus on the legacy code patterns...
2. **Explore Thoroughly**: Find callback-based patterns and synchronous code...
3. **Design Solution**: Plan async context manager and async generator migrations...

Example 3: Listing Agent Templates

Request:

{
  "category": "agent",
  "search": "security"
}

Result:

{
  "total_count": 2,
  "templates": [
    {
      "name": "agent-prompt-security-review-slash",
      "purpose": "Conduct focused security reviews of code changes",
      "complexity": "complex"
    },
    {
      "name": "agent-prompt-bash-command-prefix-detection",
      "purpose": "Detecting command injection attacks",
      "complexity": "complex"
    }
  ]
}

Template Categories

Category Count Examples
agent 28 PR review, code exploration, security audit
system 10 Base behavior, plan mode, configuration
tool 19 Bash, Read, Edit, Grep tool descriptions
reminder 3 Plan mode reminders
skill 5 GitHub integration, specialized skills

Custom Templates

Add your own templates to custom-templates/ directory:

custom-templates/
├── my-agent.md           # Your custom prompt
└── metadata.json         # Optional: category, tags, priority

metadata.json:

{
  "templates": {
    "my-agent": {
      "category": "agent",
      "tags": ["custom", "specialized"],
      "priority": 10
    }
  }
}

Custom templates are prioritized over built-in ones during selection.

API Reference

Tools

Tool Description Required Params
list_templates List/search templates
select_template Find matching templates task_description
generate_prompt Generate customized prompt task_description
sync_templates Sync from GitHub

Parameters

list_templates:

  • category: agent | system | tool | reminder | skill | any
  • search: Text search query
  • include_custom: Include custom templates (default: true)

select_template / generate_prompt:

  • task_description: What you need the prompt for
  • prompt_type: Filter by category
  • context: Additional context for adaptation
  • target_llm: Target model (default: Claude)
  • max_results: Max templates to consider (default: 3)

sync_templates:

  • force_reindex: Re-index all templates (default: false)

Configuration

Environment Variables

Variable Description Default
ANTHROPIC_API_KEY Anthropic API key
PORT HTTP server port 3000

Claude Code Integration

Global config (~/.claude.json):

{
  "mcpServers": {
    "prompt-template-selector": {
      "command": "bun",
      "args": ["run", "/path/to/mcp-prompt-tool/src/index.ts"]
    }
  }
}

Project config (.mcp.json in project root):

{
  "mcpServers": {
    "prompt-template-selector": {
      "type": "stdio",
      "command": "bun",
      "args": ["run", "/path/to/mcp-prompt-tool/src/index.ts"]
    }
  }
}

Development

# Run in stdio mode (default)
bun run start

# Run as HTTP server
bun run start:http

# Development with watch
bun run dev

# Run tests
bun test

# Type check
bun run typecheck

Project Structure

mcp-prompt-tool/
├── src/
│   ├── index.ts                 # Entry point (stdio/http)
│   ├── tools/                   # MCP tool implementations
│   │   ├── list-templates.ts
│   │   ├── select-template.ts
│   │   ├── generate-prompt.ts
│   │   └── sync-templates.ts
│   ├── services/                # Business logic
│   │   ├── template-loader.ts   # GitHub repo sync
│   │   ├── template-indexer.ts  # LLM-powered indexing
│   │   ├── prompt-generator.ts  # Selection & generation
│   │   └── custom-templates.ts  # User templates
│   └── types/
│       └── index.ts
├── templates/                   # Cached template index
├── custom-templates/            # User custom templates
├── tests/
├── .env                         # API key (git-ignored)
└── package.json

How It Works

  1. Sync: Clones/pulls claude-code-system-prompts
  2. Index: Uses Claude Haiku to extract metadata from each template
  3. Select: Semantic search finds best matching templates for your task
  4. Generate: Returns original or adapts template based on match quality

License

MIT

Credits

MCP Server · Populars

MCP Server · New

    JoasASantos

    Offensive-MCP-AI

    MCP Server

    Community JoasASantos
    symgraph

    GhidrAssistMCP

    An MCP extension for Ghidra

    Community symgraph
    l33tdawg

    (S)AGE — Sovereign Agent Governed Experience

    (S)AGE - (Sovereign) Agent Governed Experience

    Community l33tdawg
    AsifKabirAntu

    Figsor

    Figsor is an MCP server that bridges Cursor to Figma, enabling chat-driven design creation and editing - directly on your Figma canvas.

    Community AsifKabirAntu
    ForLoopCodes

    Context+

    Semantic Intelligence for Large-Scale Engineering. Context+ is an MCP server designed for developers who demand 99% accuracy. By combining RAG, Tree-sitter AST, Spectral Clustering, and Obsidian-style linking, Context+ turns a massive codebase into a searchable, hierarchical feature graph.

    Community ForLoopCodes