com.formatho/runtime

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

Endpointhttps://mcp.formatho.com/mcp (streamable-http)
Registry version0.3.0
Now26 tools · grade F (20) · pin ts_a0f3e4c1c9dc7ef937d7dfd62ff9099c · protocol 2025-06-18
First / last listed2026-10-25 07:01 UTC / 2026-10-25 07:01 UTC
Grade over time2026-10-25: F (20), 26 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-25 07:01 UTC
26 tools, grade F (20)

Tools: json.format json.minify json.validate base64.encode base64.decode url.encode url.decode slug.generate hash.text uuid.v4 random.string jwt.decode evm.keccak256 evm.function_selector evm.create2_address evm.storage_slot evm.decode_calldata evm.v4_hook_permissions erc4626.math timestamp.convert regex.test case.convert hex.encode evm.checksum_address evm.unit_convert formatho.registry

Current tools (26)

json.formatValidate and pretty-print JSON with a configurable indent level. [data · v1.0.0 · deterministic: true · permissions: none]
params: json*, indent
json.minifyValidate JSON and strip all insignificant whitespace. [data · v1.0.0 · deterministic: true · permissions: none]
params: json*
json.validateValidate JSON and report the parse error position if invalid. [data · v1.0.0 · deterministic: true · permissions: none]
params: json*
base64.encodeBase64-encode text (standard alphabet). [data · v1.0.0 · deterministic: true · permissions: none]
params: text*
base64.decodeBase64-decode to text. [data · v1.0.0 · deterministic: true · permissions: none]
params: base64*
url.encodePercent-encode text (component encoding). [network · v1.0.0 · deterministic: true · permissions: none]
params: text*
url.decodeDecode percent-encoded text. [network · v1.0.0 · deterministic: true · permissions: none]
params: text*
slug.generateConvert text to a URL-safe kebab-case slug. [dev · v1.0.0 · deterministic: true · permissions: none]
params: text*
hash.textHash 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]
params: text*, algorithm
uuid.v4Generate random UUID v4 values. [security · v1.0.0 · deterministic: false · permissions: none]
params: count
random.stringGenerate a cryptographically random alphanumeric string. [security · v1.0.0 · deterministic: false · permissions: none]
params: length
jwt.decodeDecode 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]
params: token*
evm.keccak256Keccak-256 (Ethereum flavor, NOT NIST SHA3-256) of arbitrary hex or text. [web3 · v1.0.0 · deterministic: true · permissions: none]
params: data*, encoding
evm.function_selectorCompute the 4-byte function selector from a canonical signature, with reverse lookup against common signatures. [web3 · v1.0.0 · deterministic: true · permissions: none]
params: signature, selector
evm.create2_addressCompute the deterministic CREATE2 address: keccak256(0xff ‖ factory ‖ salt ‖ initCodeHash)[12:]. [web3 · v1.0.0 · deterministic: true · permissions: none]
params: factory*, salt*, initCodeHash*
evm.storage_slotCompute 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]
params: kind, baseSlot*, keyHex, arrayIndex
evm.decode_calldataExtract 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]
params: calldata*
evm.v4_hook_permissionsUniswap 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]
params: calls, address
erc4626.mathExact 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]
params: totalAssets*, totalSupply*, amount*, direction, virtualAssets, virtualShares
timestamp.convertConvert Unix seconds/milliseconds to ISO 8601 (UTC) and back. [dev · v1.0.0 · deterministic: true · permissions: none]
params: value, iso
regex.testTest a regular expression against text: match result plus all capture groups. [dev · v1.0.0 · deterministic: true · permissions: none]
params: pattern*, text*, flags
case.convertConvert an identifier between camelCase, snake_case, kebab-case, CONSTANT_CASE, and Title Case. [dev · v1.0.0 · deterministic: true · permissions: none]
params: text*, to
hex.encodeEncode text to hex, or decode hex (with or without 0x) to text. [data · v1.0.0 · deterministic: true · permissions: none]
params: text, hex
evm.checksum_addressEIP-55 checksum an Ethereum address, or verify a checksummed one. [web3 · v1.0.0 · deterministic: true · permissions: none]
params: address*
evm.unit_convertConvert EVM amounts between wei, gwei, and ether with exact BigInt math. [web3 · v1.0.0 · deterministic: true · permissions: none]
params: value*, from, to
formatho.registryList every registered Formatho tool with version, category, deterministic flag, permissions, and Formatho Verified status. [meta · v1.0.0 · deterministic: true · permissions: none]
params: none

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.