@codetidy/mcp
v1.8.1
Published
MCP server for CodeTidy developer tools — JSON formatting, Base64, URL encoding, hashing, semver, CORS, robots.txt, and 55+ more. Free, runs locally.
Maintainers
Readme
@codetidy/mcp
Free MCP server that gives AI agents access to 62 developer tools — JSON formatting, Base64 encoding, UUID generation, hashing, semver calculations, MIME lookups, math evaluation, and more. All tools from codetidy.dev.
Available as a local npm package (stdio transport) or a remote server at mcp.codetidy.dev (Streamable HTTP transport) — same tools, same version, your choice.
Quick Start
Remote Server (No Install Required)
Connect any MCP client that supports remote servers via Streamable HTTP:
https://mcp.codetidy.devClaude Desktop (Remote)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"codetidy": {
"type": "url",
"url": "https://mcp.codetidy.dev"
}
}
}Cursor (Remote)
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"codetidy": {
"type": "url",
"url": "https://mcp.codetidy.dev"
}
}
}Claude Web (claude.ai)
Use CodeTidy tools directly in claude.ai by adding a custom MCP connector.
Important: Claude Web connectors require the
/mcppath at the end of the URL. This is different from other MCP clients that use the base URL.
- Open claude.ai and go to Settings
- Navigate to Integrations (or Connected Apps)
- Click Add Custom Connector
- Enter the URL below and save:
https://mcp.codetidy.dev/mcpOnce connected, type /mcp in any Claude conversation to access all 62 developer tools.
Claude Code (Remote)
claude mcp add codetidy --transport http https://mcp.codetidy.dev/mcpLocal Server (npm)
For offline use or if you prefer local processing:
Claude Desktop (Local)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"codetidy": {
"command": "npx",
"args": ["-y", "@codetidy/mcp"]
}
}
}Cursor (Local)
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"codetidy": {
"command": "npx",
"args": ["-y", "@codetidy/mcp"]
}
}
}Other MCP Clients (Local)
Any client that supports stdio MCP servers:
npx @codetidy/mcpRemote vs. Local
| | Remote Server | Local (npm) | |---|---|---| | Setup | Just a URL — no install | Requires Node.js 18+ | | Transport | Streamable HTTP | stdio | | Privacy | Data processed on edge servers | Data stays on your machine | | Offline | No | Yes | | Version | Always latest deployed | Pinned to installed version |
Tools (62)
Formatters & Processors (30)
| Tool | Description |
|------|-------------|
| codetidy_json_format | Format/beautify JSON with 2-space indent |
| codetidy_json_minify | Minify JSON to a single line |
| codetidy_json_validate | Validate JSON syntax |
| codetidy_json_to_csv | Convert JSON array to CSV |
| codetidy_csv_to_json | Convert CSV to JSON array |
| codetidy_json_to_yaml | Convert JSON to YAML |
| codetidy_jwt_decode | Decode JWT token (header + payload) |
| codetidy_base64_encode | Encode text to Base64 |
| codetidy_base64_decode | Decode Base64 to text |
| codetidy_url_encode | URL-encode a string |
| codetidy_url_decode | URL-decode a string |
| codetidy_html_entity_encode | Encode HTML entities |
| codetidy_html_entity_decode | Decode HTML entities |
| codetidy_html_beautify | Beautify/indent HTML |
| codetidy_html_minify | Minify HTML |
| codetidy_css_beautify | Beautify CSS |
| codetidy_css_minify | Minify CSS |
| codetidy_js_beautify | Beautify JavaScript |
| codetidy_js_minify | Minify JavaScript |
| codetidy_xml_format | Format/indent XML |
| codetidy_xml_minify | Minify XML |
| codetidy_sql_format | Format SQL queries |
| codetidy_markdown_to_html | Convert Markdown to HTML |
| codetidy_uppercase | Convert text to UPPERCASE |
| codetidy_lowercase | Convert text to lowercase |
| codetidy_trim | Trim whitespace |
| codetidy_sort_lines | Sort lines alphabetically |
| codetidy_reverse_lines | Reverse line order |
| codetidy_unique_lines | Remove duplicate lines |
| codetidy_count_stats | Count characters, words, lines |
Generators (5)
| Tool | Description |
|------|-------------|
| codetidy_uuid_generate | Generate UUID v4 or v7 (with count, uppercase, no-dashes options) |
| codetidy_password_generate | Generate secure passwords (configurable length, character sets) |
| codetidy_slug_generate | Generate URL slugs from text |
| codetidy_word_count | Detailed word/sentence/paragraph statistics |
| codetidy_text_case_convert | Convert between camelCase, PascalCase, snake_case, etc. |
Converters (6)
| Tool | Description |
|------|-------------|
| codetidy_hash_generate | Generate MD5, SHA-1, SHA-256, or SHA-512 hash |
| codetidy_hmac_generate | Generate HMAC keyed-hash signatures (SHA-1, SHA-256, SHA-384, SHA-512) |
| codetidy_epoch_convert | Convert Unix timestamps to human-readable dates |
| codetidy_chmod_calculate | Convert between octal and symbolic file permissions |
| codetidy_color_convert | Convert colors between HEX, RGB, and HSL |
| codetidy_regex_test | Test regex patterns against strings |
Deterministic Tools (13)
| Tool | Description |
|------|-------------|
| codetidy_json_schema_generate | Generate JSON Schema from sample JSON data (Draft 2020-12/07/04) |
| codetidy_json_patch_generate | Generate RFC 6902 JSON Patch by diffing two JSON objects |
| codetidy_semver_calculate | Parse, compare, bump, and sort semantic versions |
| codetidy_mime_lookup | Look up MIME types by file extension or reverse |
| codetidy_byte_calculate | Calculate string byte length or convert between size units |
| codetidy_url_parse | Parse URLs into components (protocol, host, path, query params) |
| codetidy_glob_to_regex | Convert glob patterns to regular expressions |
| codetidy_math_evaluate | Evaluate math expressions safely (hex, binary, functions) |
| codetidy_sql_to_typescript | Convert SQL CREATE TABLE to TypeScript interfaces |
| codetidy_duration_convert | Convert between ms, human-readable, ISO 8601, HH:MM:SS |
| codetidy_sql_to_orm | Convert SQL CREATE TABLE to ORM model code (Prisma, Sequelize, TypeORM, SQLAlchemy, Django) |
| codetidy_encoding_detective | Detect and repair encoding issues (mojibake, garbled UTF-8, double-encoded text) |
| codetidy_github_actions_validate | Validate GitHub Actions workflow YAML (required fields, valid triggers, common mistakes) |
Config & Code Generators (7)
| Tool | Description |
|------|-------------|
| codetidy_json_flatten | Flatten nested JSON to dot-notation or unflatten back to nested |
| codetidy_json_to_go | Convert JSON to Go struct definitions with json tags and type inference |
| codetidy_json_to_python | Convert JSON to Python dataclass, Pydantic v2, or TypedDict |
| codetidy_csv_to_sql | Convert CSV to CREATE TABLE + INSERT statements with type inference |
| codetidy_yaml_format | Format, minify, or validate YAML content |
| codetidy_cors_build | Generate CORS headers (raw, Nginx, Express, Apache) |
| codetidy_robotstxt_generate | Generate robots.txt with presets (allow-all, block-all, block-ai-crawlers) |
Pipeline (1)
| Tool | Description |
|------|-------------|
| codetidy_pipeline | Chain multiple processors in sequence (e.g., JSON format then Base64 encode) |
Prompts (8)
Pre-built prompt recipes for common workflows:
- Decode JWT & Pretty-Print — decode a JWT and format the payload
- Base64 Decode then JSON Format — decode Base64 content and format as JSON
- URL Decode then JSON Format — URL-decode and format as JSON
- JSON to CSV to Base64 — convert JSON to CSV then Base64-encode
- JSON Validate, Minify, Base64 — validate, minify, and encode JSON
- JSON to YAML — convert JSON to YAML format
- HTML Entities then Base64 — encode HTML entities then Base64
- Markdown to HTML to Minify — render Markdown and minify the HTML
Resources
codetidy://tools— Full catalog of 75+ developer tools available at codetidy.dev (including web-only tools)
When to Use MCP Tools vs. Asking the AI Directly
AI models can generate text, but they can't reliably perform deterministic computation. These tools exist for tasks where correctness matters more than creativity:
- Hashing (SHA-256, MD5) & HMAC — AI models can't compute cryptographic hashes or keyed-hash signatures; the tool can
- UUID generation — needs true randomness from
crypto.randomUUID(), not an LLM guess - JWT decoding — deterministic Base64 parsing with no hallucination risk
- Base64 / URL encoding — one wrong character breaks the output
- JSON validation — the tool is authoritative; an LLM might miss edge cases
- Regex testing — actually executes the regex engine rather than eyeballing matches
- Pipeline chaining — runs 5 transforms in sequence without compounding errors
For generative tasks like placeholder text or case conversion, the AI can often handle them directly — we intentionally exclude tools like Lorem Ipsum where the AI's output is equivalent. For transformation and encoding tasks, the tool is more reliable than the model — that's the whole point.
Architecture: How We Keep the Tool Count Manageable
MCP clients expose tool lists to AI models as context, so every tool added costs tokens and decision-making overhead. We use several strategies to keep the count at 62 tools without sacrificing functionality:
1. Parameterized multi-purpose tools instead of one-tool-per-operation
Rather than registering separate tools for every variant, we use parameters to cover multiple operations in a single tool:
codetidy_hash_generate— one tool handles MD5, SHA-1, SHA-256, SHA-384, and SHA-512 via analgorithmparameter (5 tools → 1)codetidy_text_case_convert— one tool covers camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and 7 more via atargetparameter (12 tools → 1)codetidy_semver_calculate— parse, compare, bump, and sort operations via anactionparameter (4 tools → 1)codetidy_uuid_generate— v4 and v7 UUIDs with count/format options via parameters (2+ tools → 1)codetidy_byte_calculate— string byte measurement AND unit conversion via amodeparameter (2 tools → 1)codetidy_epoch_convert— bidirectional timestamp↔date conversion in one tool (2 tools → 1)
2. Pipeline tool for composing operations
Instead of building combinatorial tools (e.g., "format then encode"), the codetidy_pipeline tool lets you chain any sequence of the 30 processors. This avoids an explosion of tools for multi-step workflows. Example: steps: ["json-format", "base64-encode"] replaces what would otherwise be a dedicated "format-and-encode" tool.
3. Shared processor abstraction
All 30 text→text processors (JSON format, Base64 encode, HTML beautify, etc.) share a single ProcessorDef interface and registration loop. This keeps the code DRY and makes each processor a simple { id, name, description, process } definition — easy to add without duplicating registration boilerplate.
4. MCP annotations signal safety
Every tool declares readOnlyHint: true, destructiveHint: false, idempotentHint: true, and openWorldHint: false. This tells MCP clients that all tools are pure, deterministic, local transforms — no network calls, no side effects. Clients can auto-approve these tools without user confirmation, reducing friction.
5. What we intentionally exclude
Not every web tool becomes an MCP tool. We only expose tools where deterministic correctness matters — hashing, encoding, UUID generation, regex execution, etc. Tools that are purely visual or interactive (color pickers, diff viewers, QR code generators) are web-only.
Net effect
Without consolidation, the same functionality would require 80+ individual tools. Parameterization and the pipeline tool cut that to 62 while preserving full coverage.
Requirements
- Node.js 18 or later
Privacy
Local (npm): All processing happens on your machine. No data is sent to any server.
Remote server: Data is processed on edge servers and returned immediately. No data is stored or logged — all tools are stateless. No authentication required, no logging of inputs/outputs.
Links
- Setup guide: codetidy.dev/mcp
- All tools: codetidy.dev
- JSON Formatter: codetidy.dev/json-formatter
- Base64 Encoder/Decoder: codetidy.dev/base64
- Hash Generator: codetidy.dev/hash-generator
- UUID Generator: codetidy.dev/uuid-generator
- JWT Decoder: codetidy.dev/jwt-decoder
- JSON to CSV: codetidy.dev/json-to-csv
- Regex Tester: codetidy.dev/regex-tester
- SQL Formatter: codetidy.dev/sql-formatter
License
MIT
