# toolkit-mcp-server

Utility suite for creating random IDs, cryptographic digests, QR codes, encoding data, and looking up public IP details. Useful for daily backend routines.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 18
- Author: cyanheads
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/cyanheads/toolkit-mcp-server
- Updated: 2026-10-17
- HTML: https://affpapa.org/en/nevibecode/mcp/toolkit-mcp-server

## What it does

The server supplies 7 distinct tools for everyday developer tasks. Its identifier tool generates UUIDv7 or ULID sequences in batches up to 1000 items, keeping strict monotonic ordering even across identical milliseconds. Cryptographic digest creation covers sha256 through sha512 alongside md5 checksums, with constant-time equality validation. Text processing handles base64, base64url, hex, and percent-encoding while ignoring spaces in wrapped MIME bodies.

QR code rendering outputs vector SVG images or Unicode half-blocks fitted for terminal windows. For network queries, public IP resolution maps hosts to latitude, longitude, and ASN details via ip-api with a limit of 45 single requests per minute.

Host system inspection stays disabled by design. Without explicit runtime flags `TOOLKIT_ENABLE_NET_DIAGNOSTICS` and `TOOLKIT_ENABLE_SYSTEM_INFO`, the server rejects ping attempts and CPU diagnostic calls.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://toolkit.caseyjhand.com/mcp`
- Environment variables: `MCP_LOG_LEVEL`, `TOOLKIT_ENABLE_NET_DIAGNOSTICS`, `TOOLKIT_ENABLE_SYSTEM_INFO`, `TOOLKIT_ALLOW_PRIVATE_NETWORK`, `TOOLKIT_GEO_API_KEY`, `TOOLKIT_GEO_BASE_URL`, `TOOLKIT_GEO_CACHE_TTL_SECONDS`, `TOOLKIT_GEO_RATE_LIMIT_PER_MIN`, `TOOLKIT_GEO_BATCH_RATE_LIMIT_PER_MIN`, `MCP_TRANSPORT_TYPE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI: remote server**
```bash
claude mcp add --transport http toolkit-mcp-server https://toolkit.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
claude mcp add --env MCP_LOG_LEVEL=<MCP_LOG_LEVEL> --env TOOLKIT_ENABLE_NET_DIAGNOSTICS=<TOOLKIT_ENABLE_NET_DIAGNOSTICS> --env TOOLKIT_ENABLE_SYSTEM_INFO=<TOOLKIT_ENABLE_SYSTEM_INFO> --env TOOLKIT_ALLOW_PRIVATE_NETWORK=<TOOLKIT_ALLOW_PRIVATE_NETWORK> --env TOOLKIT_GEO_API_KEY=<TOOLKIT_GEO_API_KEY> --transport stdio toolkit-mcp-server -- npx -y @cyanheads/toolkit-mcp-server
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add toolkit-mcp-server --url https://toolkit.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
codex mcp add toolkit-mcp-server --env MCP_LOG_LEVEL=<MCP_LOG_LEVEL> --env TOOLKIT_ENABLE_NET_DIAGNOSTICS=<TOOLKIT_ENABLE_NET_DIAGNOSTICS> --env TOOLKIT_ENABLE_SYSTEM_INFO=<TOOLKIT_ENABLE_SYSTEM_INFO> --env TOOLKIT_ALLOW_PRIVATE_NETWORK=<TOOLKIT_ALLOW_PRIVATE_NETWORK> --env TOOLKIT_GEO_API_KEY=<TOOLKIT_GEO_API_KEY> -- npx -y @cyanheads/toolkit-mcp-server
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "toolkit-mcp-server": {
            "url": "https://toolkit.caseyjhand.com/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "toolkit-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/toolkit-mcp-server"
            ],
            "env": {
                "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
                "TOOLKIT_ENABLE_NET_DIAGNOSTICS": "<TOOLKIT_ENABLE_NET_DIAGNOSTICS>",
                "TOOLKIT_ENABLE_SYSTEM_INFO": "<TOOLKIT_ENABLE_SYSTEM_INFO>",
                "TOOLKIT_ALLOW_PRIVATE_NETWORK": "<TOOLKIT_ALLOW_PRIVATE_NETWORK>",
                "TOOLKIT_GEO_API_KEY": "<TOOLKIT_GEO_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 9 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "toolkit-mcp-server": {
            "type": "http",
            "url": "https://toolkit.caseyjhand.com/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "toolkit-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/toolkit-mcp-server"
            ],
            "env": {
                "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
                "TOOLKIT_ENABLE_NET_DIAGNOSTICS": "<TOOLKIT_ENABLE_NET_DIAGNOSTICS>",
                "TOOLKIT_ENABLE_SYSTEM_INFO": "<TOOLKIT_ENABLE_SYSTEM_INFO>",
                "TOOLKIT_ALLOW_PRIVATE_NETWORK": "<TOOLKIT_ALLOW_PRIVATE_NETWORK>",
                "TOOLKIT_GEO_API_KEY": "<TOOLKIT_GEO_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http toolkit-mcp-server https://toolkit.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e MCP_LOG_LEVEL=<MCP_LOG_LEVEL> -e TOOLKIT_ENABLE_NET_DIAGNOSTICS=<TOOLKIT_ENABLE_NET_DIAGNOSTICS> -e TOOLKIT_ENABLE_SYSTEM_INFO=<TOOLKIT_ENABLE_SYSTEM_INFO> -e TOOLKIT_ALLOW_PRIVATE_NETWORK=<TOOLKIT_ALLOW_PRIVATE_NETWORK> -e TOOLKIT_GEO_API_KEY=<TOOLKIT_GEO_API_KEY> toolkit-mcp-server npx -y @cyanheads/toolkit-mcp-server
```
Replace <…> with your own values. 9 more environment variables are in the server README

## When to use it
- generate sorted batches of UUIDv7 or ULID identifiers
- calculate sha256 digests or verify SRI checksum strings
- render QR codes as SVG markup or terminal half-blocks
- decode base64 or hex payloads while preserving binary bytes
- lookup geographic coordinates and ASN for a public IP

## Example prompts
- Generate 10 sequential UUIDv7 IDs for our database migration.
- Create an SVG QR code for https://toolkit.caseyjhand.com/mcp using medium error correction.
- Compute the sha256 digest for this token string in hex format.

## Similar
- [calc-mcp](https://affpapa.org/en/nevibecode/mcp/calc-mcp.md) — MCP server · ★ 9
- [geolocate-from-pixels](https://affpapa.org/en/nevibecode/skills/geolocate-from-pixels.md) — skill · 1800 installs
- [where-was-this-taken](https://affpapa.org/en/nevibecode/skills/where-was-this-taken.md) — skill · 1700 installs
- [ntwarden-windows-analysis-toolkit](https://affpapa.org/en/nevibecode/skills/ntwarden-windows-analysis-toolkit.md) — skill · 443 installs
- [n8n-binary-and-data](https://affpapa.org/en/nevibecode/skills/n8n-binary-and-data.md) — skill · 1900 installs
- [OpenQR](https://affpapa.org/en/nevibecode/mcp/openqr.md) — MCP server · ★ 12

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
