Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Toolkit MCP Server

von cyanheadsVersion 2.4.0i★ –iComputer oder Cloud
Name in der Registryio.github.cyanheads/toolkit-mcp-server

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Generate IDs, QR codes, and hashes, encode values, geolocate IPs, plus gated host diagnostics.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Computer oder Cloud
  • Transport: stdio, Streamable HTTP
  • Kategorie: Sonstiges
  • Das musst du eintragen: TOOLKIT_GEO_API_KEY

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 3 von 3 bestanden
  • Läuft auf dem Server des Entwicklers: Was du fragst, läuft über dessen Server.
  • Kann 5 Dinge (Tools) toolkit_hash_value, toolkit_generate_id, toolkit_generate_qr, toolkit_encode_value …
  • Das trägst du selbst ein: 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

Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.

Du brauchst

  • Läuft in der CloudNichts zu installieren; die Verbindung läuft übers Internet
  • npmNode.js installiert (für den Befehl npx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:

  1. Öffne Settings → Connectors
  2. Tippe auf Add custom connector
  3. Füge die Adresse unten ein und tippe auf Add
  4. Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
SettingsConnectors1+ Add2https://…3
https://toolkit.caseyjhand.com/mcp

Oder führ ihn auf deinem Computer aus

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "toolkit": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/toolkit-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "TOOLKIT_ENABLE_NET_DIAGNOSTICS": "your-value",
        "TOOLKIT_ENABLE_SYSTEM_INFO": "your-value",
        "TOOLKIT_ALLOW_PRIVATE_NETWORK": "your-value",
        "TOOLKIT_GEO_API_KEY": "your-value",
        "TOOLKIT_GEO_BASE_URL": "your-value",
        "TOOLKIT_GEO_CACHE_TTL_SECONDS": "your-value",
        "TOOLKIT_GEO_RATE_LIMIT_PER_MIN": "your-value",
        "TOOLKIT_GEO_BATCH_RATE_LIMIT_PER_MIN": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add --transport http toolkit https://toolkit.caseyjhand.com/mcp

Oder führ ihn auf deinem Computer aus

claude mcp add toolkit --env MCP_LOG_LEVEL=your-value --env TOOLKIT_ENABLE_NET_DIAGNOSTICS=your-value --env TOOLKIT_ENABLE_SYSTEM_INFO=your-value --env TOOLKIT_ALLOW_PRIVATE_NETWORK=your-value --env TOOLKIT_GEO_API_KEY=your-value --env TOOLKIT_GEO_BASE_URL=your-value --env TOOLKIT_GEO_CACHE_TTL_SECONDS=your-value --env TOOLKIT_GEO_RATE_LIMIT_PER_MIN=your-value --env TOOLKIT_GEO_BATCH_RATE_LIMIT_PER_MIN=your-value -- npx -y @cyanheads/toolkit-mcp-server

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "toolkit": {
      "url": "https://toolkit.caseyjhand.com/mcp"
    }
  }
}

Oder führ ihn auf deinem Computer aus

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "toolkit": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/toolkit-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "TOOLKIT_ENABLE_NET_DIAGNOSTICS": "your-value",
        "TOOLKIT_ENABLE_SYSTEM_INFO": "your-value",
        "TOOLKIT_ALLOW_PRIVATE_NETWORK": "your-value",
        "TOOLKIT_GEO_API_KEY": "your-value",
        "TOOLKIT_GEO_BASE_URL": "your-value",
        "TOOLKIT_GEO_CACHE_TTL_SECONDS": "your-value",
        "TOOLKIT_GEO_RATE_LIMIT_PER_MIN": "your-value",
        "TOOLKIT_GEO_BATCH_RATE_LIMIT_PER_MIN": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "toolkit": {
      "type": "http",
      "url": "https://toolkit.caseyjhand.com/mcp"
    }
  }
}

Oder führ ihn auf deinem Computer aus

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "toolkit": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/toolkit-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "TOOLKIT_ENABLE_NET_DIAGNOSTICS": "your-value",
        "TOOLKIT_ENABLE_SYSTEM_INFO": "your-value",
        "TOOLKIT_ALLOW_PRIVATE_NETWORK": "your-value",
        "TOOLKIT_GEO_API_KEY": "your-value",
        "TOOLKIT_GEO_BASE_URL": "your-value",
        "TOOLKIT_GEO_CACHE_TTL_SECONDS": "your-value",
        "TOOLKIT_GEO_RATE_LIMIT_PER_MIN": "your-value",
        "TOOLKIT_GEO_BATCH_RATE_LIMIT_PER_MIN": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

ChatGPT verbindet sich nur mit Servern im Internet:

  1. Öffne ChatGPT im Web → Settings → Connectors (Apps)
  2. Tippe auf Create oder Add (bei manchen Tarifen musst du zuerst Developer mode unter Advanced einschalten)
  3. Füge die Adresse unten ein, gib ihr einen Namen und speichere
  4. Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
SettingsConnectors1+ Create2https://…3
https://toolkit.caseyjhand.com/mcp

Menünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').
  • TOOLKIT_ENABLE_NET_DIAGNOSTICS env
    Register the gated toolkit_check_network tool. Off by default — leave off for hosted/shared deployments.
  • TOOLKIT_ENABLE_SYSTEM_INFO env
    Register the gated toolkit_check_system tool. Off by default — only meaningful on a local deployment.
  • TOOLKIT_ALLOW_PRIVATE_NETWORK env
    With network diagnostics enabled, permit private/reserved/loopback targets. The second explicit gate; off by default.
  • TOOLKIT_GEO_API_KEY geheim env
    API key for the geolocation endpoint, if it requires one. The default ip-api tier is keyless.
  • TOOLKIT_GEO_BASE_URL env
    Base URL for an ip-api-compatible geolocation endpoint. Default is the keyless ip-api endpoint, which is plaintext HTTP.
  • TOOLKIT_GEO_CACHE_TTL_SECONDS env
    Geolocation cache TTL in seconds. Geolocation is stable, so repeats are cached.
  • TOOLKIT_GEO_RATE_LIMIT_PER_MIN env
    Max geolocation requests per minute; excess requests are rejected with a retryable rate-limit error. Default 45 matches the ip-api free tier.
  • TOOLKIT_GEO_BATCH_RATE_LIMIT_PER_MIN env
    Independent batch geolocation requests per minute; excess requests fail immediately with wait and recovery guidance.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Tool-Namen und -Beschreibungen genau so, wie der Server sie am 6. Nov. 2026 gemeldet hat. Geschrieben hat sie der Entwickler, nicht wir; wir zeigen sie als reinen Text.

  • toolkit_hash_value

    Generate a cryptographic digest or HMAC of a value, or verify a value against an expected digest. Set operation to "generate" for a digest, or "compare" to constant-time-check value against the expected digest — compare is timing-safe and avoids manual string equality checks. Omi

  • toolkit_generate_id

    Mint cryptographically-random identifiers using the platform CSPRNG — the correct source for IDs that must be unpredictable, unlike model-generated values. type selects the format: uuid_v4 (random, the default), uuid_v7 (time-ordered, sortable by creation), or ulid (26-char Crock

  • toolkit_generate_qr

    Encode text or a URL into a QR code. data is the content to encode (a link, a generated identifier such as toolkit_generate_id's ids[0], or any string). format selects the output: svg returns inline SVG markup sized in pixels, png_base64 returns base64-encoded PNG bytes (with mim

  • toolkit_encode_value

    Encode or decode a value across base64, base64url, hex, or URL (percent) encoding, in either direction. Set operation to "encode" to transform raw UTF-8 text into the chosen encoding, or "decode" to recover the original bytes from an encoded value. Decoded bytes come back as UTF-

  • toolkit_geolocate_ip

    Resolve a public IP or dotted hostname to country, region, city, coordinates, ASN, AS holder and name, organization, ISP, timezone, and proxy/hosting/mobile flags. Supply target for one lookup or targets for an ordered batch, never both; blank target and empty targets are unset.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto cyanheads bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • ✓ Bestanden

    Endpunkt antwortet

    Antwort in 168 ms (HTTP 200)

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Keine Anmeldung nötig

  • ✓ Bestanden

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Wir haben 5 Tool-Beschreibungen gelesen und keine versteckten Anweisungen an die KI gefunden

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 0 % der anderen 32678 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 91 % der anderen 32678 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 32678 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Toolkit MCP Server sicher?

Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: TOOLKIT_GEO_API_KEY

Läuft er auf meinem Computer oder in der Cloud?

Beides geht: Installiere ihn auf deinem Computer oder verbinde dich mit der Cloud-Version.

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (2.4.0) kam vor 3 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Starreel

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Spec Driven Development

von formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Läuft auf deinem Computer★ 440MITAktualisiert vor 14 Monaten
Installieren

Remote Desktop Commander

von desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Läuft in der Cloud★ 211Aktualisiert vorgestern
Installieren

Starreel

von starreel

Turn a script into a finished, downloadable short-drama episode — via MCP or REST.

Läuft auf deinem ComputerAktualisiert heute
Installieren

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

@cyanheads/toolkit-mcp-server Generate random IDs, QR codes, and hashes, encode and decode values, and geolocate IPs, plus gated network and system diagnostics, via MCP. STDIO or Streamable HTTP. 7 Tools • 1 Skill

Public Hosted Server: https://toolkit.caseyjhand.com/mcp


Overview

Everyday developer utilities: generate IDs, QR codes, and hashes, encode and decode values, and geolocate a public IP or hostname. Only the geolocation lookup and the gated network diagnostics (off by default) make network calls; everything else runs locally.

Tools
ToolDescription
toolkit_hash_valueGenerate a digest or HMAC (sha256/sha384/sha512/sha1/md5) as hex, base64, base64url, or SRI, or constant-time-compare a value against an expected digest or signature
toolkit_generate_idMint cryptographically random UUIDv4, UUIDv7, or ULID identifiers, up to 1000 per call
toolkit_generate_qrEncode text or a URL as a QR code in SVG, base64 PNG, or terminal half-blocks
toolkit_encode_valueEncode or decode base64, base64url, hex, or URL percent-encoding
toolkit_geolocate_ipResolve a public IP or hostname to country, city, coordinates, ASN, and timezone
toolkit_check_networkGated, off by default. Ping, traceroute, TCP connectivity, or IPv4 egress-IP check from the server host
toolkit_check_systemGated, off by default. OS, CPU, memory, load average, or network interfaces of the server host
Skill
SkillDescription
toolkit-guideGates the tool descriptions don't carry: reading a digest or signature mismatch, webhook and JWT signing inputs, moving digest bytes between hex, base64, and base64url, who runs an IP's network, and host diagnostics

MCP clients that support the Skills extension read it as skill://toolkit-guide/SKILL.md. Plugin installs load it from skills/, which also ships in the npm package, the Docker image, and the .mcpb bundle.

Capability reference

toolkit_hash_value tool
  • value read per inputEncoding (utf8 default, hex, base64); algorithm is sha256 (default), sha384, or sha512, with sha1 and md5 for checksum compatibility and verifying existing HMAC-SHA1 signatures only; operation is generate or compare, and when omitted it compares if expected is sent
  • A non-empty secret makes the digest an HMAC keyed by it, for webhook signatures (GitHub's X-Hub-Signature-256 pastes into expected as-is) and HS256 JWT signatures; secretEncoding is utf8 (default), hex, base64, or base64url (a JWK k). The result then carries hmac: true, and the secret is never echoed in the result or an error; a secret invalid for its encoding fails as invalid_secret_encoding
  • generate returns digest in digestEncoding (hex default, base64, unpadded base64url, or sri for plain SHA-2 digests, where an HMAC fails as sri_with_secret) plus lengthInBytes; compare returns matches against expected, pasted as published: hex, base64, or base64url, bare or prefixed (sha256: , sha256= ); SRI, including a multi-entry npm integrity value; or one checksum-file line as sha256sum, shasum, md5, or openssl dgst prints it
  • A bad expected fails as expected_malformed (including a whole multi-line checksum file, with a hint to pass the file's own line), expected_length_mismatch (the hint names the algorithm that length fits), or expected_algorithm_mismatch (a tag, prefix, or SRI entry naming another algorithm)

toolkit_generate_id tool
  • type is uuid_v4 (default), uuid_v7, or ulid; count is 1–1000 (default 1)
  • ids always holds exactly count values; uuid_v7 and ulid batches are strictly increasing even within one millisecond, with random gaps so no id is derivable from another

toolkit_generate_qr tool
  • data up to 2953 UTF-8 bytes at errorCorrection L, less at M (default), Q, and H; format is svg (default), png_base64, or terminal; margin 0–20 modules (default 4), scale 1–32 px per module (default 4)
  • Returns content, the symbol version (1–40), mimeType for image formats, and byteLength for PNG; png_base64 also arrives as an MCP image block, and terminal is plain Unicode half-blocks drawn for a dark background
  • Over-capacity input fails as data_too_large with its byte count; a PNG over 2048 px per side fails as raster_too_large with a scale that fits, while svg and terminal have no pixel cap

toolkit_encode_value tool
  • operation (encode or decode) and encoding (base64, base64url, hex, url) are required; whitespace in hex, base64, and base64url input is ignored, so wrapped MIME and PEM bodies decode as-is
  • Decode returns result as utf8 text unless outputEncoding asks for hex, base64, or unpadded base64url, which returns the bytes losslessly and transcodes between encodings; malformed input fails as decode_failed, and binary bytes as decode_not_utf8 rather than with replacement characters

toolkit_geolocate_ip tool
  • target is an IPv4/IPv6 address or a dotted hostname, DNS-resolved first; private or reserved addresses, and public-format ones the provider reports as unlocatable, fail as private_target, unresolvable hostnames as unresolvable_host
  • Or send targets (up to 1000) instead, never both: the first 100 return ordered results with per-target errors, failedCount counts failures, and unprocessedTargets lists the rest to resubmit
  • Returns country, countryCode, region, city, latitude/longitude, asn, asHolder, asName, org, isp, and timezone with resolvedIp and source; a true in proxy, hosting, or mobile means the location describes infrastructure, not a person
  • org can name a customer or sub-allocation (APNIC and Cloudflare DNS Resolver project for 1.1.1.1); isp, asHolder, and asName (CLOUDFLARENET) name the network operator. With no org from the provider, org carries asHolder, then isp
  • Uses the keyless ip-api free tier over plaintext HTTP by default (TOOLKIT_GEO_BASE_URL, TOOLKIT_GEO_API_KEY); results are cached per resolved IP
  • Single and batch lookups have separate rate limits (TOOLKIT_GEO_RATE_LIMIT_PER_MIN=45, TOOLKIT_GEO_BATCH_RATE_LIMIT_PER_MIN=15); refusals report rate_limited with seconds to wait, and cache hits stay free

toolkit_check_network tool
  • mode is ping, traceroute, connectivity, or public_ip (the host's IPv4 egress address; it can't show whether IPv6 egress works); target is required except for public_ip, and port (1–65535) for connectivity; count 1–10 pings (default 3), timeoutMs 100–30000 (default 3000, one budget across every address for connectivity); family 4 or 6 probes one address family
  • A hostname resolves once to all its addresses, tried in turn and alternating IPv4 and IPv6 until one gives a result; resolvedIp names the address whose result is reported
  • A silent host is reachable: false, not an error; ping adds rttMs, sent, received, and packetLossPercent, connectivity adds outcome (open, refused, timeout, unreachable), and traceroute returns hops; a hostname that won't resolve fails as unreachable in every mode, as does ping or traceroute when its binary gives no result for any address tried (missing, stopped at its time limit, or exited with an error), and a family the target has no address in fails as family_mismatch
  • Registered only when TOOLKIT_ENABLE_NET_DIAGNOSTICS=true; unless TOOLKIT_ALLOW_PRIVATE_NETWORK=true, a hostname's private and reserved addresses are skipped, a target with nothing else fails as private_target_blocked, and error messages count those addresses instead of naming them

toolkit_check_system tool
  • what is os, cpu, memory, load, or interfaces; exactly one matching facet object is populated
  • os names the runtime (runtime is bun or node, runtimeVersion its version) beside nodeVersion, the Node.js version the process reports
  • memory.availableBytes is the allocation headroom, the same figure under Bun and Node, and limitBytes appears under a container memory limit; totalBytes, freeBytes, and usedBytes are raw OS figures, and on macOS freeBytes is free pages alone, so usedBytes counts reclaimable cache as used there
  • Under Bun on macOS the headroom is read from the host's page statistics; when they can't be read the call fails as memory_stats_unavailable instead of reporting free pages
  • Registered only when TOOLKIT_ENABLE_SYSTEM_INFO=true, since os and interfaces disclose host topology and version details

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

Toolkit-specific:

  • Hashing, ID minting, QR encoding, and encode/decode run in-process on node:crypto, Buffer, and the qrcode library, with no upstream calls
  • Geolocation calls the provider, never the target, and checks the DNS-resolved IP against private ranges, so a hostname can't reach an internal address
  • Fail-closed gating: toolkit_check_network and toolkit_check_system are absent from tools/list unless enabled. Both report on the server's host, not the caller's, so they belong on local or self-hosted deployments
  • Two-tier network gate: with diagnostics on, private, loopback, link-local, and reserved targets (the cloud-metadata endpoint included) stay blocked unti

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen