
Md5 Calculator
tanker327
README
MD5-MCP: MD5 Hash Calculator MCP Provider
A Model Context Protocol (MCP) provider for calculating MD5 hashes from various data types. This provider provides tools to calculate MD5 hashes from strings, JSON data, and base64-encoded binary data.
Features
- Calculate MD5 hashes from plain text strings with optional whitespace trimming
- Calculate MD5 hashes from various JSON data types (strings, numbers, booleans, objects, arrays)
- Calculate MD5 hashes from base64-encoded binary data
- Control formatting options (like preserving whitespace or JSON formatting)
- Easy integration with Claude and other MCP-compatible clients
Installation
NPM Global Installation (Recommended)
# Install globally
npm install -g md5-mcp
# Run the provider directly
md5-mcp
Local Installation
# Install locally in your project
npm install md5-mcp
# Add to your package.json scripts
# "scripts": {
# "start-md5": "md5-mcp"
# }
Manual Installation
# Clone the repository
git clone https://github.com/tanker327/md5-mcp.git
cd md5-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Start the provider
npm start
Usage
Starting the provider
If installed globally:
md5-mcp
If installed locally:
npx md5-mcp
This will start the MCP provider using the stdio transport, which allows it to be used with MCP clients like Claude for Desktop.
Configuring with Claude for Desktop
Add the following to your Claude for Desktop configuration:
{
"mcpServers": {
"md5-calculator": {
"command": "npx",
"args": ["md5-mcp"]
}
}
}
If you installed globally, you can simplify to:
{
"mcpServers": {
"md5-calculator": {
"command": "md5-mcp"
}
}
}
Available Tools
1. calculateMD5
Calculates an MD5 hash from a string input.
Parameters:
input
(string): The string to calculate an MD5 hash fortrimWhitespace
(boolean, optional): Whether to trim whitespace from the input before hashing (default: false)
Example:
@md5-calculator calculateMD5 --input="Hello, World!" --trimWhitespace=false
2. calculateJSONMD5
Calculates an MD5 hash from JSON data.
Parameters:
jsonData
(any JSON type): JSON data (string, number, boolean, object, or array) to hashpreserveFormatting
(boolean, optional): Whether to preserve JSON formatting or compact it before hashing (default: true)
Example:
@md5-calculator calculateJSONMD5 --jsonData={"name": "John", "age": 30} --preserveFormatting=true
3. calculateBase64MD5
Calculates an MD5 hash from base64-encoded binary data.
Parameters:
base64Data
(string): Base64-encoded binary data to calculate an MD5 hash for
Example:
@md5-calculator calculateBase64MD5 --base64Data="SGVsbG8sIFdvcmxkIQ=="
Important Notes on MD5 Hashing
- MD5 is sensitive to every character, including whitespace. Strings with and without trailing spaces will produce different hashes.
- When hashing JSON objects, the formatting (indentation, line breaks, etc.) affects the hash. Use the
preserveFormatting
option to control this behavior. - MD5 is no longer considered cryptographically secure for sensitive applications. It is suitable for data integrity checks but not for security-critical applications.
Programmatic API
You can also use this package programmatically in your Node.js applications:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
// Create a transport that starts the provider as a child process
const transport = new StdioClientTransport({
command: "npx",
args: ["md5-mcp"],
});
// Create a client
const client = new Client(
{ name: "my-app", version: "1.0.0" },
{ capabilities: { resources: {}, prompts: {}, tools: {} } }
);
// Connect to the provider
await client.connect(transport);
// Calculate MD5 hash
const result = await client.callTool({
name: "calculateMD5",
arguments: {
input: "Hello, World!",
trimWhitespace: false,
},
});
console.log(result.content[0].text);
// Don't forget to disconnect when done
await client.disconnect();
Development
Running in development mode
npm run dev
This starts TypeScript in watch mode, automatically recompiling when files change.
Running tests
npm test
Publishing to npm
To publish a new version:
# Update version in package.json
npm version patch # or minor, or major
# Publish to npm
npm publish
The prepublishOnly
script will automatically run tests and build the project before publishing.
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.