Hash Encoding Direct Credits

Deterministic SHA, HMAC, Base64 and JWT decode tools with prepaid direct-USDC API credits on Base.

사용해야 할까요

품질 및 안전성

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

발견 사항 (2)

  • LOWTool 'base64_encode' description lacks action verbbase64_encode에서
  • LOWTool 'base64_decode' description lacks action verbbase64_decode에서

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

컨텍스트 비용

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

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

설치

원클릭 설치

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

{
  "mcpServers": {
    "hash-encoding-direct-credits": {
      "url": "https://hash-encoding-001d.qqqa16521-dce.workers.dev/mcp"
    }
  }
}

원격 엔드포인트

https://hash-encoding-001d.qqqa16521-dce.workers.dev/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (8)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢get_payment_info

Return the complete purchase and redemption instructions for this service's prepaid API credits. Use this before paying or when an agent needs the Base Mainnet network, native USDC contract, receiver address, exact package amount, credit quantity, buyer-gas requirement, or redemption steps. This call is free and does not require a bearer token. It does not return a balance; use get_credit_balance after you already have a redeemed bearer token. This payment scheme is direct USDC credits, not x402.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "scheme": {
      "type": "string",
      "description": "Payment scheme identifier: direct-usdc-credits-v1."
    },
    "network": {
      "type": "string",
      "description": "CAIP-2 network identifier for Base Mainnet."
    },
    "chainId": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "EVM chain ID for Base Mainnet."
    },
    "asset": {
      "type": "string",
      "description": "Native Circle USDC contract address on Base Mainnet."
    },
    "assetDecimals": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "USDC decimal precision."
    },
    "receiver": {
      "type": "string",
      "description": "Public wallet address that receives the exact USDC package payment."
    },
    "packages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "amountAtomic": {
            "type": "string",
            "description": "Exact USDC amount in atomic 6-decimal units."
          },
          "credits": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "description": "Credits issued after successful redemption."
          }
        },
        "required": [
          "amountAtomic",
          "credits"
        ],
        "additionalProperties": false
      },
      "description": "Available prepaid credit packages."
    },
    "buyerPaysGas": {
      "type": "boolean",
      "description": "Whether the buyer pays the on-chain transaction gas."
    },
    "facilitatorRequired": {
      "type": "boolean",
      "description": "Whether a payment facilitator is required."
    },
    "x402Compatible": {
      "type": "boolean",
      "description": "Whether this direct-credit flow is x402-compatible."
    },
    "purchasePath": {
      "type": "string",
      "description": "Same-origin browser path for the self-service purchase and redemption flow."
    },
    "redeemFlow": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Ordered manual API steps required to redeem a qualifying payment into API credits."
    }
  },
  "required": [
    "scheme",
    "network",
    "chainId",
    "asset",
    "assetDecimals",
    "receiver",
    "packages",
    "buyerPaysGas",
    "facilitatorRequired",
    "x402Compatible",
    "purchasePath",
    "redeemFlow"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_credit_balance

Check the remaining prepaid API credits for the bearer token configured on this MCP connection. Use this after redeeming a payment when you need to decide whether a protected tool can be called. The bearer token is read from the Authorization header, not from tool arguments. This call is free, does not spend credits, and does not purchase or redeem credits.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "credits": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Current number of remaining API credits."
        }
      },
      "required": [
        "credits"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Reason the balance could not be returned, such as a missing or invalid bearer token."
        }
      },
      "required": [
        "error"
      ],
      "additionalProperties": false
    }
  ]
}
🔴hash_sha256(input)

Create an unkeyed SHA-256 fingerprint of UTF-8 text. Use this for checksums, deduplication, content fingerprints, or integrity comparisons when no shared secret is involved; use hmac_sha256 instead when keyed authentication is required. Returns the 32-byte digest as 64 lowercase hexadecimal characters. Costs 1 credit.

입력 스키마

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "maxLength": 65536,
      "description": "Text to hash, interpreted as UTF-8, maximum 65,536 characters."
    }
  },
  "required": [
    "input"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "sha256": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$",
          "description": "SHA-256 digest as 64 lowercase hexadecimal characters."
        },
        "creditsRemaining": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Credits remaining after this successful 1-credit call."
        }
      },
      "required": [
        "sha256",
        "creditsRemaining"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Human-readable reason the protected tool call failed."
        },
        "status": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "HTTP-style status code for the failure."
        },
        "creditsRemaining": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ],
          "description": "Known remaining credits, or null when no balance can be reported."
        }
      },
      "required": [
        "error",
        "status",
        "creditsRemaining"
      ],
      "additionalProperties": false
    }
  ]
}
🔴hash_sha512(input)

Create an unkeyed SHA-512 fingerprint of UTF-8 text. Use this when a 512-bit digest is specifically required for checksums, fingerprints, or compatibility; use hash_sha256 for the more common 256-bit digest and hmac_sha256 when keyed authentication is required. Returns 128 lowercase hexadecimal characters. Costs 1 credit.

입력 스키마

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "maxLength": 65536,
      "description": "Text to hash, interpreted as UTF-8, maximum 65,536 characters."
    }
  },
  "required": [
    "input"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "sha512": {
          "type": "string",
          "pattern": "^[0-9a-f]{128}$",
          "description": "SHA-512 digest as 128 lowercase hexadecimal characters."
        },
        "creditsRemaining": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Credits remaining after this successful 1-credit call."
        }
      },
      "required": [
        "sha512",
        "creditsRemaining"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Human-readable reason the protected tool call failed."
        },
        "status": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "HTTP-style status code for the failure."
        },
        "creditsRemaining": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ],
          "description": "Known remaining credits, or null when no balance can be reported."
        }
      },
      "required": [
        "error",
        "status",
        "creditsRemaining"
      ],
      "additionalProperties": false
    }
  ]
}
🔴hmac_sha256(key, message)

Authenticate a UTF-8 message with a UTF-8 secret key using HMAC-SHA256. Use this when you need keyed integrity/authentication with a shared secret; use hash_sha256 instead for an unkeyed checksum or fingerprint. Returns the 32-byte HMAC as 64 lowercase hexadecimal characters. Costs 1 credit.

입력 스키마

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "maxLength": 1024,
      "description": "Secret key interpreted as UTF-8 text, maximum 1,024 characters. Do not pass a hex/base64 key unless those literal characters are the intended key bytes."
    },
    "message": {
      "type": "string",
      "maxLength": 65536,
      "description": "Message interpreted as UTF-8 text, maximum 65,536 characters."
    }
  },
  "required": [
    "key",
    "message"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "hmacSha256": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$",
          "description": "HMAC-SHA256 digest encoded as 64 lowercase hexadecimal characters."
        },
        "creditsRemaining": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Credits remaining after this successful 1-credit call."
        }
      },
      "required": [
        "hmacSha256",
        "creditsRemaining"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Human-readable reason the protected tool call failed."
        },
        "status": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "HTTP-style status code for the failure."
        },
        "creditsRemaining": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ],
          "description": "Known remaining credits, or null when no balance can be reported."
        }
      },
      "required": [
        "error",
        "status",
        "creditsRemaining"
      ],
      "additionalProperties": false
    }
  ]
}
🔴base64_encode(input)

Encode UTF-8 text as standard Base64. Use this for transport/storage encoding of text bytes; Base64 is reversible encoding, not encryption and not a cryptographic hash. Returns the encoded Base64 string. Costs 1 credit.

입력 스키마

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "maxLength": 65536,
      "description": "Plain text interpreted as UTF-8, maximum 65,536 characters."
    }
  },
  "required": [
    "input"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "base64": {
          "type": "string",
          "description": "Standard Base64 representation of the UTF-8 input bytes."
        },
        "creditsRemaining": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Credits remaining after this successful 1-credit call."
        }
      },
      "required": [
        "base64",
        "creditsRemaining"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Human-readable reason the protected tool call failed."
        },
        "status": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "HTTP-style status code for the failure."
        },
        "creditsRemaining": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ],
          "description": "Known remaining credits, or null when no balance can be reported."
        }
      },
      "required": [
        "error",
        "status",
        "creditsRemaining"
      ],
      "additionalProperties": false
    }
  ]
}
🔴base64_decode(input)

Decode a standard Base64 string into UTF-8 text. Use this only when the decoded bytes are expected to be valid UTF-8; this tool is not for arbitrary binary output. Base64 is reversible encoding, not encryption. Costs 1 credit.

입력 스키마

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "maxLength": 65536,
      "description": "Standard Base64 text to decode, maximum 65,536 characters."
    }
  },
  "required": [
    "input"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "description": "Decoded UTF-8 text."
        },
        "creditsRemaining": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Credits remaining after this successful 1-credit call."
        }
      },
      "required": [
        "text",
        "creditsRemaining"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Human-readable reason the protected tool call failed."
        },
        "status": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "HTTP-style status code for the failure."
        },
        "creditsRemaining": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ],
          "description": "Known remaining credits, or null when no balance can be reported."
        }
      },
      "required": [
        "error",
        "status",
        "creditsRemaining"
      ],
      "additionalProperties": false
    }
  ]
}
🔴jwt_decode(token)

Decode a compact JWT's header and payload for inspection without verifying its signature. Use this for debugging or reading claims only; never treat the returned claims as authenticated or trusted. The response always reports signatureVerified=false, even when a signature segment is present. Costs 1 credit.

입력 스키마

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "maxLength": 8192,
      "description": "Compact JWT string in header.payload.signature form, maximum 8,192 characters."
    }
  },
  "required": [
    "token"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "header": {
          "description": "Decoded JWT header JSON value."
        },
        "payload": {
          "description": "Decoded JWT payload JSON value."
        },
        "signaturePresent": {
          "type": "boolean",
          "description": "Whether the compact JWT included a non-empty signature segment."
        },
        "signatureVerified": {
          "type": "boolean",
          "const": false,
          "description": "Always false: this tool does not verify JWT signatures."
        },
        "creditsRemaining": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Credits remaining after this successful 1-credit call."
        }
      },
      "required": [
        "header",
        "payload",
        "signaturePresent",
        "signatureVerified",
        "creditsRemaining"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Human-readable reason the protected tool call failed."
        },
        "status": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "HTTP-style status code for the failure."
        },
        "creditsRemaining": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ],
          "description": "Known remaining credits, or null when no balance can be reported."
        }
      },
      "required": [
        "error",
        "status",
        "creditsRemaining"
      ],
      "additionalProperties": false
    }
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

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