MCP Server Nekzus
A Model Context Protocol (MCP) server that provides utility tools fordevelopment and testing This implementation is built on top of theofficial MCP SDK and offers an extensible architecture for adding new tools
๐ Features
- ๐ MCP Protocol Implementation
- ๐ ๏ธ Integrated Utility Tools
- ๐ Schema Validation with Zod
- ๐ ESM Support
- ๐ Strict TypeScript Types
- ๐งฉ Extensible Architecture for New Tools
๐ ๏ธ Available Tools
1. greeting
Generates a personalized greeting message.
Parameters:
name
(string): Recipient's name
Example:
// Result: ๐ Hello John! Welcome to the MCP server!
{
name: "John";
}
2. card
Gets a random card from a standard poker deck.
Parameters:
- No parameters required
Example:
// Result: ๐ด You drew: Ace of โ ๏ธ Spades
{}
3. datetime
Gets the current date and time for a specific timezone.
Parameters:
timeZone
(string, optional): Timezone identifier (e.g., "America/New_York")locale
(string, optional): Locale identifier (e.g., "en-US")
Example:
// Result:
// ๐๏ธ Date: March 20, 2024
// โฐ Time: 7:25:25 PM
// ๐ Timezone: America/New_York
{
timeZone: "America/New_York",
locale: "en-US"
}
4. calculator
Performs mathematical calculations with support for basic and advanced operations.
Parameters:
expression
(string): Mathematical expression (e.g., "2 + 2 * 3")precision
(number, optional): Decimal places in the result (default: 2)
Example:
// Result: 8
{
expression: "2 + 2 * 3"
}
5. passwordGen
Generates secure passwords with customizable options.
Parameters:
length
(number, optional): Password length (default: 16)includeNumbers
(boolean, optional): Include numbers (default: true)includeSymbols
(boolean, optional): Include special characters (default: true)includeUppercase
(boolean, optional): Include uppercase letters (default: true)
Example:
// Result: 4v7&9G8$
{
length: 16,
includeNumbers: true,
includeSymbols: true,
includeUppercase: true
}
6. qrGen
Generates QR codes for text or URLs.
Parameters:
text
(string): Text or URL to encodesize
(number, optional): Size in pixels (default: 200)dark
(string, optional): Dark module color (default: "#000000")light
(string, optional): Light module color (default: "#ffffff")
Example:
// Result: QR code for "https://example.com"
{
text: "https://example.com"
}
7. kitchenConvert
Converts between common kitchen measurements and weights, including volume-to-weight conversions based on specific ingredients.
Parameters:
value
(number): Value to convertfrom
(string): Source unit (e.g., "cup", "tbsp", "g", "oz", "ml")to
(string): Target unit (e.g., "cup", "tbsp", "g", "oz", "ml")ingredient
(string, optional): Ingredient for accurate volume-to-weight conversions
Supported Units:
Volume:
- ml (milliliters)
- l (liters)
- cup (US cup)
- tbsp (tablespoon)
- tsp (teaspoon)
- floz (fluid ounce)
Weight:
- g (grams)
- kg (kilograms)
- oz (ounces)
- lb (pounds)
Supported Ingredients:
- water
- milk
- flour
- sugar
- brown sugar
- salt
- butter
- oil
- honey
- maple syrup
Examples:
// Simple volume conversion
// Result: ๐ Conversion Result:
// โข 1 cup = 236.59 ml
{
value: 1,
from: "cup",
to: "ml"
}
// Volume to weight conversion with ingredient
// Result: ๐ Conversion Result:
// โข 1 cup of flour = 140.25 g
{
value: 1,
from: "cup",
to: "g",
ingredient: "flour"
}
๐ Usage
As MCP Server
- Global Installation:
npm install -g @nekzus/mcp-server
- Execution:
npx @nekzus/mcp-server
As a Dependency
import { McpUtilityServer } from "@nekzus/mcp-server";
const server = new McpUtilityServer();
server.start();
๐ง Development
# Clone repository
git clone https://github.com/nekzus/mcp-server.git
# Install dependencies
npm install
# Development mode
npm run dev
# Build
npm run build
# Run
npm start
๐ Project Structure
src/
โโโ types/ # Type definitions
โ โโโ index.ts # Shared types
โโโ utils/ # Utilities
โ โโโ cards.ts # Card functions
โ โโโ datetime.ts # Date/time functions
โ โโโ schema.ts # Schema conversion
โโโ tools/ # Tool implementations
โ โโโ index.ts # Tools registry
โโโ index.ts # Main entry point
๐ Technical Details
- Transport: Uses
StdioServerTransport
for communication - Validation: Converts JSON schemas to Zod for input validation
- Types: Fully typed implementation with TypeScript
- Error Handling: Robust error handling and resource cleanup
- Signals: Handles SIGTERM and SIGINT signals for graceful shutdown
๐ 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
- GitHub: @nekzus
๐ Support
Give a โญ๏ธ if this project helped you!