Search / com.formatho/runtime
runtime
not classifiedSelf-hosted MCP server: 26 deterministic dev, security, and EVM tools.
v0.3.0 · active · descriptor JSON · versions
Search / com.formatho/runtime
Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
v0.3.0 · active · descriptor JSON · versions
{
"mcpServers": {
"runtime": {
"type": "http",
"url": "https://mcp.formatho.com/mcp"
}
}
}claude mcp add --transport http runtime https://mcp.formatho.com/mcp[mcp_servers.runtime]
url = "https://mcp.formatho.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"runtime": {
"type": "remote",
"url": "https://mcp.formatho.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"runtime": {
"type": "http",
"url": "https://mcp.formatho.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=runtime&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmZvcm1hdGhvLmNvbS9tY3AifQ%3D%3D"
}{
"servers": {
"runtime": {
"type": "http",
"url": "https://mcp.formatho.com/mcp"
}
}
}{
"mcpServers": {
"runtime": {
"httpUrl": "https://mcp.formatho.com/mcp"
}
}
}extensions:
"runtime":
enabled: true
name: "runtime"
type: streamable_http
uri: "https://mcp.formatho.com/mcp"
timeout: 300
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky onestools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: formatho.registry (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); hex.encode (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); json.format (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …tools.token_costabout 2,556 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes, stability.rug_pulltool history not recorded yetdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace -unreachable(1 failures) ~updated-37d-ago -no-repository -unpinned-packages(1)
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.formatho.com/mcp streamable-http | unknown | no (1 failures) | 96% | 163 ms | – | 2026-10-19 |
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
docker.io/formatho/formatho-runtime:0.3.0 | oci | unpinned | – |
base64.decode | Base64-decode to text. [data · v1.0.0 · deterministic: true · permissions: none] |
base64.encode | Base64-encode text (standard alphabet). [data · v1.0.0 · deterministic: true · permissions: none] |
case.convert | Convert an identifier between camelCase, snake_case, kebab-case, CONSTANT_CASE, and Title Case. [dev · v1.0.0 · deterministic: true · permissions: none] |
erc4626.math | 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] |
evm.checksum_address | EIP-55 checksum an Ethereum address, or verify a checksummed one. [web3 · v1.0.0 · deterministic: true · permissions: none] |
evm.create2_address | Compute the deterministic CREATE2 address: keccak256(0xff ‖ factory ‖ salt ‖ initCodeHash)[12:]. [web3 · v1.0.0 · deterministic: true · permissions: none] |
evm.decode_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] |
evm.function_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] |
evm.keccak256 | Keccak-256 (Ethereum flavor, NOT NIST SHA3-256) of arbitrary hex or text. [web3 · v1.0.0 · deterministic: true · permissions: none] |
evm.storage_slot | 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] |
evm.unit_convert | Convert EVM amounts between wei, gwei, and ether with exact BigInt math. [web3 · v1.0.0 · deterministic: true · permissions: none] |
evm.v4_hook_permissions | 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] |
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] |
hash.text | 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] |
hex.encode | Encode text to hex, or decode hex (with or without 0x) to text. [data · v1.0.0 · deterministic: true · permissions: none] |
json.format | Validate and pretty-print JSON with a configurable indent level. [data · v1.0.0 · deterministic: true · permissions: none] |
json.minify | Validate JSON and strip all insignificant whitespace. [data · v1.0.0 · deterministic: true · permissions: none] |
json.validate | Validate JSON and report the parse error position if invalid. [data · v1.0.0 · deterministic: true · permissions: none] |
jwt.decode | 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] |
random.string | Generate a cryptographically random alphanumeric string. [security · v1.0.0 · deterministic: false · permissions: none] |
regex.test | Test a regular expression against text: match result plus all capture groups. [dev · v1.0.0 · deterministic: true · permissions: none] |
slug.generate | Convert text to a URL-safe kebab-case slug. [dev · v1.0.0 · deterministic: true · permissions: none] |
timestamp.convert | Convert Unix seconds/milliseconds to ISO 8601 (UTC) and back. [dev · v1.0.0 · deterministic: true · permissions: none] |
url.decode | Decode percent-encoded text. [network · v1.0.0 · deterministic: true · permissions: none] |
url.encode | Percent-encode text (component encoding). [network · v1.0.0 · deterministic: true · permissions: none] |
uuid.v4 | Generate random UUID v4 values. [security · v1.0.0 · deterministic: false · permissions: none] |
Schemas: list_tools.
{
"name": "com.formatho/runtime",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.formatho.com/mcp",
"type": "streamable-http"
}
],
"version": "0.3.0",
"packages": [
{
"transport": {
"type": "stdio"
},
"identifier": "docker.io/formatho/formatho-runtime:0.3.0",
"registryType": "oci",
"packageArguments": [
{
"type": "positional",
"value": "run"
},
{
"type": "positional",
"value": "-i"
},
{
"type": "positional",
"value": "--rm"
},
{
"type": "positional",
"value": "-v"
},
{
"type": "positional",
"value": "formatho-audit:/data"
},
{
"type": "positional",
"value": "docker.io/formatho/formatho-runtime:0.3.0"
}
]
}
],
"description": "Self-hosted MCP server: 26 deterministic dev, security, and EVM tools."
}