MCP Utility Server

by Nekzus
Verified
MIT License
2,969
  • Apple
  • Linux

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides integration with GitHub workflows for continuous integration and deployment of the MCP server

  • Enables distribution and installation of the MCP server as an npm package, with tracking of downloads and usage

  • Offers donation capabilities through PayPal for supporting the development of the MCP server

Nekzus MCP Server

A Model Context Protocol (MCP) server that provides utility tools for development and testing This implementation is built on top of the official MCP SDK and offers an extensible architecture for adding new tools

Components

Tools

  • greeting
    • Generate personalized greeting messages
    • Input: name (string, required): Name of the recipient
    • Example:
      {"name": "John"} -> "šŸ‘‹ Hello John! Welcome to the MCP server!"
  • card
    • Draw random cards from a standard 52-card poker deck
    • Input: No parameters required
    • Example:
      {} -> "šŸŽ“ Drew card: Aā™ ļø" (random from 52 cards)
  • datetime
    • Get formatted date/time for any timezone
    • Inputs:
      • timeZone (string, optional, default: "UTC"): Timezone identifier
      • locale (string, optional, default: "en-US"): Locale for formatting
    • Example:
      {"timeZone": "America/New_York", "locale": "es-ES"} -> "šŸ•’ domingo, 24 de marzo de 2024, 15:25:25 hora de verano del este"
  • calculator
    • Perform mathematical calculations
    • Inputs:
      • expression (string, required): Mathematical expression to evaluate
      • precision (number, optional, default: 2): Number of decimal places
    • Supported operations: +, -, *, /, %, (), .
    • Example:
      {"expression": "2 + 2 * 3", "precision": 2} -> "šŸ”¢ Result: 8.00" {"expression": "(15 / 2) % 2", "precision": 3} -> "šŸ”¢ Result: 1.500"
  • passwordGen
    • Generate secure passwords with customizable options
    • Inputs:
      • length (number, optional, default: 16): Password length
      • includeNumbers (boolean, optional, default: true): Include numbers
      • includeSymbols (boolean, optional, default: true): Include special symbols
      • includeUppercase (boolean, optional, default: true): Include uppercase letters
    • Example:
      {"length": 12, "includeSymbols": true} -> "šŸ” Generated: Kj2$mP9&vN4x" {"length": 8, "includeNumbers": false} -> "šŸ” Generated: KjMpNvXw"
  • qrGen
    • Generate QR codes for text or URLs
    • Inputs:
      • text (string, required): Text or URL to encode
      • size (number, optional, default: 200): Size in pixels
      • dark (string, optional, default: "#000000"): Color for dark modules
      • light (string, optional, default: "#ffffff"): Color for light modules
    • Output: Returns a Data URL containing the QR code image
    • Example:
      // Basic Usage {"text": "https://github.com/nekzus"} -> "šŸ“± QR Code generated successfully! Properties: ā€¢ Content: https://github.com/nekzus ā€¢ Size: 200px ā€¢ Dark Color: #000000 ā€¢ Light Color: #ffffff QR Code (Data URL): data:image/png;base64,..." // Custom Size and Colors { "text": "Hello World!", "size": 300, "dark": "#FF0000", "light": "#FFFFFF" } -> "šŸ“± QR Code generated successfully! Properties: ā€¢ Content: Hello World! ā€¢ Size: 300px ā€¢ Dark Color: #FF0000 ā€¢ Light Color: #FFFFFF QR Code (Data URL): data:image/png;base64,..."

    Note: The QR code is returned as a Data URL that can be used directly in HTML <img> tags or converted to a file.

  • kitchenConvert
    • Convert between kitchen measurements
    • Inputs:
      • value (number, required): Value to convert
      • from (string, required): Source unit
      • to (string, required): Target unit
      • ingredient (string, optional): Ingredient for accurate conversion

    Supported Units:

    Volume Units:

    - ml (milliliters) - l (liters) - cup (US cup = 236.588 ml) - tbsp (US tablespoon = 14.787 ml) - tsp (US teaspoon = 4.929 ml) - floz (US fluid ounce = 29.574 ml)

    Weight Units:

    - g (grams) - kg (kilograms) - oz (ounces = 28.350 g) - lb (pounds = 453.592 g)

    Ingredient Densities:

    - water (1.000 g/ml) - milk (1.030 g/ml) - flour (0.593 g/ml) - sugar (0.845 g/ml) - brown_sugar (0.721 g/ml) - salt (1.217 g/ml) - butter (0.911 g/ml) - oil (0.918 g/ml) - honey (1.420 g/ml) - maple_syrup (1.370 g/ml)

    Examples:

    // Volume to Volume {"value": 1, "from": "cup", "to": "ml"} -> "āš–ļø 1 cup = 236.59 ml" // Weight to Weight {"value": 500, "from": "g", "to": "lb"} -> "āš–ļø 500 g = 1.10 lb" // Volume to Weight (requires ingredient) {"value": 1, "from": "cup", "to": "g", "ingredient": "flour"} -> "āš–ļø 1 cup of flour = 140.30 g"

Key Features

  • Zero configuration required
  • JSON-RPC 2.0 compliant
  • Type-safe implementations
  • Emoji-enhanced responses
  • Comprehensive error handling
  • ESM support
  • Full TypeScript types
  • Docker support

Configuration

To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json:

{ "mcpServers": { "nekzus": { "transport": "stdio", "command": "npx", "args": [ "-y", "@nekzus/mcp-server" ] } } }

Docker

{ "mcpServers": { "nekzus": { "transport": "stdio", "command": "docker", "args": ["run", "-i", "--rm", "--init", "nekzus/mcp-server"] } } }

The configuration file is typically located at:

  • Windows: %APPDATA%/claude-desktop/claude_desktop_config.json
  • macOS: ~/Library/Application Support/claude-desktop/claude_desktop_config.json
  • Linux: ~/.config/claude-desktop/claude_desktop_config.json

Development

# Install dependencies npm install # Run in development mode npm run dev # Format code npm run format # Lint code npm run lint # Run tests npm run test # Build npm run build

Docker

Build the Docker image:

# Build the image docker build -t nekzus/mcp-server . # Run the container docker run -i --rm --init nekzus/mcp-server

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes using commitizen (npm run commit)
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Author

šŸ‘¤ nekzus

Show your support

Give a ā­ļø if this project helped you!

-
security - not tested
A
license - permissive license
-
quality - not tested

A Model Context Protocol server providing utility tools for development and testing, offering functionalities like personalized greetings, random card drawing, and datetime formatting with an extensible architecture.

  1. Components
    1. Tools
  2. Key Features
    1. Configuration
      1. NPX (Recommended)
      2. Docker
    2. Development
      1. Docker
        1. Contributing
          1. License
            1. Author
              1. Show your support