# Calc MCP [![npm version](https://img.shields.io/npm/v/@coo-quack/calc-mcp)](https://www.npmjs.com/package/@coo-quack/calc-mcp) [![CI](https://github.com/coo-quack/calc-mcp/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/coo-quack/calc-mcp/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Calc MCP demo

πŸ“– **[Documentation](https://coo-quack.github.io/calc-mcp/)** β€” Full tool reference, examples, and install guides. **21 tools for things AI is not good at** β€” deterministic math, cryptographic randomness, accurate date arithmetic, encoding, hashing, and more. LLMs hallucinate calculations, can't generate true random numbers, and struggle with timezones. This MCP server fixes that. ### Quick Start ```bash # Claude Code claude mcp add -s user calc-mcp -- npx -y @coo-quack/calc-mcp@2.1.1 # Or just run it npx -y @coo-quack/calc-mcp@2.1.1 ``` > Works with Claude Desktop, VS Code Copilot, Cursor, Windsurf, and any MCP client β€” [setup guides below](#install). --- ## Why? | AI alone | With calc-mcp | | ---------------------------------------------- | ----------------------------------------------- | | "10 + 34 Γ— 341 Γ· 23 = 507.8" ❌ | `514.087` βœ… (math) | | "Here's a UUID: 550e8400-..." 🀷 fake | Cryptographically random UUID v4/v7 βœ… (random) | | "100 days from now is..." πŸ€” guess | `2026-05-22` βœ… (date) | | "SHA-256 of password123 is..." πŸ’€ hallucinated | `{"hash": "ef92b778bafe..."}` βœ… (hash) | - **Deterministic** β€” Same input, same correct output, every time - **Secure** β€” Sandboxed math, ReDoS protection, weak hash warnings - **Private** β€” All computation runs locally, no data sent to external services - **No server config** β€” Install once via npx; MCP client setup required - **No API key** β€” No account or API key required for calc-mcp itself; requires Node.js ## Examples Ask in natural language β€” your AI assistant selects the appropriate tool. ### Math & Numbers | You ask | You get | Tool | | ---------------------------------------- | ---------- | ---- | | What's 10 + 34 Γ— 341 Γ· 23? | `514.087` | math | | Convert 255 to binary | `11111111` | base | | Is 4539578763621486 a valid card number? | `true` | luhn | ### Text & Encoding | You ask | You get | Tool | | ------------------------------------------ | -------------------- | ------ | | How many characters in "Hello, World! 🌍"? | `15 chars, 18 bytes` | count | | Base64 encode "Hello World" | `SGVsbG8gV29ybGQ=` | base64 | | Base64 decode "eyJhbGciOiJIUzI1NiJ9" | `{"alg":"HS256"}` | base64 | | URL-encode "hello world" | `hello%20world` | encode | | URL-decode "hello%20world" | `hello world` | encode | | HTML-decode `<script>` | `