Productivity Toolkit MCP Server
A comprehensive Model Context Protocol (MCP) server that provides essential productivity tools for developers and power users. This server offers secure, API-key authenticated access to password generation, QR code creation, Base64 encoding/decoding, UUID generation, and color palette tools.
Features
🔐 Password Generator - Create secure passwords with customizable options 📱 QR Code Tools - Generate QR codes and formatted data strings 🔄 Base64 Converter - Encode and decode text using Base64 🆔 UUID Generator - Generate unique identifiers (UUID v4) 🎨 Color Palette Generator - Create beautiful color schemes for design projects
Quick Start
Prerequisites
- Node.js 16+
- npm or yarn
- OpenSSL (for API key generation)
Installation
- Clone the repository
git clone https://github.com/ForgeSynapse/mcp-toolkit-v1.git
cd mcp-toolkit-v1
- Install dependencies
npm install
- Generate API Key
openssl rand -hex 32
- Set environment variable
export MCP_API_KEY="your_generated_api_key_here"
- Run the server
npx ts-node server.ts
Tools Reference
🔐 Password Generator
Generate secure passwords with customizable complexity.
Tool: generate-password
Parameters:
apiKey(string, required) - Authentication keylength(number, optional) - Password length (8-128, default: 16)includeNumbers(boolean, optional) - Include numbers (default: true)includeSymbols(boolean, optional) - Include symbols (default: true)includeUppercase(boolean, optional) - Include uppercase letters (default: true)includeLowercase(boolean, optional) - Include lowercase letters (default: true)
Example: ``json { "apiKey": "your_api_key", "length": 20, "includeSymbols": true, "includeNumbers": true } ``
📱 QR Code Data Generator
Create formatted data strings for various QR code types.
Tool: generate-qr-data
Parameters:
apiKey(string, required) - Authentication keytype(enum, required) - QR code type:wifi,contact,url,textdata(object, required) - Type-specific data fields
WiFi QR Data: ``json { "apiKey": "your_api_key", "type": "wifi", "data": { "ssid": "MyNetwork", "password": "mypassword", "security": "WPA" } } ``
Contact QR Data: ``json { "apiKey": "your_api_key", "type": "contact", "data": { "name": "John Doe", "phone": "+1234567890", "email": "john@example.com" } } ``
📱 QR Code Generator
Generate actual QR codes in multiple formats.
Tool: generate-qr-code
Parameters:
apiKey(string, required) - Authentication keytext(string, required) - Text to encodeformat(enum, optional) - Output format:png,svg,terminal(default: png)errorCorrectionLevel(enum, optional) - Error correction:L,M,Q,H(default: M)width(number, optional) - QR code width in pixels (100-1000, default: 200)
Example: ``json { "apiKey": "your_api_key", "text": "https://example.com", "format": "png", "width": 300 } ``
🔄 Base64 Converter
Encode or decode text using Base64 encoding.
Tool: base64-convert
Parameters:
apiKey(string, required) - Authentication keyoperation(enum, required) - Operation type:encodeordecodetext(string, required) - Text to process
Example: ``json { "apiKey": "your_api_key", "operation": "encode", "text": "Hello, World!" } ``
🆔 UUID Generator
Generate unique identifiers (UUID v4).
Tool: generate-uuid
Parameters:
apiKey(string, required) - Authentication keycount(number, optional) - Number of UUIDs to generate (1-10, default: 1)
Example: ``json { "apiKey": "your_api_key", "count": 5 } ``
🎨 Color Palette Generator
Create color palettes for design projects.
Tool: generate-color-palette
Parameters:
apiKey(string, required) - Authentication keybaseColor(string, optional) - Base color in hex format (#RRGGBB)type(enum, optional) - Palette type:monochromatic,complementary,triadic,random(default: random)count(number, optional) - Number of colors (3-10, default: 5)
Example: ``json { "apiKey": "your_api_key", "baseColor": "#3498db", "type": "monochromatic", "count": 6 } ``
Development
Project Structure
ice-cream-mcp-server/
├── server.ts # Main MCP server implementation
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── README.md # This file
├── DEPLOYMENT.md # Deployment guide
└── CLAUDE.md # Development instructions
Local Development
- Install dependencies
npm install
- Set up environment
export MCP_API_KEY="$(openssl rand -hex 32)"
- Run with auto-reload
npx ts-node --watch server.ts
- TypeScript compilation
npx tsc
Architecture
- MCP Server: Built with
@modelcontextprotocol/sdk - Transport: Uses
StdioServerTransportfor communication - Authentication: API key validation for all tools
- TypeScript: Fully typed with Zod schema validation
Deployment
Render (Recommended)
See DEPLOYMENT.md for complete deployment instructions.
Quick Deploy to Render:
- Connect GitHub repository to Render
- Create new Web Service
- Set build command:
npm install - Set start command:
npx ts-node server.ts - Add environment variable:
MCP_API_KEY=your_key
Other Platforms
This MCP server can be deployed to any platform that supports:
- Node.js runtime
- Long-running processes
- Environment variables
- stdin/stdout communication
Security
API Key Requirements
All tools require authentication via the apiKey parameter. The server validates this against the MCP_API_KEY environment variable.
Best Practices
- Generate strong API keys using
openssl rand -hex 32 - Never commit API keys to version control
- Rotate API keys regularly
- Use environment variables for configuration
- Monitor server logs for suspicious activity
Usage Examples
Using with Claude Desktop
Add this server to your Claude Desktop configuration:
{
"mcpServers": {
"productivity-toolkit": {
"command": "npx",
"args": ["ts-node", "/path/to/server.ts"],
"env": {
"MCP_API_KEY": "your_api_key_here"
}
}
}
}
Using with MCP Client
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
const client = new Client({
name: "productivity-client",
version: "1.0.0"
});
// Call password generator tool
const result = await client.callTool("generate-password", {
apiKey: "your_api_key",
length: 16,
includeSymbols: true
});
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Add tests if applicable
- Commit your changes:
git commit -am 'Add feature' - Push to the branch:
git push origin feature-name - Submit a pull request
License
This project is licensed under the ISC License.
Support
- Create an issue for bugs or feature requests
- Check the DEPLOYMENT.md for deployment help
- Review server logs for troubleshooting
Changelog
v1.0.0
- Initial release
- Password generator tool
- QR code data generator tool
- QR code generator tool
- Base64 converter tool
- UUID generator tool
- Color palette generator tool
- API key authentication
- Render deployment support











