本文へスキップ
ecdsa.com

MCP サーバー

Model Context Protocol(MCP)を使うと、AI エージェントや IDE のアシスタントがツールを呼び出せます。ecdsa.com のサーバーは API の操作とサイトのリファレンスカタログを提供するため、アシスタントは推測に頼らず、署名を検証したり TLS エラーを解説したりできます。

エンドポイント

https://ecdsa.com/api/mcp

Streamable HTTP を使ったステートレスな接続で、セッションもインストールも不要です。リモートサーバーに接続できる MCP クライアントであれば、どれでも利用できます。

API キーは不要で、すべてのツールを匿名で利用できます。アカウント機能とともに API キーの提供が始まると、キーを使った呼び出しには、IP ごとの制限ではなく、そのキー独自の制限が適用されます。

クライアントの接続

Claude Code

最初のコマンドで、サーバーが自分用に追加されます。--scope project を付けると、リポジトリの .mcp.json に追加され、プロジェクトを開くすべての人が利用できます。

ターミナル
claude mcp add --transport http ecdsa https://ecdsa.com/api/mcp
claude mcp add --transport http ecdsa --scope project https://ecdsa.com/api/mcp
.mcp.json
{
  "mcpServers": {
    "ecdsa": {
      "type": "http",
      "url": "https://ecdsa.com/api/mcp"
    }
  }
}
API キーを使う場合

API キーが利用できるようになったときのための設定です。キーは、コミットするファイルに含めないでください。

キーはローカルスコープで追加してください。この場合、キーは手元のマシンにだけ保存されます。ローカルのエントリは、同じ名前の共有エントリを自分の環境でだけ置き換えます。

ターミナル
claude mcp add --transport http ecdsa https://ecdsa.com/api/mcp \
  --header "Authorization: Bearer ecdsa_live_…"

Claude Desktop と claude.ai

「カスタマイズ」→「コネクタ」→「追加」→「カスタムコネクタを追加」の順に選びます。URL には https://ecdsa.com/api/mcp を指定し、認証は「ログインなし」にします。コネクタは Claude のアカウントに紐づくため、claude.ai で追加したコネクタは Claude Desktop でも使えます。Claude の無料プランで追加できるカスタムコネクタは 1 つです。

API キーを使う場合

API キーが利用できるようになったときのための設定です。キーは、コミットするファイルに含めないでください。

コネクタのダイアログに「リクエストヘッダー」の項目がある場合は、Authorization を値 Bearer ecdsa_live_… で追加します。まだない場合は、後述の stdio ブリッジを --header オプション付きで使ってください。コネクタは Anthropic のクラウドから呼び出しを行うため、キーがなければ、コネクタの利用者全員で IP ごとの枠を 1 つ共有することになります。

Cursor

すべてのプロジェクトで使う場合は ~/.cursor/mcp.json、1 つのプロジェクトで使う場合は .cursor/mcp.json に記述します。

mcp.json
{
  "mcpServers": {
    "ecdsa": {
      "url": "https://ecdsa.com/api/mcp"
    }
  }
}
API キーを使う場合

API キーが利用できるようになったときのための設定です。キーは、コミットするファイルに含めないでください。

キーはグローバルのファイルに記述することを推奨します。Cursor は ECDSA_API_KEY の値を環境変数から埋め込むため、この環境変数を設定しておく必要があります。

~/.cursor/mcp.json
{
  "mcpServers": {
    "ecdsa": {
      "url": "https://ecdsa.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:ECDSA_API_KEY}"
      }
    }
  }
}

VS Code

ワークスペースの .vscode/mcp.json に記述するか、コマンドラインから追加します。

.vscode/mcp.json
{
  "servers": {
    "ecdsa": {
      "type": "http",
      "url": "https://ecdsa.com/api/mcp"
    }
  }
}
ターミナル
code --add-mcp '{"name":"ecdsa","type":"http","url":"https://ecdsa.com/api/mcp"}'
API キーを使う場合

API キーが利用できるようになったときのための設定です。キーは、コミットするファイルに含めないでください。

VS Code はサーバーの初回起動時にキーの入力を求め、シークレットストレージに保存します。

.vscode/mcp.json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "ecdsa-api-key",
      "description": "ecdsa.com API key",
      "password": true
    }
  ],
  "servers": {
    "ecdsa": {
      "type": "http",
      "url": "https://ecdsa.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${input:ecdsa-api-key}"
      }
    }
  }
}

stdio にのみ対応したクライアント

mcp-remote を使って、リモートサーバーに中継します。

mcp.json
{
  "mcpServers": {
    "ecdsa": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://ecdsa.com/api/mcp"
      ]
    }
  }
}

ツール

サーバーは 11 個のツールを提供しています。この一覧はサーバー自体のレジストリから読み込んだもので、tools/list が返すリストと同じです。

  • verify_signatureVerify an ECDSA signature

    Verifies a signature over a message (or a precomputed digest) against a public key. Curves: P-256, P-384, P-521, secp256k1. Signature formats auto-detected: ASN.1 DER or raw r‖s, in hex, base64 or base64url. Public key formats: PEM SPKI ("PUBLIC KEY"), EC JWK, or a bare SEC1 point in hex/base64. A signature that simply does not verify returns valid: false with HTTP 200; only unparseable input yields 400.

    読み取り専用スコープ api · キー使用時は呼び出しごとにクォータ 1 ユニットPOST/v1/verify

  • convert_signatureConvert a signature between DER and raw r‖s

    Decodes a signature (DER or raw, auto-detected; hex/base64/base64url) and returns both encodings plus r, s and the high-S flag. normalize: "low-s" replaces a high-S s with n − s. Warnings list DER canonicality deviations (BER lengths, missing 0x00 pads, trailing bytes) and curve-ambiguity notes.

    読み取り専用スコープ api · キー使用時は呼び出しごとにクォータ 1 ユニットPOST/v1/convert

  • decode_jwtDecode a JWT (no signature check)

    Decodes a compact JWS token: header, payload, enriched exp/iat/nbf time claims and a classification of the algorithm. The signature is NOT verified — the response carries verified: false explicitly. Use /v1/jwt/verify to check ES* signatures.

    読み取り専用スコープ api · キー使用時は呼び出しごとにクォータ 1 ユニットPOST/v1/jwt/decode

  • verify_jwtVerify an ES256/ES384/ES512 JWT signature

    Verifies the token's ECDSA signature against a public key (PEM SPKI, EC JWK, or bare SEC1 point). Non-ECDSA algorithms (HS*, RS*, PS*, EdDSA, ES256K, none) return 400 with code unsupported_algorithm. A signature that fails verification returns valid: false with HTTP 200. Time claims are noted in explanations but do not affect valid.

    読み取り専用スコープ api · キー使用時は呼び出しごとにクォータ 1 ユニットPOST/v1/jwt/verify

  • decode_certificateDecode an X.509 certificate or chain

    Accepts PEM (one or more CERTIFICATE blocks — a whole chain works) or a single DER certificate as base64/hex. Returns a structured summary per certificate — subject, issuer, validity, key and signature algorithms, SAN, key usage, fingerprint — plus assessments (weak hashes, expiry, CA/Browser Forum lifetime limits, post-quantum notes).

    読み取り専用スコープ api · キー使用時は呼び出しごとにクォータ 1 ユニットPOST/v1/cert/decode

  • get_domain_healthTLS signature-health grade for a domain

    Connects to the domain on port 443, examines the served certificate chain, key and signature algorithms, protocol versions and lifetimes, and returns a letter grade with findings, plus the leaf certificate's expiry and key algorithm as structured fields. Results are cached for 1 hour. Only public DNS hostnames are accepted — IP addresses, single-label names and private/reserved addresses are refused. Extra rate limit: 10 requests/minute per IP. A fresh scan can take several seconds.

    読み取り専用、指定したホストに接続スコープ scan · キー使用時は呼び出しごとにクォータ 5 ユニットGET/v1/health/{domain}

  • explain_errorExplain an error message

    Looks up an error message from a cryptography, TLS, certificate, JWT, SSH, code-signing or Web3 library in the ecdsa.com error catalog (299 messages, reproduced against the libraries that print them) and returns what it means, its likely causes and step-by-step fixes with code. Paste the message as printed; a whole log excerpt or stack trace works too. Never include private keys or secrets: input containing a private key is refused.

    読み取り専用スコープ api · キー使用時は呼び出しごとにクォータ 1 ユニット

  • lookup_oidLook up an object identifier (OID)

    Resolves an ASN.1 object identifier used in X.509 certificates, CSRs, CMS/PKCS#7, PKCS#8/#12 and post-quantum PKI against the ecdsa.com OID catalog (938 identifiers: curated, IANA SMI arcs, CCADB EV policies). Accepts a dotted OID, its DER encoding in hex, or a name such as prime256v1 or ecdsa-with-SHA256; returns the name, aliases, category, DER encoding, OpenSSL names and references. Unknown OIDs still get their DER encoding and nearest known ancestor.

    読み取り専用スコープ api · キー使用時は呼び出しごとにクォータ 1 ユニット

  • lookup_algorithmLook up a cryptographic algorithm identifier

    Resolves an algorithm identifier against the IANA registries for JOSE and COSE (algorithms, key types, curves), TLS (cipher suites, signature schemes, supported groups), SSH, DNSSEC and HPKE: what it is, its code point, recommendation status, parameters (curve, hash, key size), names in OpenSSL/GnuTLS/NSS and the defining RFCs. Accepts names (ES256, TLS_AES_128_GCM_SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ecdsa-sha2-nistp256, X25519MLKEM768) or code points (-7, 0x0403, 13); `registry` narrows the search.

    読み取り専用スコープ api · キー使用時は呼び出しごとにクォータ 1 ユニット

  • lookup_curveLook up an elliptic curve

    Describes a named elliptic curve from the ecdsa.com curve catalog (54 curves, each checked arithmetically): its names in every standard (SEC 2, NIST, ANSI X9.62, JOSE/COSE, SSH, TLS), OIDs with DER encoding, domain parameters, security level, status (recommended to broken) and where it is used. Accepts any spelling — P-256, secp256r1, prime256v1, nistp256, X25519, Ed25519, brainpoolP256r1 — or the curve's OID.

    読み取り専用スコープ api · キー使用時は呼び出しごとにクォータ 1 ユニット

  • glossaryDefine a cryptography term

    Defines a term from the ecdsa.com glossary (302 terms on signatures, JOSE, PKI, TLS, email authentication, Web3, post-quantum cryptography, identity and supply chain): a one-sentence definition, the explanation from the term's page, references to the standards and related terms, tools and errors.

    読み取り専用スコープ api · キー使用時は呼び出しごとにクォータ 1 ユニット

制限

匿名の呼び出しは REST API と同じ枠を共有します。IP あたり毎分 60 リクエストに加え、get_domain_health には毎分 10 回の枠があり、その実際のスキャンは共有のスキャン枠も消費します。ホスト型のクライアント(claude.ai と Claude Desktop のコネクタ)は Anthropic のクラウドから呼び出すため、その利用者は全員が同じ IP ごとの枠で数えられ、利用が多いと rate_limited が返されます。

秘密鍵

秘密鍵のデータ(PEM の PRIVATE KEY ブロック、OpenSSH・SSH2・PuTTY の鍵、「d」を含む JWK)を含む引数は、REST API とまったく同じように、ほかの処理より先に private_key_rejected で拒否されます。引数がログに記録されることはありません。