Automatically synchronizes prompt templates from GitHub repositories and includes specialized agents for GitHub workflows such as pull request reviews and repository exploration.
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., "@MCP Prompt Template Selectorfind the best template for reviewing github pull requests"
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.
MCP Prompt Template Selector
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" > .envQuick 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.tsVerify connection:
claude mcp listThen in Claude Code use /mcp to see available tools.
Alternative: Run as HTTP server
bun run start:http
# Server runs at http://localhost:3000Usage
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:trueExamples
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 |
| 28 | PR review, code exploration, security audit |
| 10 | Base behavior, plan mode, configuration |
| 19 | Bash, Read, Edit, Grep tool descriptions |
| 3 | Plan mode reminders |
| 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, prioritymetadata.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/search templates | — |
| Find matching templates |
|
| Generate customized prompt |
|
| Sync from GitHub | — |
Parameters
list_templates:
category:agent|system|tool|reminder|skill|anysearch: Text search queryinclude_custom: Include custom templates (default: true)
select_template / generate_prompt:
task_description: What you need the prompt forprompt_type: Filter by categorycontext: Additional context for adaptationtarget_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 | — |
| 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 typecheckProject 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.jsonHow It Works
Sync: Clones/pulls claude-code-system-prompts
Index: Uses Claude Haiku to extract metadata from each template
Select: Semantic search finds best matching templates for your task
Generate: Returns original or adapts template based on match quality
License
MIT
Credits
Templates from Piebald-AI/claude-code-system-prompts
Built with Model Context Protocol SDK