runtime

Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.

사용해야 할까요

품질 및 안전성

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

발견 사항 (26)

  • LOWTool 'json.format' doesn't follow camelCase/snake_casejson.format에서
  • LOWTool 'json.minify' doesn't follow camelCase/snake_casejson.minify에서
  • LOWTool 'json.validate' doesn't follow camelCase/snake_casejson.validate에서
  • LOWTool 'base64.encode' doesn't follow camelCase/snake_casebase64.encode에서
  • LOWTool 'base64.decode' doesn't follow camelCase/snake_casebase64.decode에서
  • LOWTool 'url.encode' doesn't follow camelCase/snake_caseurl.encode에서
  • LOWTool 'url.decode' doesn't follow camelCase/snake_caseurl.decode에서
  • LOWTool 'slug.generate' doesn't follow camelCase/snake_caseslug.generate에서
  • LOWTool 'hash.text' doesn't follow camelCase/snake_casehash.text에서
  • LOWTool 'uuid.v4' doesn't follow camelCase/snake_caseuuid.v4에서

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

컨텍스트 비용

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

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

설치

원클릭 설치

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

{
  "mcpServers": {
    "runtime": {
      "url": "https://mcp.formatho.com/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.formatho.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (26)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
⚪json.format(json, indent)

Validate and pretty-print JSON with a configurable indent level. [data · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "json": {
      "type": "string",
      "minLength": 1
    },
    "indent": {
      "type": "integer",
      "minimum": 0,
      "maximum": 8,
      "default": 2
    }
  },
  "required": [
    "json"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪json.minify(json)

Validate JSON and strip all insignificant whitespace. [data · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "json": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "json"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢json.validate(json)

Validate JSON and report the parse error position if invalid. [data · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "json": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "json"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪base64.encode(text)

Base64-encode text (standard alphabet). [data · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string"
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪base64.decode(base64)

Base64-decode to text. [data · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "base64": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "base64"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪url.encode(text)

Percent-encode text (component encoding). [network · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string"
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪url.decode(text)

Decode percent-encoded text. [network · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string"
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪slug.generate(text)

Convert text to a URL-safe kebab-case slug. [dev · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪hash.text(text, algorithm)

Hash text with md5/sha1/sha256/sha384/sha512 (hex output). MD5/SHA1 are for compatibility checks only, not security. [security · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string"
    },
    "algorithm": {
      "type": "string",
      "enum": [
        "md5",
        "sha1",
        "sha256",
        "sha384",
        "sha512"
      ],
      "default": "sha256"
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪uuid.v4(count)

Generate random UUID v4 values. [security · v1.0.0 · deterministic: false · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 1
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪random.string(length)

Generate a cryptographically random alphanumeric string. [security · v1.0.0 · deterministic: false · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "length": {
      "type": "integer",
      "minimum": 8,
      "maximum": 512,
      "default": 32
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪jwt.decode(token)

Decode a JWT (JWS compact serialization) header and claims WITHOUT verifying the signature. Reports expiry status from the exp claim. [security · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "minLength": 10
    }
  },
  "required": [
    "token"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪evm.keccak256(data, encoding)

Keccak-256 (Ethereum flavor, NOT NIST SHA3-256) of arbitrary hex or text. [web3 · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "data": {
      "type": "string",
      "minLength": 1
    },
    "encoding": {
      "type": "string",
      "enum": [
        "hex",
        "utf8"
      ],
      "default": "utf8"
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢evm.function_selector(signature, selector)

Compute the 4-byte function selector from a canonical signature, with reverse lookup against common signatures. [web3 · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "signature": {
      "type": "string",
      "minLength": 3
    },
    "selector": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{8}$"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢evm.create2_address(factory, salt, initCodeHash)

Compute the deterministic CREATE2 address: keccak256(0xff ‖ factory ‖ salt ‖ initCodeHash)[12:]. [web3 · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "factory": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "salt": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{1,64}$"
    },
    "initCodeHash": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{64}$"
    }
  },
  "required": [
    "factory",
    "salt",
    "initCodeHash"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢evm.storage_slot(kind, baseSlot, keyHex, arrayIndex)

Compute Solidity storage slots: simple variables, mapping values (keccak(key ‖ p)), and dynamic array elements (keccak(p) + index). [web3 · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "simple",
        "mapping",
        "array"
      ],
      "default": "mapping"
    },
    "baseSlot": {
      "type": "integer",
      "minimum": 0
    },
    "keyHex": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{1,64}$"
    },
    "arrayIndex": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "baseSlot"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢evm.decode_calldata(calldata)

Extract the 4-byte selector from raw calldata, match it against common signatures, and decode static (word-based) arguments: address, uint256, int256, bytes32, bool. [web3 · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "calldata": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]+$"
    }
  },
  "required": [
    "calldata"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢evm.v4_hook_permissions(calls, address)

Uniswap v4 hook permissions: compute the 14-bit permission field from hook-call names, or decode the field from a hook address (bits live in the LOW 14 bits: address & 0x3FFF). [web3 · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "calls": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "beforeInitialize",
          "afterInitialize",
          "beforeAddLiquidity",
          "afterAddLiquidity",
          "beforeRemoveLiquidity",
          "afterRemoveLiquidity",
          "beforeSwap",
          "afterSwap",
          "beforeDonate",
          "afterDonate",
          "beforeSwapReturnsDelta",
          "afterSwapReturnsDelta",
          "afterAddLiquidityReturnsDelta",
          "afterRemoveLiquidityReturnsDelta"
        ]
      }
    },
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪erc4626.math(totalAssets, totalSupply, amount, direction, virtualAssets, ...)

Exact EIP-4626 vault math in BigInt: convert assets to shares (round down) and shares to assets (round down), with optional virtual offsets. [defi · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "totalAssets": {
      "type": "string",
      "pattern": "^\\d+$"
    },
    "totalSupply": {
      "type": "string",
      "pattern": "^\\d+$"
    },
    "amount": {
      "type": "string",
      "pattern": "^\\d+$"
    },
    "direction": {
      "type": "string",
      "enum": [
        "assetsToShares",
        "sharesToAssets"
      ],
      "default": "assetsToShares"
    },
    "virtualAssets": {
      "type": "string",
      "pattern": "^\\d+$",
      "default": "0"
    },
    "virtualShares": {
      "type": "string",
      "pattern": "^\\d+$",
      "default": "0"
    }
  },
  "required": [
    "totalAssets",
    "totalSupply",
    "amount"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪timestamp.convert(value, iso)

Convert Unix seconds/milliseconds to ISO 8601 (UTC) and back. [dev · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "value": {
      "type": [
        "string",
        "number"
      ]
    },
    "iso": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪regex.test(pattern, text, flags)

Test a regular expression against text: match result plus all capture groups. [dev · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "pattern": {
      "type": "string",
      "minLength": 1
    },
    "text": {
      "type": "string"
    },
    "flags": {
      "type": "string",
      "maxLength": 8,
      "default": ""
    }
  },
  "required": [
    "pattern",
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪case.convert(text, to)

Convert an identifier between camelCase, snake_case, kebab-case, CONSTANT_CASE, and Title Case. [dev · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1
    },
    "to": {
      "type": "string",
      "enum": [
        "camel",
        "snake",
        "kebab",
        "constant",
        "title"
      ],
      "default": "snake"
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪hex.encode(text, hex)

Encode text to hex, or decode hex (with or without 0x) to text. [data · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string"
    },
    "hex": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪evm.checksum_address(address)

EIP-55 checksum an Ethereum address, or verify a checksummed one. [web3 · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪evm.unit_convert(value, from, to)

Convert EVM amounts between wei, gwei, and ether with exact BigInt math. [web3 · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {
    "value": {
      "type": "string",
      "pattern": "^\\d+(\\.\\d+)?$"
    },
    "from": {
      "type": "string",
      "enum": [
        "wei",
        "gwei",
        "ether"
      ],
      "default": "ether"
    },
    "to": {
      "type": "string",
      "enum": [
        "wei",
        "gwei",
        "ether"
      ],
      "default": "wei"
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢formatho.registry

List every registered Formatho tool with version, category, deterministic flag, permissions, and Formatho Verified status. [meta · v1.0.0 · deterministic: true · permissions: none]

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

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