The MCP Prompts Server is a tool for managing and applying AI prompts and templates with robust storage and orchestration capabilities. With this server, you can:
Store and retrieve prompts: Add new prompts with metadata and retrieve them by ID
Create and manage templates: Define templates with variables for consistent prompting
Apply variables to templates: Dynamically fill templates with specific values
Filter and sort prompts: List prompts by tags, category, or search terms with pagination
Update and delete prompts: Modify or remove existing prompts
Access multiple storage backends: Use file storage, PostgreSQL, or MDC format
Integrate with AI tools: Seamlessly work with platforms like Claude
Project orchestration: Manage complex AI systems and workflows
Support multi-format prompts: Work with JSON, MDC, PGAI, and Template formats
Health check endpoints: Monitor system status
Supports deployment using Docker and Docker Compose for containerized deployment
Built on Node.js with support for Node.js 18 or later
Provides integration with PostgreSQL databases for storing prompts, with export/import functionality and synchronization between file storage and database
Built using TypeScript, as indicated by the project structure and build process
MCP Prompts Server
A robust, extensible MCP (Model Context Protocol) server for managing, versioning, and serving prompts and templates for LLM applications with AWS integration.
Features • Installation • Quick Start • Configuration • API • Tools • Docker
Overview
MCP Prompts is a production-ready server that implements the Model Context Protocol (MCP) to provide intelligent prompt management, template systems, and AI-powered workflows. It supports multiple storage backends including in-memory, file-based, and AWS services (DynamoDB, S3, SQS).
Key Capabilities
Prompt Management: Create, read, update, delete, and version prompts
Template System: Variable substitution with type validation
Search & Discovery: Tag-based filtering and full-text search
Access Control: Role-based access with subscription tiers
AWS Integration: Native DynamoDB, S3, and SQS support
Rate Limiting: Configurable per-user and per-tier limits
Subscription Management: Stripe integration for payments
Multi-Mode: Run as MCP server (stdio) or HTTP REST API
Docker Support: Multiple deployment configurations
Related MCP server: PromptLab MCP Server
Features
Core Features
✅ MCP Protocol Support: Full implementation of MCP 1.18 specification
🔧 Multiple Storage Backends: Memory, File System, AWS (DynamoDB/S3)
📝 Prompt Templates: Advanced variable substitution and validation
🔍 Advanced Search: Category, tag, and content-based search
🔒 Security: Helmet, CORS, rate limiting, and authentication
📊 Monitoring: CloudWatch metrics and structured logging
💳 Payment Processing: Stripe integration with webhook support
🌐 REST API: Optional HTTP server mode for web integrations
🐳 Docker Ready: Multiple Dockerfile variants for different use cases
MCP Tools
The server exposes the following MCP tools:
Prompt Management Tools
add_prompt- Create a new prompt with metadataget_prompt- Retrieve a prompt by IDlist_prompts- List all prompts with optional filteringupdate_prompt- Update an existing promptdelete_prompt- Delete a promptapply_template- Apply variables to a prompt templateget_stats- Get statistics about stored prompts
Template System
Templates support variable substitution with the {{variableName}} syntax:
Installation
NPM Package
Global CLI
Docker
Quick Start
As MCP Server (stdio)
Add to your MCP client configuration (e.g., Claude Desktop):
Or using Docker:
As HTTP Server
Using CLI
Configuration
Environment Variables
Core Settings
AWS Configuration (when using AWS storage)
Payment Integration (Optional)
Storage Backends
Memory Storage (Default)
Best for development and testing:
AWS Storage
Production-ready with DynamoDB and S3:
File Storage
Persistent local storage:
API
HTTP Endpoints (when MODE=http)
Health & Status
Prompts API
Slash Commands
Subscriptions & Payments
Example API Usage
Create a Prompt
List Prompts
Apply Template
Available Tools
MCP Tools Reference
When connected to an MCP client, the following tools are available:
add_prompt
Create a new prompt.
Parameters:
name(string, required): Prompt namecontent(string, required): Prompt content/templateisTemplate(boolean): Whether this is a templatetags(array): Tags for categorizationvariables(array): Template variables definitionmetadata(object): Additional metadata
get_prompt
Retrieve a specific prompt by ID.
Parameters:
id(string, required): Prompt ID
list_prompts
List all prompts with optional filtering.
Parameters:
tags(array, optional): Filter by tagssearch(string, optional): Search term
update_prompt
Update an existing prompt.
Parameters:
id(string, required): Prompt IDupdates(object, required): Fields to update
delete_prompt
Delete a prompt.
Parameters:
id(string, required): Prompt ID
apply_template
Apply variables to a prompt template.
Parameters:
id(string, required): Template IDvariables(object, required): Variable values
get_stats
Get statistics about stored prompts.
Returns:
Total prompts count
Templates count
Regular prompts count
Available tags
Available categories
Docker
Available Images
Docker Compose
Build from Source
Development
Prerequisites
Node.js 18+ or compatible runtime
pnpm 8+ (or npm/yarn)
Docker (optional)
AWS CLI (for AWS deployments)
Setup
Project Structure
AWS Deployment
Using AWS CDK
Manual Deployment
Required AWS Resources
DynamoDB table for prompts storage
S3 bucket for catalog and artifacts
SQS queue for async processing
Lambda functions for serverless execution
API Gateway for HTTP endpoints
CloudWatch for monitoring
Cognito for authentication (optional)
Sample Prompts
The server includes several sample prompts:
Code Review Assistant: Comprehensive code review template
Documentation Writer: Technical documentation generator
Bug Analyzer: Bug report analysis and investigation
Architecture Reviewer: System architecture evaluation
Test Case Generator: Automated test case creation
Monitoring & Observability
Logging
Structured JSON logging with pino:
Metrics (AWS)
CloudWatch metrics for:
Request rates
Error rates
Latency
Prompt usage
Template applications
Health Checks
Security
Best Practices
✅ Runs as non-root user in Docker
✅ Helmet middleware for HTTP security headers
✅ CORS configuration
✅ Rate limiting per user/tier
✅ Input validation with Zod
✅ AWS IAM roles for production
✅ Secrets management via environment variables
✅ Regular dependency updates
Authentication
The HTTP server supports authentication via:
Bearer tokens in Authorization header
API Gateway Cognito authorizer (AWS)
Custom authentication middleware
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
How to Contribute
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
Troubleshooting
Common Issues
MCP server not starting
Check that no other process is using stdio
Verify Node.js version (18+ required)
Check logs:
LOG_LEVEL=debug mcp-prompts start
HTTP server connection refused
Verify port is not in use:
lsof -i :3000Check firewall settings
Ensure MODE=http is set
AWS connection failures
Verify AWS credentials:
aws sts get-caller-identityCheck IAM permissions for DynamoDB, S3, SQS
Confirm region is correct
Template variables not substituting
Ensure template has
isTemplate: trueVerify variable names match (case-sensitive)
Check variable syntax:
{{variableName}}
License
MIT License - see LICENSE file for details.
Copyright (c) 2024 Sparre Sparrow
Support
📧 Email: support@sparesparrow.com
Resources
Acknowledgments
Built with:
Made with ❤️ by the MCP Community