MCP Prompt Manager
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 Managersearch prompts about email templates"
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 Manager
Certified by MCP Review
This project is officially certified by MCP 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.
Key Features
Core Features
List all prompts
Retrieve specific prompt content
Create new prompts
Update prompt content
Delete prompts
Advanced Features
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 conditionalsTemplate 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
Installation
Prerequisites
Node.js v18 or higher
npm
Installation Steps
Clone the repository
git clone https://github.com/Tae4an/mcp-prompt-manager.git cd mcp-prompt-managerInstall dependencies
npm installGrant execution permissions
chmod +x server.js
Containerized Run
Run with Docker
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:localRun with Docker Compose
docker compose up -d --buildEnvironment variables
PROMPTS_DIR: Directory to store prompts (default: project
prompts)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 presets:
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
Policy/permissions:
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
Connecting to Claude Desktop
Install Claude Desktop (if not already installed)
Open Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%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"] } } }Example:
{ "mcpServers": { "promptManager": { "command": "node", "args": ["/Users/username/projects/mcp-prompt-manager/server.js"] } } }Restart Claude Desktop
Usage
In Claude Desktop, click the tools icon (🛠️) to access the following MCP tools:
Core Tools
list-prompts
Retrieves a list of all prompts.
Parameters: None
get-prompt
Retrieves the content of a specific prompt.
Parameters:
filename- Name of the prompt file to retrieve
create-prompt
Creates a new prompt.
Parameters:
filename- Name of the prompt file to create (e.g., my-prompt.txt)content- Prompt content
update-prompt
Updates the content of an existing prompt.
Parameters:
filename- Name of the prompt file to updatecontent- New prompt content
delete-prompt
Deletes a prompt (automatically removes associated metadata).
Parameters:
filename- Name of the prompt file to delete
Advanced Tools
search-prompts
Advanced fuzzy search prompts by filename or content with intelligent ranking.
Parameters:
query- Search query stringsearchInContent- (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)
tag-prompt
Add tags to a prompt for better organization.
Parameters:
filename- Name of the prompt file to tagtags- Array of tag strings
categorize-prompt
Set a category for a prompt.
Parameters:
filename- Name of the prompt file to categorizecategory- Category name string
list-by-category
List prompts organized by category.
Parameters:
category- (Optional) Specific category to filter by
process-template
Process a prompt template with variable substitution.
Parameters:
filename- Name of the template prompt filevariables- Object with variable names as keys and replacement values as values
Note: Use
{{variable}}format in templates
list-template-variables
List all variables found in a template prompt.
Parameters:
filename- Name of the template prompt file to analyze
favorite-prompt
Add or remove a prompt from favorites.
Parameters:
filename- Name of the prompt fileaction- Either "add" or "remove"
list-favorites
List all favorite prompts with detailed information.
Parameters: None
Version Management Tools
list-prompt-versions
List all versions of a specific prompt with timestamps and actions.
Parameters:
filename- Name of the prompt file to get version history for
compare-prompt-versions
Compare two versions of a prompt and show detailed differences.
Parameters:
filename- Name of the prompt file to comparefromVersion- Source version number to compare fromtoVersion- Target version number to compare to
rollback-prompt
Rollback a prompt to a specific previous version.
Parameters:
filename- Name of the prompt file to rollbackversion- Version number to rollback to
get-prompt-version
Get the content of a specific version of a prompt.
Parameters:
filename- Name of the prompt fileversion- Version number to retrieve
get-prompt-version-stats
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
Template Library Tools
The built-in template library includes 12 professional templates across 5 categories:
Available Template 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-template-categories
List all available template categories with descriptions and template counts.
Parameters: None
list-templates-by-category
List all templates in a specific category.
Parameters:
categoryId- Category ID to list templates from
get-template-details
Get detailed information about a specific template including variables and usage.
Parameters:
templateId- Template ID (format: category.template-name)
search-templates
Search through the template library using fuzzy matching.
Parameters:
query- Search query stringcategory- (Optional) Filter by specific categorytags- (Optional) Array of tags to filter bylimit- (Optional) Maximum number of results (default: 10)
render-template
Render a template with provided variables and get the processed content.
Parameters:
templateId- Template ID to rendervariables- Object with variable names and valuessanitizeOutput- (Optional) Enable output sanitization (default: true)
validate-template
Validate template syntax and check for potential issues.
Parameters:
templateId- Template ID to validate
get-popular-templates
Get list of most popular templates based on usage patterns.
Parameters:
limit- (Optional) Number of templates to return (default: 5)
get-related-templates
Get templates related to a specific template based on tags and categories.
Parameters:
templateId- Template ID to find related templates forlimit- (Optional) Number of related templates (default: 3)
get-template-library-stats
Get comprehensive statistics about the template library.
Parameters: None
create-prompt-from-template
Create a new prompt file using a template with variable substitution.
Parameters:
templateId- Template ID to usefilename- Name for the new prompt filevariables- Object with template variablesaddMetadata- (Optional) Add template metadata to file (default: true)
Import/Export Tools
export-prompts
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 promptsfilterByCategory- (Optional) Category to filter promptscompress- (Optional) Compress export data (default: false)
import-prompts
Import prompts from JSON format with validation and conflict resolution.
Parameters:
importData- Import data object in export formatoverwriteExisting- (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-status
Get import/export system status and capabilities.
Parameters: None
Operations/Monitoring Tools
get-server-stats
Get process/server runtime stats (uptime, memory, policy flags, cache info).
Parameters: None
get-policy-status
Get current policy/permission flags derived from environment variables.
Parameters: None
get-cache-stats
Read cache statistics for files/metadata/search/templates (size, hit/miss, memory usage).
Parameters: None
get-rate-limit-status
Get current rate limiter stats for standard/strict/upload presets.
Parameters: None
Technical Features
Security & Performance
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
Advanced Template Engine
Conditional Logic: Support for
{{#if}},{{#unless}},{{#each}}constructsLoop 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
Fuzzy Search Algorithms
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
Data Management
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
Advanced Configuration
Changing Prompt Storage Path
By default, prompts are stored in the prompts folder in the directory where the server file is located. You can change the path using environment variables:
PROMPTS_DIR=/desired/path node server.jsOr set environment variables in claude_desktop_config.json:
{
"mcpServers": {
"promptManager": {
"command": "node",
"args": ["/absolute/path/mcp-prompt-manager/server.js"],
"env": {
"PROMPTS_DIR": "/desired/path"
}
}
}
}Examples
Basic Usage
Creating a new prompt:
Tool:
create-promptFilename:
greeting.txtContent:
You are a friendly and helpful AI assistant. Please respond politely to user questions.
Listing prompts:
Tool:
list-prompts
Retrieving prompt content:
Tool:
get-promptFilename:
greeting.txt
Advanced Usage
Creating a template prompt:
Tool:
create-promptFilename:
email-template.txtContent:
Dear {{name}}, Thank you for your interest in {{product}}. Best regards, {{sender}}
Processing a template:
Tool:
process-templateFilename:
email-template.txtVariables:
{"name": "John", "product": "MCP Server", "sender": "Support Team"}
Organizing prompts:
Tool:
categorize-promptFilename:
greeting.txtCategory:
customer-serviceTool:
tag-promptFilename:
greeting.txtTags:
["polite", "professional", "greeting"]
Searching prompts:
Tool:
search-promptsQuery:
assistantSearchInContent:
true
Managing favorites:
Tool:
favorite-promptFilename:
greeting.txtAction:
add
Version Management Usage
Viewing version history:
Tool:
list-prompt-versionsFilename:
greeting.txt
Comparing versions:
Tool:
compare-prompt-versionsFilename:
greeting.txtFromVersion:
1ToVersion:
3
Rolling back to a previous version:
Tool:
rollback-promptFilename:
greeting.txtVersion:
2
Getting version statistics:
Tool:
get-prompt-version-statsFilename:
greeting.txt
Template Library Usage
Browsing template categories:
Tool:
list-template-categories
Using a template:
Tool:
render-templateTemplateId:
coding.code-reviewVariables:
{"code": "function hello() { console.log('Hello'); }", "language": "javascript"}
Creating prompt from template:
Tool:
create-prompt-from-templateTemplateId:
writing.meeting-minutesFilename:
weekly-standup.txtVariables:
{"meeting_title": "Weekly Standup", "date": "2024-08-04", "attendees": "Team Alpha"}
Searching templates:
Tool:
search-templatesQuery:
code reviewCategory:
coding
Import/Export Usage
Exporting prompts for backup:
Tool:
export-promptsIncludeMetadata:
trueIncludeVersionHistory:
falseFilterByTags:
["important", "production"]
Importing prompts from backup:
Tool:
import-promptsImportData:
{exported data object}CreateBackup:
trueOverwriteExisting:
false
Checking import/export status:
Tool:
get-import-export-status
Advanced Search Usage
Fuzzy search with parameters:
Tool:
search-promptsQuery:
custmer servce(intentional typos)SearchInContent:
trueThreshold:
0.6Limit:
15
Troubleshooting
If the MCP server doesn't connect
Verify that the server file path is correct
Check that the server has execution permissions
Ensure Node.js version is v18 or higher
If tools don't appear
Try restarting Claude Desktop
Verify that the
claude_desktop_config.jsonfile is configured correctly
File access permission issues
Ensure you have read/write permissions for the prompts directory
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
If you encounter any issues or have questions, please open an issue on the GitHub repository.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tae4an/mcp-prompt-manager'
If you have feedback or need assistance with the MCP directory API, please join our Discord server