protogrid

Search / io.github.Nizoka/pkinative-mcp

pkinative MCP — X.509, CMS, OCSP, time-stamps and PKCS#12 without a key byte leaving

L0· runs locally

PKI MCP server: inspect, verify, issue, sign X.509, CSR, CRL, OCSP, CMS, TSP, PKCS#12. 34 tools

v1.0.0 · active · repository · website · descriptor JSON · versions

Runs on your machine: something must execute the package.Only local packages are published (npm, PyPI, OCI, …). The registry never executes them, so tools are unknown until you run it.
Quality–new
Trust96of 100
Packages1
Tools seen0

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "pkinative-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "pkinative-mcp",
        "[email protected]"
      ],
      "env": {
        "PKINATIVE_MCP_HTTP_TOKEN": "${PKINATIVE_MCP_HTTP_TOKEN}",
        "PKINATIVE_MCP_PASSWORD": "${PKINATIVE_MCP_PASSWORD}"
      }
    }
  }
}
claude mcp add pkinative-mcp -e "PKINATIVE_MCP_HTTP_TOKEN=${PKINATIVE_MCP_HTTP_TOKEN}" -e "PKINATIVE_MCP_PASSWORD=${PKINATIVE_MCP_PASSWORD}" -- npx -y pkinative-mcp [email protected]
[mcp_servers.pkinative-mcp]
command = "npx"
args = ["-y", "pkinative-mcp", "[email protected]"]
env = { "PKINATIVE_MCP_HTTP_TOKEN" = "${PKINATIVE_MCP_HTTP_TOKEN}", "PKINATIVE_MCP_PASSWORD" = "${PKINATIVE_MCP_PASSWORD}" }
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pkinative-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "pkinative-mcp",
        "[email protected]"
      ],
      "enabled": true,
      "environment": {
        "PKINATIVE_MCP_HTTP_TOKEN": "{env:PKINATIVE_MCP_HTTP_TOKEN}",
        "PKINATIVE_MCP_PASSWORD": "{env:PKINATIVE_MCP_PASSWORD}"
      }
    }
  }
}
{
  "mcpServers": {
    "pkinative-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "pkinative-mcp",
        "[email protected]"
      ],
      "env": {
        "PKINATIVE_MCP_HTTP_TOKEN": "${PKINATIVE_MCP_HTTP_TOKEN}",
        "PKINATIVE_MCP_PASSWORD": "${PKINATIVE_MCP_PASSWORD}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=pkinative-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsInBraW5hdGl2ZS1tY3AiLCJwa2luYXRpdmUtbWNwQDEuMC4wIl0sImVudiI6eyJQS0lOQVRJVkVfTUNQX0hUVFBfVE9LRU4iOiIke1BLSU5BVElWRV9NQ1BfSFRUUF9UT0tFTn0iLCJQS0lOQVRJVkVfTUNQX1BBU1NXT1JEIjoiJHtQS0lOQVRJVkVfTUNQX1BBU1NXT1JEfSJ9fQ%3D%3D"
}
{
  "servers": {
    "pkinative-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "pkinative-mcp",
        "[email protected]"
      ],
      "env": {
        "PKINATIVE_MCP_HTTP_TOKEN": "${PKINATIVE_MCP_HTTP_TOKEN}",
        "PKINATIVE_MCP_PASSWORD": "${PKINATIVE_MCP_PASSWORD}"
      }
    }
  }
}
{
  "mcpServers": {
    "pkinative-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "pkinative-mcp",
        "[email protected]"
      ],
      "env": {
        "PKINATIVE_MCP_HTTP_TOKEN": "${PKINATIVE_MCP_HTTP_TOKEN}",
        "PKINATIVE_MCP_PASSWORD": "${PKINATIVE_MCP_PASSWORD}"
      }
    }
  }
}
extensions:
  "pkinative-mcp":
    enabled: true
    name: "pkinative-mcp"
    type: stdio
    cmd: "npx"
    args:
      - "-y"
      - "pkinative-mcp"
      - "[email protected]"
    envs:
      "PKINATIVE_MCP_HTTP_TOKEN": "${PKINATIVE_MCP_HTTP_TOKEN}"
      "PKINATIVE_MCP_PASSWORD": "${PKINATIVE_MCP_PASSWORD}"
    timeout: 300

Placeholders to fill from your own secret store: ${PKINATIVE_MCP_HTTP_TOKEN}, ${PKINATIVE_MCP_PASSWORD}. The registry never accepts secret values.

This is a local package: the command runs on your machine.

Quality – / 100new

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygienen/a · weight 30
  • n/a
    tools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool list unknown
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know [email protected]

Tool list unknown · checked 2026-10-20 12:45 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance90
livenessn/a
freshness100
hygiene100

+repository +namespace-matches-repo +website ~liveness-unmeasured +updated-3d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

packageregistryversionruntimesecrets
pkinative-mcpnpm1.0.0npxPKINATIVE_MCP_HTTP_TOKEN, PKINATIVE_MCP_PASSWORD

Tools (0)

No tools observed. Local packages are never executed by the registry.

Schemas: list_tools.

Similar MCP servers

More from io.github.Nizoka

Official server.json
{
  "name": "io.github.Nizoka/pkinative-mcp",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "com.github": {
        "serverDisplayName": "pkinative MCP"
      },
      "io.github.nizoka.publisher": {
        "tool": "mcp-publisher",
        "engine": "[email protected]",
        "license": "MIT",
        "network": "none",
        "keywords": [
          "pki",
          "x509",
          "certificate",
          "csr",
          "pkcs10",
          "crl",
          "ocsp",
          "revocation",
          "cms",
          "pkcs7",
          "rfc3161",
          "timestamp",
          "pkcs8",
          "pkcs12",
          "asn1",
          "pem",
          "der",
          "oid",
          "chain-validation",
          "tls-certificate",
          "code-signing",
          "offline",
          "secure-by-default",
          "openssl-interop",
          "ecdsa",
          "ed25519",
          "rsa-pss"
        ],
        "standards": [
          "RFC 5280",
          "RFC 6125",
          "RFC 6960",
          "RFC 5652",
          "RFC 3161",
          "RFC 2986",
          "RFC 5958",
          "RFC 8018",
          "RFC 7292",
          "RFC 9579",
          "RFC 7468"
        ],
        "toolCount": 34,
        "transports": [
          "stdio",
          "streamable-http"
        ],
        "conformance": "OpenSSL 3 interoperability validated in CI (Linux and Windows)",
        "keyHandling": "private keys never returned, never written, never served as resources",
        "mcpProtocol": "2026-07-28",
        "promptCount": 7,
        "toolVersion": "1.7.9"
      }
    }
  },
  "title": "pkinative MCP — X.509, CMS, OCSP, time-stamps and PKCS#12 without a key byte leaving",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "version": "1.0.0",
  "packages": [
    {
      "version": "1.0.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "pkinative-mcp",
      "runtimeHint": "npx",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "runtimeArguments": [
        {
          "type": "positional",
          "value": "-y",
          "valueHint": "skip-confirm"
        },
        {
          "type": "positional",
          "value": "pkinative-mcp",
          "valueHint": "package"
        }
      ],
      "environmentVariables": [
        {
          "name": "PKINATIVE_MCP_OUTPUT_DIR",
          "format": "filepath",
          "description": "Absolute path of the one sandbox directory: path inputs are read from it and outputMode='file' outputs are written under it (never overwritten; the real path of every file read and of every parent written must stay inside — a planted symlink or junction is SECURITY_VIOLATION). Key-bearing files (.key .p8 .p12 .pfx) are read by the key tools only, never written, never served as resources. Unset: every tool works on inline PEM / base64 only."
        },
        {
          "name": "PKINATIVE_MCP_CACHE_DIR",
          "format": "filepath",
          "description": "Opt-in content-addressed response cache directory (SHA-256 keyed, 1h TTL, 256 MiB LRU, plaintext at rest). Never caches path inputs, file output, a call carrying a password or a signer, a clock-dependent instant, a random serial or nonce, describe_engine or draft_governance_issue."
        },
        {
          "name": "PKINATIVE_MCP_PORT",
          "format": "number",
          "description": "Serve Streamable HTTP on this loopback port (POST /mcp) instead of stdio (MCP 2026-07-28, stateless, legacy fallback). Unauthenticated unless PKINATIVE_MCP_HTTP_TOKEN is set."
        },
        {
          "name": "PKINATIVE_MCP_HTTP_TOKEN",
          "isSecret": true,
          "description": "Opt-in bearer token for the HTTP transport (>= 16 chars, no whitespace; a weaker value refuses to start). When set, /mcp requires 'Authorization: Bearer <token>' or answers 401. Compared constant-time, never logged."
        },
        {
          "name": "PKINATIVE_MCP_PASSWORD",
          "isSecret": true,
          "description": "Operator-side password of the encrypted PKCS#8 key or PKCS#12 file the tools open (keeps the secret out of the model transcript). Exclusive with the per-call password input (both at once is VALIDATION_ERROR). Never logged; only its presence is reported at startup."
        },
        {
          "name": "PKINATIVE_MCP_AT",
          "description": "Pinned instant (ISO 8601 or epoch milliseconds) every omitted at / notBefore / signingTime falls back to, for reproducible verdicts and artefacts. Unset: the wall clock (a clock-dependent result is never cached). An invalid value refuses to start."
        },
        {
          "name": "PKINATIVE_MCP_MAX_INPUT_BYTES",
          "format": "number",
          "description": "Operator ceiling for limits.maxInputBytes and the decoded size of one PKI object (default 67108864 = 64 MiB, the engine default). Integer >= 1024, read once at startup; an invalid value refuses to start. A per-call value above it is refused with LIMIT_CEILING_EXCEEDED."
        },
        {
          "name": "PKINATIVE_MCP_MAX_KDF_ITERATIONS",
          "format": "number",
          "description": "Operator ceiling for limits.maxKdfIterations and limits.maxPkcs12KdfIterations (default 10000000, the engine default): the CPU bound of a hostile PBES2 key or PKCS#12 file. Integer >= 1, read once at startup; an invalid value refuses to start."
        },
        {
          "name": "PKINATIVE_MCP_MAX_PATHS_EXPLORED",
          "format": "number",
          "description": "Operator ceiling for limits.maxPathsExplored (default 1000, the engine default): the RFC 5280 section 6 path-building work bound. Integer >= 1, read once at startup; an invalid value refuses to start."
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/Nizoka/pkinative-mcp",
    "source": "github"
  },
  "websiteUrl": "https://github.com/Nizoka/pkinative-mcp#readme",
  "description": "PKI MCP server: inspect, verify, issue, sign X.509, CSR, CRL, OCSP, CMS, TSP, PKCS#12. 34 tools"
}