@sparesparrow/mcp-prompts
v3.13.0
Published
A robust, extensible server for managing, versioning, and serving prompts and templates for LLM applications, built on the Model Context Protocol (MCP) with AWS integration
Maintainers
Readme
MCP-Prompts
A comprehensive collection of Model Context Protocol (MCP) prompt templates and tools for various AI-powered workflows and integrations.
Overview
MCP-Prompts is a repository designed to provide ready-to-use prompt templates and tools for working with the Model Context Protocol. This project includes various prompt templates, integration examples, and utilities to help developers quickly implement MCP-based solutions in their applications.
Features
- 📝 Curated Prompt Templates: Pre-built prompts for common use cases
- 🔧 MCP Tools Integration: Ready-to-use tool configurations
- 🚀 AWS Integration: Complete AWS deployment examples
- 📚 Comprehensive Documentation: Detailed guides and examples
- 🐳 Docker Support: Containerized deployments for various MCP servers
Available MCP Tools
This repository includes configurations and examples for the following MCP tools:
Core MCP Servers
- File System Server (
Dockerfile.file): Access and manage local file systems - Memory Server (
Dockerfile.memory): Persistent memory and state management - AWS Integration Server (
Dockerfile.aws): AWS services integration - Generic MCP Server (
Dockerfile.mcp): Base MCP server configuration
Tool Categories
- File Operations: Read, write, search, and manage files
- Memory Management: Store and retrieve conversation context
- Cloud Integration: AWS services (S3, Lambda, DynamoDB, etc.)
- Development Tools: Code analysis, testing, and deployment utilities
MCP 2025-06-18 Features
This server implements the latest MCP 2025-06-18 specification with enhanced features:
Cursor-Based Pagination
The list_prompts tool now supports cursor-based pagination for efficient handling of large prompt collections:
{
"method": "tools/call",
"params": {
"name": "list_prompts",
"arguments": {
"cursor": "eyJvZmZzZXQiOjUwLCJsaW1pdCI6NTB9",
"limit": 50
}
}
}Real-Time Notifications
Automatic notifications when the prompt list changes, enabling real-time synchronization:
{
"jsonrpc": "2.0",
"method": "notifications/prompts/list_changed",
"params": {}
}Enhanced Error Handling
Consistent error mapping between HTTP and MCP protocols with detailed error types and appropriate status codes.
Security Improvements
- File size limits (1MB max per prompt)
- Path traversal protection
- Content validation and sanitization
- Directory depth limits
Multimodal Prompts
This server supports the full MCP 2025-06-18 multimodal prompt specification. Prompts can include:
- Text — Plain text instructions
- Images — Base64-encoded images with MIME type
- Audio — Base64-encoded audio with MIME type
- Resources — External resources via URI with optional embedded content
Content Types
Text Content
{
"role": "user",
"content": {
"type": "text",
"text": "Analyze this code for security vulnerabilities"
}
}Image Content
{
"role": "user",
"content": {
"type": "image",
"data": "iVBORw0KGgoAAAANSUhEUgAAAAUA...",
"mimeType": "image/png"
}
}Supported image formats: PNG, JPEG, GIF, WebP
Audio Content
{
"role": "user",
"content": {
"type": "audio",
"data": "UklGRiQAAABXQVZFZm10IBAAAA...",
"mimeType": "audio/wav"
}
}Supported audio formats: WAV, MP3, OGG, FLAC
Resource Content
{
"role": "user",
"content": {
"type": "resource",
"resource": {
"uri": "file:///var/log/app.log",
"mimeType": "text/plain",
"text": "Optional embedded text content"
}
}
}Resources can reference files, URLs, or other addressable content.
Example: Multimodal Bug Analysis
{
"id": "analyze-bug-report",
"name": "analyze-bug-report",
"description": "Analyze bug with screenshot and logs",
"arguments": [
{ "name": "description", "required": true },
{ "name": "screenshotBase64", "required": false },
{ "name": "logFileUri", "required": false }
],
"messages": [
{
"role": "user",
"content": { "type": "text", "text": "{{description}}" }
},
{
"role": "user",
"content": {
"type": "image",
"data": "{{screenshotBase64}}",
"mimeType": "image/png"
}
},
{
"role": "user",
"content": {
"type": "resource",
"resource": {
"uri": "{{logFileUri}}",
"mimeType": "text/plain"
}
}
}
]
}Example: Composer Template Usage
The composer templates use a structured BRAINSTORM-COMPOSE-IMPROVE-ALT workflow:
{
"id": "article-composer",
"name": "Article Composer",
"description": "Create engaging articles with SEO optimization",
"arguments": [
{ "name": "topic", "description": "Article topic", "required": true },
{ "name": "goal", "description": "Article objective", "required": true },
{ "name": "targetAudience", "description": "Target readers", "required": true },
{ "name": "wordCount", "description": "Target word count", "required": false }
]
}Usage:
const result = await mcpClient.callTool("get_prompt", {
name: "article-composer",
arguments: {
topic: "The Future of AI Development",
goal: "Educate and inform",
targetAudience: "Software developers",
wordCount: 1500
}
});Using Multimodal Prompts
Via MCP:
const result = await mcpClient.callTool("get_prompt", {
name: "analyze-bug-report",
arguments: {
description: "App crashes on startup",
screenshotBase64: "iVBORw0KGgo...",
logFileUri: "file:///var/log/app.log"
}
});Via HTTP:
curl -X POST http://localhost:3000/v1/prompts/analyze-bug-report/apply \
-H "Content-Type: application/json" \
-d '{
"variables": {
"description": "App crashes on startup",
"screenshotBase64": "iVBORw0KGgo...",
"logFileUri": "file:///var/log/app.log"
}
}'References
Existing Templates
The repository includes several prompt template categories:
1. Development & Coding
- Code review and analysis prompts
- Debugging assistance templates
- Documentation generation guides
- Testing strategy prompts
2. AWS Integration
- Infrastructure as Code (CDK) templates
- Serverless deployment prompts
- AWS service configuration guides
- Monitoring and logging setups
3. Data Processing
- Data transformation prompts
- Analysis and reporting templates
- ETL pipeline configurations
4. System Administration
- Docker containerization guides
- CI/CD pipeline templates
- Environment configuration prompts
5. Composer Templates
- Generic Composer (
generic-composer-v1): Flexible content creation system using BRAINSTORM-COMPOSE-IMPROVE-ALT protocol - Article Composer (
article-composer): Specialized for journalistic and blog content creation - CV/Resume Composer (
cv-resume-composer): ATS-optimized resume and career document creation - Technical Documentation Composer (
technical-docs-composer): Comprehensive technical docs with code examples - Marketing Copy Composer (
marketing-copy-composer): Persuasive marketing content with conversion optimization
How to Use
Quick Start
Clone the repository:
git clone https://github.com/sparesparrow/mcp-prompts.git cd mcp-promptsExplore available templates:
ls -la examples/ ls -la data/Choose your integration method:
- Use Docker containers for quick deployment
- Configure MCP tools directly in your application
- Adapt templates to your specific needs
Using Docker Containers
Each MCP server type has a dedicated Dockerfile:
# Build the file system MCP server
docker build -f Dockerfile.file -t mcp-file-server .
# Build the memory MCP server
docker build -f Dockerfile.memory -t mcp-memory-server .
# Build the AWS integration MCP server
docker build -f Dockerfile.aws -t mcp-aws-server .Configuring MCP Tools
Create a configuration file (
.envbased on.env.example):cp .env.example .envEdit configuration with your specific settings:
MCP_SERVER_PORT=3000 AWS_REGION=us-east-1 # Add other required environment variablesRun the MCP server:
docker run -p 3000:3000 --env-file .env mcp-aws-server
Integrating with Claude Desktop or Other MCP Clients
Add the MCP server configuration to your client's config file:
{
"mcpServers": {
"mcp-prompts": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp-aws-server"],
"env": {
"AWS_REGION": "us-east-1"
}
}
}
}Examples
Example 1: File System Operations
// Using the file system MCP server
const response = await mcpClient.callTool({
name: "read_file",
arguments: {
path: "./data/sample.json"
}
});Example 2: AWS S3 Integration
// Upload a file to S3 using AWS MCP server
const response = await mcpClient.callTool({
name: "s3_upload",
arguments: {
bucket: "my-bucket",
key: "data/file.json",
content: fileContent
}
});Example 3: Memory Management
// Store context in memory server
await mcpClient.callTool({
name: "store_memory",
arguments: {
key: "conversation_context",
value: conversationData
}
});
// Retrieve stored context
const context = await mcpClient.callTool({
name: "retrieve_memory",
arguments: {
key: "conversation_context"
}
});Example 4: Using Prompt Templates
Browse the examples/ directory for complete prompt templates:
- Code Review:
examples/code-review-prompt.md - AWS Deployment:
examples/aws-deployment-guide.md - Data Analysis:
examples/data-analysis-template.md
AWS Integration Details
For comprehensive AWS integration documentation, see:
DEPLOYMENT_GUIDE.md- Complete deployment instructionsDOCKER_AWS_TEST_REPORT.md- AWS Docker testing resultscdk/- AWS CDK infrastructure as codeDockerfile.aws- AWS-specific MCP server container
AWS Services Supported
- S3: Object storage operations
- Lambda: Serverless function management
- DynamoDB: NoSQL database operations
- CloudWatch: Logging and monitoring
- IAM: Identity and access management
- ECR: Container registry integration
Project Structure
mcp-prompts/
├── apps/ # Application code
├── cdk/ # AWS CDK infrastructure
├── data/ # Sample data and datasets
├── docs/ # Documentation
├── examples/ # Example prompts and usage
├── layers/ # Lambda layers
├── packages/ # Reusable packages
├── scripts/ # Utility scripts
├── src/ # Source code
├── web/ # Web interface
├── Dockerfile.* # Various MCP server containers
└── README.md # This fileDevelopment
Prerequisites
- Node.js 18+ or compatible runtime
- Docker (for containerized deployments)
- AWS CLI (for AWS integrations)
- Git
Setup Development Environment
Install dependencies:
npm installSet up environment variables:
cp .env.example .env # Edit .env with your configurationRun tests:
npm test
Using DevContainers
This project includes DevContainer configurations in .devcontainer/ for VS Code and GitHub Codespaces:
# Open in VS Code with Dev Containers extension
code .
# Then: Cmd/Ctrl + Shift + P -> "Reopen in Container"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
Please read our CODE_OF_CONDUCT.md before contributing.
Resources
Troubleshooting
Common Issues
Issue: MCP server not starting
- Check that all required environment variables are set
- Verify Docker is running (for containerized deployments)
- Check logs:
docker logs <container-id>
Issue: AWS credentials not working
- Ensure AWS CLI is configured:
aws configure - Verify IAM permissions for required services
- Check environment variables:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY
Issue: Port already in use
- Change the port in your configuration
- Stop conflicting services:
docker psanddocker stop <container-id>
License
MIT License - see LICENSE file for details.
Copyright (c) 2024 Sparre Sparrow
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Support
For questions and support:
- Open an issue
- Join our discussions
- Check the wiki for additional documentation
