MCP Prompt Manager
About
A server for managing local prompt files, allowing AI models to create, retrieve, update, and delete them.
Details
- Author
- tae4an
- Categories
- Productivity
Jump to
Setup
Install MCP Prompt Manager in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/tae4an/mcp-prompt-manager
Follow the installation instructions in the repository README, then restart your MCP client.
This project is officially certified byMCP Review.
MCP (Model Context Protocol) Prompt Manager is a server that enables AI models like Claude to access local prompt files. It provides functionality for creating, retrieving, updating, and deleting prompts, allowing efficient management of frequently used prompts.
- List all prompts
- Retrieve specific prompt content
- Create new prompts
- Update prompt content
- Delete prompts
- Intelligent Search: Advanced fuzzy search with multiple algorithms (Levenshtein, Jaro-Winkler, n-gram similarity)
- Category & Tag System: Organize prompts with categories and tags
- Template Processing: Use variable substitution with{{variable}}syntax and advanced conditionals
- Template Library: Built-in template library with 12 professional templates across 5 categories
- Favorites Management: Mark frequently used prompts as favorites
- Metadata Management: Automatic metadata tracking for enhanced organization
- Version Management: Complete version control with history tracking, diff comparison, and rollback capabilities
- Import/Export System: Backup and restore prompts with JSON format, including metadata and version history
- Security & Validation: Comprehensive input sanitization, rate limiting, and error handling
- Caching System: Intelligent caching for improved performance
- Structured Logging: Advanced logging with multiple levels and file output
git clone https://github.com/Tae4an/mcp-prompt-manager.git cd mcp-prompt-manager
docker build -t mcp-prompt-manager:local . docker run --rm \ -e NODE_ENV=production \ -e LOG_DIR=/var/log/mcp \ -e PROMPTS_DIR=/data/prompts \ -v $(pwd)/prompts:/data/prompts \ -v $(pwd)/logs:/var/log/mcp \ mcp-prompt-manager:local
- PROMPTS_DIR: Directory to store prompts (default: projectprompts)
- LOG_DIR: Directory for file logging (default:./logs)
- Cache TTL/size:
- FILE_CACHE_TTL, FILE_CACHE_MAX_SIZE
- SEARCH_CACHE_TTL, SEARCH_CACHE_MAX_SIZE
- METADATA_CACHE_TTL, METADATA_CACHE_MAX_SIZE
- TEMPLATE_CACHE_TTL, TEMPLATE_CACHE_MAX_SIZE
- RATE_LIMIT_STANDARD_WINDOW_MS, RATE_LIMIT_STANDARD_MAX
- RATE_LIMIT_STRICT_WINDOW_MS, RATE_LIMIT_STRICT_MAX
- RATE_LIMIT_LENIENT_WINDOW_MS, RATE_LIMIT_LENIENT_MAX
- RATE_LIMIT_UPLOAD_WINDOW_MS, RATE_LIMIT_UPLOAD_MAX
- READ_ONLY (true/false): disable write operations
- DISABLE_IMPORT (true/false): block import
- DISABLE_EXPORT (true/false): block export
- DISABLE_VERSION_ROLLBACK (true/false): block rollback
-
Install Claude Desktop (if not already installed)
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json
Add the following content to the configuration file:
{ "mcpServers": { "promptManager": { "command": "node", "args": ["absolute_path_to_cloned_repository/server.js"] } } }
{ "mcpServers": { "promptManager": { "command": "node", "args": ["/Users/username/projects/mcp-prompt-manager/server.js"] } } }
In Claude Desktop, click the tools icon (🛠️) to access the following MCP tools:
Retrieves the content of a specific prompt.
- Parameters:filename- Name of the prompt file to retrieve
- Parameters:
- filename- Name of the prompt file to create (e.g., my-prompt.txt)
- content- Prompt content
Updates the content of an existing prompt.
- Parameters:
- filename- Name of the prompt file to update
- content- New prompt content
Deletes a prompt (automatically removes associated metadata).
- Parameters:filename- Name of the prompt file to delete
Advanced fuzzy search prompts by filename or content with intelligent ranking.
- Parameters:
- query- Search query string
- searchInContent- (Optional) Boolean to search within prompt content (default: false)
- limit- (Optional) Maximum number of results to return (default: 10)
- threshold- (Optional) Minimum similarity threshold (0.0-1.0, default: 0.3)
Add tags to a prompt for better organization.
- Parameters:
- filename- Name of the prompt file to tag
- tags- Array of tag strings
- Parameters:
- filename- Name of the prompt file to categorize
- category- Category name string
- Parameters:
- category- (Optional) Specific category to filter by
Process a prompt template with variable substitution.
- Parameters:
- filename- Name of the template prompt file
- variables- Object with variable names as keys and replacement values as values
List all variables found in a template prompt.
- Parameters:
- filename- Name of the template prompt file to analyze
- Parameters:
- filename- Name of the prompt file
- action- Either "add" or "remove"
List all favorite prompts with detailed information.
List all versions of a specific prompt with timestamps and actions.
- Parameters:
- filename- Name of the prompt file to get version history for
Compare two versions of a prompt and show detailed differences.
- Parameters:
- filename- Name of the prompt file to compare
- fromVersion- Source version number to compare from
- toVersion- Target version number to compare to
Rollback a prompt to a specific previous version.
- Parameters:
- filename- Name of the prompt file to rollback
- version- Version number to rollback to
Get the content of a specific version of a prompt.
- Parameters:
- filename- Name of the prompt file
- version- Version number to retrieve
Get statistics about a prompt's version history including total versions, actions breakdown, and size history.
- Parameters:
- filename- Name of the prompt file to get statistics for
The built-in template library includes 12 professional templates across 5 categories:
- 🖥️ Coding & Development(3 templates): Code review, debugging help, API documentation
- 🌐 Translation & Language(2 templates): Text translation, grammar checking
- 📝 Document Writing(2 templates): Document summarization, meeting minutes
- 📊 Analysis & Research(2 templates): SWOT analysis, competitive analysis
- 🎓 Education & Learning(3 templates): Lesson plans, quiz generation
List all available template categories with descriptions and template counts.
List all templates in a specific category.
- Parameters:
- categoryId- Category ID to list templates from
Get detailed information about a specific template including variables and usage.
- Parameters:
- templateId- Template ID (format: category.template-name)
Search through the template library using fuzzy matching.
- Parameters:
- query- Search query string
- category- (Optional) Filter by specific category
- tags- (Optional) Array of tags to filter by
- limit- (Optional) Maximum number of results (default: 10)
Render a template with provided variables and get the processed content.
- Parameters:
- templateId- Template ID to render
- variables- Object with variable names and values
- sanitizeOutput- (Optional) Enable output sanitization (default: true)
Validate template syntax and check for potential issues.
- Parameters:
- templateId- Template ID to validate
Get list of most popular templates based on usage patterns.
- Parameters:
- limit- (Optional) Number of templates to return (default: 5)
Get templates related to a specific template based on tags and categories.
- Parameters:
- templateId- Template ID to find related templates for
- limit- (Optional) Number of related templates (default: 3)
Get comprehensive statistics about the template library.
Create a new prompt file using a template with variable substitution.
- Parameters:
- templateId- Template ID to use
- filename- Name for the new prompt file
- variables- Object with template variables
- addMetadata- (Optional) Add template metadata to file (default: true)
Export prompts to JSON format for backup or sharing.
- Parameters:
- format- (Optional) Export format: "json" (default: json)
- includeMetadata- (Optional) Include metadata in export (default: true)
- includeVersionHistory- (Optional) Include version history (default: false)
- filterByTags- (Optional) Array of tags to filter prompts
- filterByCategory- (Optional) Category to filter prompts
- compress- (Optional) Compress export data (default: false)
Import prompts from JSON format with validation and conflict resolution.
- Parameters:
- importData- Import data object in export format
- overwriteExisting- (Optional) Overwrite existing files (default: false)
- skipDuplicates- (Optional) Skip duplicate files (default: true)
- validateChecksums- (Optional) Validate file checksums (default: true)
- createBackup- (Optional) Create backup before import (default: true)
- mergeMetadata- (Optional) Merge with existing metadata (default: true)
Get import/export system status and capabilities.
Get process/server runtime stats (uptime, memory, policy flags, cache info).
Get current policy/permission flags derived from environment variables.
Read cache statistics for files/metadata/search/templates (size, hit/miss, memory usage).
Get current rate limiter stats for standard/strict/upload presets.
- Input Sanitization: Comprehensive XSS and injection attack prevention
- Rate Limiting: Configurable rate limiting with sliding window algorithm
- Caching System: Multi-level LRU caching with TTL support for improved performance
- Error Handling: Advanced error recovery and logging system
- File Validation: SHA-256 checksums and integrity verification
- Conditional Logic: Support for{{#if}},{{#unless}},{{#each}}constructs
- Loop Processing: Iterate over arrays and objects in templates
- Function Calls: Built-in helper functions for formatting and processing
- Nested Variables: Support for complex object structures
- Error Recovery: Graceful handling of missing variables and malformed templates
- Levenshtein Distance: Character-based similarity matching
- Jaro-Winkler Distance: Optimized for prefix matching
- N-gram Similarity: Substring pattern matching
- Intelligent Ranking: Multi-factor scoring with customizable thresholds
- Highlighting: Search result highlighting for better user experience
- Version Control: Complete history tracking with diff comparison
- Metadata System: Automatic tagging, categorization, and favorites
- Backup System: Automated backup creation during import operations
- Export Formats: JSON with optional compression and filtering
- File Organization: Structured storage with hidden metadata directories
By default, prompts are stored in thepromptsfolder in the directory where the server file is located. You can change the path using environment variables:
PROMPTS_DIR=/desired/path node server.js
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



