# D3vTools MCP Server [![MCP Server](https://img.shields.io/badge/MCP-Server-cyan)](https://modelcontextprotocol.io) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Live URL](https://img.shields.io/badge/Live-https%3A%2F%2Fd3v.tools-blue)](https://d3v.tools) [![smithery badge](https://smithery.ai/badge/mr-gigiliiii/d3vtools)](https://smithery.ai/servers/mr-gigiliiii/d3vtools) A **Model Context Protocol (MCP)** server that provides AI agents with access to **100+ developer utilities** — encoders, decoders, color converters, cryptographic tools, formatters, and more. Built for AI coding assistants that need to transform data, inspect formats, or convert between units during development. The MCP server runs at `https://d3v.tools/mcp/tools` with `streamable-http` transport. No authentication is required. --- ## Tools This server exposes **3 tools** that work together as a discover-execute pipeline: ### `list_tools_catalog` List all available tools with optional filtering by category, tier (free/premium), or slug. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `category` | string | no | Filter by category slug (e.g. `encode-decode`, `color`, `crypto`) | | `tier` | string | no | Filter by tier (`free` or `premium`) | | `slug` | string | no | Filter by specific tool slug | **Example:** ``` list tools in the "color" category → list_tools_catalog({ "category": "color" }) ``` --- ### `get_tool_details` Get the full API contract — required fields, input type, rate limits, and keywords — for one tool. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `category` | string | **yes** | Tool category slug | | `slug` | string | **yes** | Tool slug | **Example:** ``` inspect a tool → get_tool_details({ "category": "encode-decode", "slug": "base64-encode" }) ``` --- ### `execute_tool` Execute a tool with input and optional parameters. Supports text inputs, conversion-style (from/to), and structured options. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `category` | string | **yes** | Tool category slug | | `slug` | string | **yes** | Tool slug | | `input` | string | no | Primary input value | | `options` | object | no | Structured arguments for complex tools | | `from` | string | no | Source unit (conversion tools) | | `to` | string | no | Destination unit (conversion tools) | | `value` | string | no | Value for conversion (used with from/to) | **Example:** ``` encode text → execute_tool({ "category": "encode-decode", "slug": "base64-encode", "input": "Hello, World!" }) ``` --- ## Usage Flow The tools are designed to be chained: 1. **Discover** — call `list_tools_catalog` to see available tools 2. **Inspect** — call `get_tool_details` to learn a tool's API contract 3. **Execute** — call `execute_tool` to run the tool with your input --- ## Connecting ### Server Details | Property | Value | |----------|-------| | **URL** | `https://d3v.tools/mcp/tools` | | **Transport** | `streamable-http` | | **Authentication** | None | | **Capabilities** | `tools` | ### Client Configurations **Claude Desktop** Add to your `claude_desktop_config.json`: ```json { "mcpServers": { "d3vtools": { "url": "https://d3v.tools/mcp/tools", "transport": "streamable-http" } } } ``` **OpenCode** Add to your `opencode.json`: ```json { "mcpServers": { "d3vtools": { "url": "https://d3v.tools/mcp/tools", "transport": "streamable-http" } } } ``` **Cursor** Add in Cursor Settings → MCP Servers: ```json { "mcpServers": { "d3vtools": { "url": "https://d3v.tools/mcp/tools", "transport": "streamable-http" } } } ``` ### Auto-Discovery The server is advertised via `.well-known/mcp.json` at `https://d3v.tools/.well-known/mcp.json`, so MCP-aware clients (VS Code extension, etc.) can discover it automatically. --- ## Example Walkthrough ```json // Step 1: Find available tools → list_tools_catalog({ "category": "crypto" }) // Step 2: Get details on a specific tool → get_tool_details({ "category": "crypto", "slug": "uuid-generator" }) // Step 3: Execute the tool → execute_tool({ "category": "crypto", "slug": "uuid-generator", "input": "" }) ``` --- ## Supported Categories | Category | Examples | |----------|----------| | `encode-decode` | Base32, Base58, Base64, URL, HTML, JWT, QR code | | `color` | Hex to RGB, RGB to HSL, color name lookup | | `crypto` | UUID, hash generators, HMAC, password generators | | `formatter` | JSON, XML, CSS, SQL formatters / minifiers | | `converter` | Temperature, length, weight, currency | | `text` | Character counter, case converter, slugify | | `image` | Data URI conversion, SVG optimization | | `math` | Number base converter, percentage calculator | | `network` | IP calculator, port checker | | `date` | Timestamp converter, timezone converter | --- ## Architecture ``` ┌──────────────┐ Streamable HTTP ┌──────────────────────┐ │ AI Agent │ ◄──────────────────────► │ d3v.tools/mcp/tools │ │ (Claude, │ │ │ │ Cursor, │ list_tools_catalog │ Laravel + laravel/ │ │ OpenCode) │ get_tool_details │ mcp package │ │ │ execute_tool │ │ └──────────────┘ └──────────┬───────────┘ │ └──► ToolExecutionService └──► Service classes (client-side JS or server-side PHP) ``` The server is built with Laravel and the `laravel/mcp` package. Client-side tools run in-browser JavaScript; server-side tools use PHP service classes. All processing happens on the server or client side — no external API calls. --- ## Rate Limits | Tier | Requests/minute | |------|----------------| | Anonymous | 10 | | Registered (free) | 30 | | Premium | 1000+ | --- ## License MIT