MCP Prompt Manager

by tae4an

Not rated
GitHub

About

A server for managing local prompt files, allowing AI models to create, retrieve, update, and delete them.

Details

Author
tae4an
Categories
Productivity

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
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.