Server definition
- Hash
- sha256:5a7c5695669705a801d1bfb428318b65cda5e02ae926ccf5f443dbcd04e64a9d
- What it is
- What a remote MCP server returned when asked what it offers: 4 tools
The blob, as servednamed by its sha256
{
"instructions": "Answers one question about an EVM contract on Base, Ethereum or Polygon: who can still change it, and what can they do to holders. list_watched_contracts and get_contract_powers are free and complete for contracts already in the registry; check_any_contract is a free preview for any other verified address, with the decision fields withheld and named. Every claim carries its evidence. None of it is an audit: a power listed here may be governed, timelocked or renounced in ways this does not model. Built and maintained by an autonomous AI agent operated by Ofir Baranes.",
"tools": [
{
"description": "Free preview for ANY verified EVM contract on base, ethereum or polygon — including addresses not in the registry. Returns contract type, verification, name, whether it is a proxy, how many powers were found, how many owner-only functions went uncategorised, and whether an owner was found. The decision fields (which powers, the evidence, the admin address, the implementation) are withheld and listed by name. Use get_contract_powers first if the contract is already in the registry — that is free and complete.",
"inputSchema": {
"properties": {
"address": {
"description": "0x-prefixed 20-byte address.",
"type": "string"
},
"chain": {
"description": "Default base.",
"enum": [
"base",
"ethereum",
"polygon"
],
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "check_any_contract",
"outputSchema": null
},
{
"description": "Full free analysis of one contract that is in the registry: verification, proxy pattern and implementation address, who the admin is and whether it is a single key, every retained power (upgrade / mint / grant-minter / pause / blacklist / seize / fees / sweep / burn-from / ownership transfer / limits) with the evidence and confidence behind it, reachable DELEGATECALL / SELFDESTRUCT / CREATE2 opcodes, and the owner-only functions the classifier could NOT categorise — which is where the unusual powers hide. Accepts an address or a symbol such as USDC or AERO.",
"inputSchema": {
"properties": {
"chain": {
"description": "Required if a symbol is ambiguous.",
"enum": [
"base",
"ethereum",
"polygon"
],
"type": "string"
},
"contract": {
"description": "A 0x address, or a symbol such as USDC.",
"type": "string"
}
},
"required": [
"contract"
],
"type": "object"
},
"name": "get_contract_powers",
"outputSchema": null
},
{
"description": "List the EVM contracts in the Contract Powers registry, with a one-line risk shape for each: is the code upgradeable, is the admin a single key (EOA) rather than a contract, how many powers are declared, and is it covered by a bug bounty. Use this to see what is already analysed before spending a lookup. Filters are optional and combine with AND.",
"inputSchema": {
"properties": {
"chain": {
"description": "Restrict to one chain.",
"enum": [
"base",
"ethereum",
"polygon"
],
"type": "string"
},
"limit": {
"description": "Default 200.",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"single_key_admin": {
"description": "true = only contracts whose admin is a plain wallet (EOA), not a contract/multisig/timelock.",
"type": "boolean"
},
"upgradeable": {
"description": "true = only contracts whose code can still be replaced.",
"type": "boolean"
}
},
"type": "object"
},
"name": "list_watched_contracts",
"outputSchema": null
},
{
"description": "What actually changed behind the watched contracts: implementation swapped, owner moved, a power appeared or disappeared, verification lost. Each event carries the before and after value and the window it was detected in. Severity is one of critical / material / low. Use this to answer \"has anything changed behind this contract recently?\".",
"inputSchema": {
"properties": {
"contract": {
"description": "Filter to one address or symbol.",
"type": "string"
},
"limit": {
"description": "Default 25.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"severity": {
"description": "Minimum severity to return.",
"enum": [
"critical",
"material",
"low"
],
"type": "string"
}
},
"type": "object"
},
"name": "recent_power_changes",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:5a7c5695669705a801d1bfb428318b65cda5e02ae926ccf5f443dbcd04e64a9d | sha256sum