qtcl-mcp-server

Agent-native post-quantum blockchain. 11 tools: send, balance, quantum oracle metrics. Flat fee.

사용해야 할까요

품질 및 안전성

A
설명 품질
97%
스키마 완전성
78%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'qtcl_get_price' description lacks action verbqtcl_get_price에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,329토큰 (도구 정의)
~928 B일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.60%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "qtcl-mcp-server": {
      "url": "https://qtcl-blockchain.koyeb.app/mcp/sse"
    }
  }
}

원격 엔드포인트

https://qtcl-blockchain.koyeb.app/mcp/ssesse

할 수 있는 일

도구 목록

도구 (22)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟡qtcl_create_wallet(label)

Create a new QTCL post-quantum wallet backed by a real HypΓ keypair (Schnorr-Γ over SL(3,p), 512-step random walk, SHA3-256² address). Returns private_key, public_key, address, and created_at. Store private_key securely — the server never retains it.

입력 스키마

{
  "type": "object",
  "properties": {
    "label": {
      "type": "string",
      "description": "Optional human-readable wallet label"
    }
  },
  "additionalProperties": false
}
🟡qtcl_sign_message(message_hex, private_key)

Sign a 32-byte message hash with a HypΓ private key using Schnorr-Γ. To sign a transaction, compute: SHA3-256(JSON.dumps({"sender": from_addr, "recipient": to_addr, "amount": amount_float, "nonce": nonce_int}, sort_keys=True)) → pass the 64-char hex as message_hex. The nonce MUST match the nonce you will use in qtcl_send_transaction. Returns the full signature dict (with canonical R/Z matrix fields) — pass the entire JSON output as the signature field to qtcl_send_transaction. CRITICAL: use the 'signature_for_tx' field from the response as the 'signature' argument to qtcl_send_transaction — do not extract sub-fields.

입력 스키마

{
  "type": "object",
  "properties": {
    "message_hex": {
      "type": "string",
      "description": "64 hex chars (32-byte SHA3-256 hash of tx signing payload)"
    },
    "private_key": {
      "type": "string",
      "description": "HypΓ private key from qtcl_create_wallet (512-char base-4 walk)"
    }
  },
  "required": [
    "message_hex",
    "private_key"
  ],
  "additionalProperties": false
}
🟢qtcl_get_balance(address)

Check QTCL balance for any address. Returns balance in base units (qsat), UTXO count, and UTXO list. 1 QTCL = 100 qsat.

입력 스키마

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "64-char hex QTCL address"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
🟢qtcl_get_utxos(address, limit)

List unspent transaction outputs (UTXOs) for an address. Returns tx_hash, output_index, amount_base per coin.

입력 스키마

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "64-char hex QTCL address"
    },
    "limit": {
      "type": "integer",
      "description": "Max UTXOs to return (default 1000)",
      "default": 1000
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
🟡qtcl_send_transaction(from_address, to_address, amount, memo, signature, ...)

Submit a signed UTXO transaction to the QTCL network. Flat fee: 1 qsat. Finality: ~18 seconds. WORKFLOW: (1) pick nonce = int(time.time()*1000) [ms epoch]. (2) build payload = JSON.dumps({sender,recipient,amount,nonce}, sort_keys=True). (3) hash = SHA3-256(payload) as 64-char hex. (4) call qtcl_sign_message(message_hex=hash, private_key=key). (5) pass the 'signature_for_tx' field from step 4 as the 'signature' arg here, with the SAME nonce used in steps 1-4. CRITICAL: nonce must be a millisecond timestamp (>1700000000000) to avoid nonce_replay rejection. Never use sequential integers.

입력 스키마

{
  "type": "object",
  "properties": {
    "from_address": {
      "type": "string",
      "description": "Sender's 64-char hex QTCL address"
    },
    "to_address": {
      "type": "string",
      "description": "Recipient's 64-char hex QTCL address"
    },
    "amount": {
      "type": "number",
      "description": "Amount in QTCL (not qsat). 1 QTCL = 100 qsat."
    },
    "memo": {
      "type": "string",
      "description": "Optional transaction memo (max 256 chars)"
    },
    "signature": {
      "type": "string",
      "description": "Use the 'signature_for_tx' value from qtcl_sign_message output — it is the full canonical sig JSON string with R, Z, c_full, challenge fields. Do NOT extract sub-fields. Pass signature_for_tx verbatim."
    },
    "public_key": {
      "type": "string",
      "description": "HypΓ public key hex from qtcl_create_wallet"
    },
    "nonce": {
      "type": "integer",
      "description": "Replay-prevention nonce — MUST be a millisecond epoch timestamp (int(time.time()*1000), e.g. ~1779000000000). Must match the nonce used in the signing payload. Auto-generated as ms timestamp if omitted."
    }
  },
  "required": [
    "from_address",
    "to_address",
    "amount"
  ],
  "additionalProperties": false
}
🟢qtcl_get_transaction(tx_hash)

Look up a QTCL transaction by its SHA3-256 hash. Returns full tx details, status, and block height.

입력 스키마

{
  "type": "object",
  "properties": {
    "tx_hash": {
      "type": "string",
      "description": "64-char hex transaction hash"
    }
  },
  "required": [
    "tx_hash"
  ],
  "additionalProperties": false
}
🟢qtcl_get_chain_info

Current blockchain state: height, latest block hash, mempool depth, oracle status, and system health vector.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢qtcl_get_block(height, hash)

Retrieve a block by height (integer) or hash (hex string). Omit both for the latest block.

입력 스키마

{
  "type": "object",
  "properties": {
    "height": {
      "type": "integer",
      "description": "Block height (0 = genesis; omit for latest)"
    },
    "hash": {
      "type": "string",
      "description": "Block hash hex (takes priority over height)"
    }
  },
  "additionalProperties": false
}
🟢qtcl_get_recent_transactions(address, per_page)

List recent transactions, optionally filtered by address. Returns newest first. Max 50 per call.

입력 스키마

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Optional: filter by sender or receiver address"
    },
    "per_page": {
      "type": "integer",
      "description": "Results per page (default 20, max 50)",
      "default": 20
    }
  },
  "additionalProperties": false
}
🟢qtcl_get_quantum_metrics

Live quantum coherence metrics: W-state fidelity (≥0.75 healthy), entanglement witness (NPT criterion), oracle consensus round, Mermin inequality test, and kappa=0.11 non-Markovian coherence score.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢qtcl_get_oracle_registry(limit)

List registered quantum oracle nodes participating in 5-oracle Byzantine consensus (3-of-5 majority).

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "description": "Max oracles to return (default 10, max 100)",
      "default": 10
    }
  },
  "additionalProperties": false
}
🟢qtcl_get_peers(limit)

List active P2P peers in the QTCL Kademlia DHT network.

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "description": "Max peers to return (default 20)",
      "default": 20
    }
  },
  "additionalProperties": false
}
🟢qtcl_get_price

QTCL network quantum coherence metrics and valuation signals. Note: QTCL has no public USD exchange. Returns W-state fidelity, entanglement witness, and oracle coherence as network health proxy.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
⚪qtcl_retro_settle

Retroactively settle all blocks whose UTXOs are missing from address_utxos. Safe to call repeatedly — idempotent. Returns counts of settled/skipped/error blocks. Use this when miner balance is lower than expected after mining blocks.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
⚪qtcl_repair_utxos

Nuclear UTXO repair: bypasses settlement machinery and directly inserts missing UTXOs from the transactions table. Use when qtcl_retro_settle reports success but UTXOs are still missing. Commits per-UTXO for maximum isolation. Returns repaired_blocks, repaired_utxos, recomputed_wallets counts.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡qtcl_submit_block(height, block_hash, parent_hash, merkle_root, timestamp, ...)

Submit a fully PoW-solved and HypΓ-signed block to the chain. This is the unified miner submission path. The miner client performs PoW locally, signs the block header, then calls this with the complete payload. Required: height, block_hash, parent_hash, merkle_root, timestamp, nonce, miner_address, difficulty_bits, w_entropy_hash, hyp_signature, miner_public_key_hex. Optional: transactions (JSON array), w_state_fidelity, pq0, pq_curr, pq_last, mermin_value, mermin_violated, quantum_field_16x16x16. Returns: {status, height, block_hash, next_height, miner_reward_qtcl}.

입력 스키마

{
  "type": "object",
  "properties": {
    "height": {
      "type": "integer",
      "description": "Block height"
    },
    "block_hash": {
      "type": "string",
      "description": "Block hash hex"
    },
    "parent_hash": {
      "type": "string",
      "description": "Parent block hash hex"
    },
    "merkle_root": {
      "type": "string",
      "description": "Merkle root hex"
    },
    "timestamp": {
      "type": "integer",
      "description": "Block timestamp (epoch seconds)"
    },
    "nonce": {
      "type": "integer",
      "description": "PoW nonce"
    },
    "miner_address": {
      "type": "string",
      "description": "Miner's QTCL address"
    },
    "difficulty_bits": {
      "type": "integer",
      "description": "Difficulty bits"
    },
    "w_entropy_hash": {
      "type": "string",
      "description": "W-state entropy hash"
    },
    "hyp_signature": {
      "type": "string",
      "description": "HypΓ block signature"
    },
    "miner_public_key_hex": {
      "type": "string",
      "description": "Miner's public key hex"
    },
    "transactions": {
      "type": "string",
      "description": "JSON array string of transactions (default [])"
    },
    "w_state_fidelity": {
      "type": "number",
      "description": "W-state fidelity (default 0.75)"
    },
    "pq0": {
      "type": "integer",
      "description": "Initial oracle PQ counter (default 0)"
    },
    "pq_curr": {
      "type": "integer",
      "description": "Current oracle PQ counter (default 0)"
    },
    "pq_last": {
      "type": "integer",
      "description": "Last oracle PQ counter (default 0)"
    },
    "mermin_value": {
      "type": "number",
      "description": "Mermin inequality value (default 0.0)"
    },
    "mermin_violated": {
      "type": "boolean",
      "description": "Mermin violation flag (default false)"
    },
    "quantum_field_16x16x16": {
      "type": "string",
      "description": "Quantum field data (default empty)"
    }
  },
  "required": [
    "height",
    "block_hash",
    "parent_hash",
    "merkle_root",
    "timestamp",
    "nonce",
    "miner_address",
    "difficulty_bits",
    "w_entropy_hash",
    "hyp_signature",
    "miner_public_key_hex"
  ],
  "additionalProperties": false
}
⚪qtcl_quantum_encrypt(plaintext_hex, public_key, ibm_token, async)

Quantum-bound encryption via IBM QLDPC hardware (ibm_marrakesh/ibm_kingston). Two modes: quantum_bound (async=false, default): XOR-masks the encapsulated key with a hardware-derived quantum key. Runs synchronously with 8192 shots for deterministic results. Recipient MUST use qtcl_quantum_decrypt to recover the key. attestation (async=true): Leaves encapsulated key unchanged, runs hardware in background. Attaches quantum_commitment as metadata. Classical decrypt still works. Returns: Ciphertext dict with quantum_commitment, quantum_status, quantum_mode, quantum_hardened, and all standard encryption fields.

입력 스키마

{
  "type": "object",
  "properties": {
    "plaintext_hex": {
      "type": "string",
      "description": "Hex-encoded plaintext bytes to encrypt"
    },
    "public_key": {
      "type": "string",
      "description": "Recipient's public key (hex)"
    },
    "ibm_token": {
      "type": "string",
      "description": "Per-request IBM Quantum API token (optional — uses server env var if blank)"
    },
    "async": {
      "type": "boolean",
      "description": "True for attestation mode, false for quantum-bound (default false)",
      "default": false
    }
  },
  "required": [
    "plaintext_hex",
    "public_key"
  ],
  "additionalProperties": false
}
⚪qtcl_quantum_decrypt(ciphertext, private_key, ibm_token)

Decrypt quantum-bound or quantum-assisted ciphertext. Auto-detects mode from the ciphertext dict: quantum_bound → runs QLDPC pipeline on masked key, XOR-unmasks, decrypts attestation → tries classical first, falls back to quantum-assisted recovery classical → pure classical decrypt Returns: Plaintext (hex), plaintext_length, quantum_assisted flag, quantum_mode.

입력 스키마

{
  "type": "object",
  "properties": {
    "ciphertext": {
      "type": "string",
      "description": "JSON string of the ciphertext dict from qtcl_quantum_encrypt (must include quantum_commitment, quantum_mode, etc.)"
    },
    "private_key": {
      "type": "string",
      "description": "Recipient's private key (hex)"
    },
    "ibm_token": {
      "type": "string",
      "description": "Per-request IBM Quantum API token (optional)"
    }
  },
  "required": [
    "ciphertext",
    "private_key"
  ],
  "additionalProperties": false
}
⚪qtcl_quantum_pipeline(ciphertext_hex, genus, shots, ibm_token)

Run the full QLDPC pipeline directly on IBM quantum hardware. Encodes ciphertext bytes into a hyperbolic QLDPC code, runs on real IBM hardware (8192 shots), decodes syndromes via BP+OSD, and returns the recovered key fragment. Returns: Pipeline result with recovered_key_hex, residual, status, job_id, backend.

입력 스키마

{
  "type": "object",
  "properties": {
    "ciphertext_hex": {
      "type": "string",
      "description": "Hex-encoded bytes to use as key fragment input"
    },
    "genus": {
      "type": "integer",
      "description": "Hyperbolic surface genus (default 1)",
      "default": 1
    },
    "shots": {
      "type": "integer",
      "description": "Measurement shots (default 8192)",
      "default": 8192
    },
    "ibm_token": {
      "type": "string",
      "description": "Per-request IBM Quantum API token (optional)"
    }
  },
  "required": [
    "ciphertext_hex"
  ],
  "additionalProperties": false
}
🟡qtcl_create_hybrid_wallet(label)

Create a new QTCL wallet with HYBRID post-quantum keys: Falcon-512 (NIST FIPS 206, 128-bit PQ security) + SL(3,p) (~70-bit classical). Returns full keypair dict with both Falcon and SL(3,p) components. Server does NOT retain secret keys. This is the v3 recommended wallet type — quantum-safe by default.

입력 스키마

{
  "type": "object",
  "properties": {
    "label": {
      "type": "string",
      "description": "Optional human-readable wallet label"
    }
  },
  "additionalProperties": false
}
🟡qtcl_sign_message_hybrid(message_hex, private_key_json)

Sign a 32-byte message hash with HYBRID PQC (Falcon-512 + SL(3,p)). Both Falcon and SL(3,p) signatures are computed independently — verification requires BOTH to be valid. message_hex must be 64 hex chars (SHA3-256 of signing payload). private_key_json must be the full JSON output from qtcl_create_hybrid_wallet. Returns hybrid signature dict — pass verbatim as 'signature' to qtcl_send_transaction.

입력 스키마

{
  "type": "object",
  "properties": {
    "message_hex": {
      "type": "string",
      "description": "64 hex chars (32-byte SHA3-256 hash of tx signing payload)"
    },
    "private_key_json": {
      "type": "string",
      "description": "Full JSON string from qtcl_create_hybrid_wallet (contains both Falcon and SL(3,p) secret keys)"
    }
  },
  "required": [
    "message_hex",
    "private_key_json"
  ],
  "additionalProperties": false
}
🟢qtcl_get_pqc_status

Return PQC module status — shows whether Falcon-512 is available, key/signature sizes, security level, and hybrid signature overhead. Use to check if the server supports full hybrid PQ signatures.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 22개
검증됨버전이 기록되지 않음도구 22개