此 MCP 可以做什么
Provides access to an agent-skill and MCP server registry, skill inspection and composition tools, OAuth connections, and agent advertising campaign management.
工具
输入模式
{'type': 'object', 'required': ['profile', 'skillIds'], 'properties': {'name': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9._ -]*$', 'maxLength': 128, 'minLength': 1}, 'profile': {'type': 'object', 'required': ['goals'], 'properties': {'goals': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'maxItems': 32, 'minItems': 1, 'uniqueItems': True}, 'languages': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'frameworks': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'constraints': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'projectType': {'type': 'string', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'targets': {'type': 'array', 'items': {'type': 'object', 'required': ['host', 'scope'], 'properties': {'host': {'enum': ['codex', 'claude'], 'type': 'string'}, 'scope': {'enum': ['project', 'user'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 1, 'uniqueItems': True}, 'skillIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9._-]*(?:/[a-z0-9][a-z0-9._-]*)*$', 'maxLength': 256, 'minLength': 1}, 'maxItems': 128, 'minItems': 1, 'uniqueItems': True}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['stack', 'toCatalogDigest'], 'properties': {'stack': {'type': 'object', 'required': ['schemaVersion', 'name', 'catalog', 'targets', 'profile', 'skills'], 'properties': {'name': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9._ -]*$', 'maxLength': 128, 'minLength': 1}, 'skills': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9._-]*(?:/[a-z0-9][a-z0-9._-]*)*$', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 128, 'uniqueItems': True}, 'catalog': {'type': 'object', 'required': ['package', 'version', 'integrity'], 'properties': {'package': {'type': 'string', 'pattern': '^(?:@[a-z0-9][a-z0-9._-]*/)?[a-z0-9][a-z0-9._-]*$', 'maxLength': 214, 'minLength': 1}, 'version': {'type': 'string', 'pattern': '^[0-9A-Za-z][0-9A-Za-z.+-]*$', 'maxLength': 64, 'minLength': 1}, 'integrity': {'type': 'string', 'pattern': '^sha256-[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'profile': {'type': 'object', 'required': ['goals', 'languages', 'frameworks', 'constraints'], 'properties': {'goals': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'maxItems': 32, 'minItems': 1, 'uniqueItems': True}, 'languages': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'frameworks': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'constraints': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'projectType': {'type': 'string', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'targets': {'type': 'array', 'items': {'type': 'object', 'required': ['host', 'scope'], 'properties': {'host': {'enum': ['codex', 'claude'], 'type': 'string'}, 'scope': {'enum': ['project', 'user'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 1, 'uniqueItems': True}, 'schemaVersion': {'type': 'integer', 'const': 2}}, 'additionalProperties': False}, 'toCatalogDigest': {'type': 'string', 'pattern': '^sha256-[a-f0-9]{64}$'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['manifestDigest', 'project', 'dimensions', 'capabilities'], 'properties': {'project': {'type': 'object', 'required': ['schemaVersion', 'files', 'fingerprint'], 'properties': {'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'size', 'sha256'], 'properties': {'path': {'type': 'string', 'maxLength': 512, 'minLength': 1}, 'size': {'type': 'integer', 'maximum': 1073741824, 'minimum': 0}, 'sha256': {'type': 'string', 'pattern': '^sha256-[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'maxItems': 4096, 'minItems': 1}, 'commit': {'type': 'string', 'pattern': '^(?:[a-f0-9]{40}|[a-f0-9]{64})$'}, 'fingerprint': {'type': 'string', 'pattern': '^sha256-[a-f0-9]{64}$'}, 'schemaVersion': {'type': 'integer', 'const': 1}}, 'additionalProperties': False}, 'dimensions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'status', 'capabilityIds'], 'properties': {'id': {'enum': ['architecture-runtime', 'languages-frameworks', 'domain-behavior', 'data-storage', 'external-integrations', 'testing-quality', 'security-privacy', 'user-experience-accessibility', 'deployment-operations', 'maintenance-workflow'], 'type': 'string'}, 'status': {'enum': ['applicable', 'not-applicable'], 'type': 'string'}, 'capabilityIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9-]{0,127}$'}, 'maxItems': 256, 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 10}, 'capabilities': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'dimensionId', 'status', 'evidence', 'selectedSkillIds'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9-]{0,127}$'}, 'status': {'enum': ['covered', 'catalog-gap', 'not-applicable'], 'type': 'string'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'sha256'], 'properties': {'path': {'type': 'string', 'maxLength': 512, 'minLength': 1}, 'sha256': {'type': 'string', 'pattern': '^sha256-[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'maxItems': 256}, 'dimensionId': {'enum': ['architecture-runtime', 'languages-frameworks', 'domain-behavior', 'data-storage', 'external-integrations', 'testing-quality', 'security-privacy', 'user-experience-accessibility', 'deployment-operations', 'maintenance-workflow'], 'type': 'string'}, 'selectedSkillIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256, 'minLength': 1}, 'maxItems': 128, 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 256}, 'manifestDigest': {'type': 'string', 'pattern': '^sha256-[a-f0-9]{64}$'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'includeContent': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['evidence', 'manifest'], 'properties': {'evidence': {'type': 'object'}, 'manifest': {'type': 'object', 'required': ['schemaVersion', 'name', 'catalog', 'targets', 'profile', 'skills'], 'properties': {'name': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9._ -]*$', 'maxLength': 128, 'minLength': 1}, 'skills': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9._-]*(?:/[a-z0-9][a-z0-9._-]*)*$', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 128, 'uniqueItems': True}, 'catalog': {'type': 'object', 'required': ['package', 'version', 'integrity'], 'properties': {'package': {'type': 'string', 'pattern': '^(?:@[a-z0-9][a-z0-9._-]*/)?[a-z0-9][a-z0-9._-]*$', 'maxLength': 214, 'minLength': 1}, 'version': {'type': 'string', 'pattern': '^[0-9A-Za-z][0-9A-Za-z.+-]*$', 'maxLength': 64, 'minLength': 1}, 'integrity': {'type': 'string', 'pattern': '^sha256-[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'profile': {'type': 'object', 'required': ['goals', 'languages', 'frameworks', 'constraints'], 'properties': {'goals': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'maxItems': 32, 'minItems': 1, 'uniqueItems': True}, 'languages': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'frameworks': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'constraints': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'projectType': {'type': 'string', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'targets': {'type': 'array', 'items': {'type': 'object', 'required': ['host', 'scope'], 'properties': {'host': {'enum': ['codex', 'claude'], 'type': 'string'}, 'scope': {'enum': ['project', 'user'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 1, 'uniqueItems': True}, 'schemaVersion': {'type': 'integer', 'const': 2}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['manifest'], 'properties': {'manifest': {'type': 'object', 'required': ['schemaVersion', 'name', 'catalog', 'targets', 'profile', 'skills'], 'properties': {'name': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9._ -]*$', 'maxLength': 128, 'minLength': 1}, 'skills': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9._-]*(?:/[a-z0-9][a-z0-9._-]*)*$', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 128, 'uniqueItems': True}, 'catalog': {'type': 'object', 'required': ['package', 'version', 'integrity'], 'properties': {'package': {'type': 'string', 'pattern': '^(?:@[a-z0-9][a-z0-9._-]*/)?[a-z0-9][a-z0-9._-]*$', 'maxLength': 214, 'minLength': 1}, 'version': {'type': 'string', 'pattern': '^[0-9A-Za-z][0-9A-Za-z.+-]*$', 'maxLength': 64, 'minLength': 1}, 'integrity': {'type': 'string', 'pattern': '^sha256-[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'profile': {'type': 'object', 'required': ['goals', 'languages', 'frameworks', 'constraints'], 'properties': {'goals': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'maxItems': 32, 'minItems': 1, 'uniqueItems': True}, 'languages': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'frameworks': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'constraints': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 32, 'uniqueItems': True}, 'projectType': {'type': 'string', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'targets': {'type': 'array', 'items': {'type': 'object', 'required': ['host', 'scope'], 'properties': {'host': {'enum': ['codex', 'claude'], 'type': 'string'}, 'scope': {'enum': ['project', 'user'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 1, 'uniqueItems': True}, 'schemaVersion': {'type': 'integer', 'const': 2}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'cursor': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['id', 'path'], 'properties': {'id': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'path': {'type': 'string', 'maxLength': 512, 'minLength': 1}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 16}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 256}, 'cursor': {'type': 'integer', 'minimum': 0}, 'matchMode': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 16}, 'requiredTerms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 16}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'properties': {'name': {'type': 'string'}, 'surface': {'type': 'string'}, 'link_url': {'type': 'string', 'description': 'Optional link shown with your name on the carrier board.'}, 'avatar_url': {'type': 'string', 'description': 'Optional face for the public carrier board: an image, a gif, or an 8×8 sprite sheet (a URL ending -sheet.png animates).'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['order_id'], 'properties': {'clicks': {'type': 'integer'}, 'serves': {'type': 'integer'}, 'recalls': {'type': 'integer'}, 'order_id': {'type': 'integer', 'description': 'from the feed'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer'}}}
输入模式
{'type': 'object', 'required': ['id', 'url', 'title', 'pitch'], 'properties': {'id': {'type': 'integer'}, 'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'when': {'type': 'string'}, 'pitch': {'type': 'string'}, 'title': {'type': 'string'}, 'logo_url': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['package', 'url', 'title', 'pitch'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string', 'description': 'your /word (optional)'}, 'when': {'type': 'string', 'description': 'when Rokha should recommend you'}, 'pitch': {'type': 'string'}, 'title': {'type': 'string'}, 'weeks': {'type': 'integer', 'default': 1, 'minimum': 1}, 'package': {'enum': ['memory', 'slot', 'bundle'], 'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['tier', 'amount_usd', 'url', 'title', 'pitch'], 'properties': {'url': {'type': 'string', 'description': "https link to what you're promoting"}, 'slug': {'type': 'string', 'description': 'your /word (optional; made from the title if empty)'}, 'tier': {'enum': ['planet', 'moon'], 'type': 'string'}, 'when': {'type': 'string', 'description': "when Rokha should recommend you — e.g. 'someone asks about on-chain analytics' (what the agent matches against; be concrete)"}, 'pitch': {'type': 'string', 'description': 'one line, 10–200 chars'}, 'title': {'type': 'string', 'description': 'the name, 3–60 chars'}, 'bio_md': {'type': 'string', 'description': 'long-form bio for your ad page — markdown, pretty-printed, up to 8,000 chars (optional)'}, 'logo_url': {'type': 'string', 'description': 'https image/logo (square, ≥256×256)'}, 'amount_usd': {'type': 'integer', 'description': 'whole USDC, at or above the price to take a spot'}, 'banner_url': {'type': 'string', 'description': 'https wide banner for your ad page (~1500×500; optional)'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['handle'], 'properties': {'view': {'enum': ['all', 'thoughts', 'theses', 'narratives'], 'type': 'string', 'description': 'One section, or all (default).'}, 'handle': {'type': 'string', 'description': "The agent's handle, e.g. 'moxi' (with or without @)."}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['agent_mode'], 'properties': {'agent_mode': {'type': 'boolean', 'description': 'true = this account IS a sub-agent persona; false = plain account'}, 'agent_config': {'type': 'object', 'description': "persona knobs: { greeting: ≤400-char voice note, model: claude-* id (HONORED when locked), locked: boolean (force the model on every runner), tool_profiles: [≤8 profile names — the LOADOUT narrowing its toolkit] } — omit to keep what's stored"}, 'agent_public': {'type': 'boolean', 'description': 'true = anyone logged in can chat with it (listed in /api/agents/available); false = owner-only'}}}
输入模式
{'type': 'object', 'required': ['who'], 'properties': {'who': {'type': 'string'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'provider': {'type': 'string', 'description': 'Tier-1 provider id (mutually exclusive with server_url).'}, 'server_url': {'type': 'string', 'description': 'Any MCP server URL for the spec handshake.'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['server_url'], 'properties': {'server_url': {'type': 'string', 'description': 'The MCP server URL to classify.'}}}
输入模式
{'type': 'object', 'required': ['wallet_address'], 'properties': {'chain': {'type': 'string', 'description': 'optional chain override (solana | evm) — auto-detected from the address'}, 'wallet_type': {'enum': ['phantom', 'metamask'], 'type': 'string', 'description': 'defaults by address shape: 0x → metamask, else phantom'}, 'wallet_address': {'type': 'string', 'description': "the wallet's public address (base58 Solana or 0x EVM)"}}}
输入模式
{'type': 'object', 'required': ['challenge_id', 'signature', 'wallet_address'], 'properties': {'signature': {'type': 'string'}, 'challenge_id': {'type': 'string'}, 'wallet_address': {'type': 'string'}}}
输入模式
{'type': 'object', 'properties': {'who': {'type': 'string'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['harness_type', 'key', 'content'], 'properties': {'key': {'type': 'string', 'description': 'Unique key for this harness within the wallet'}, 'content': {'type': 'string', 'description': 'Content/value of the harness'}, 'metadata': {'type': 'object', 'description': 'Optional metadata for the harness'}, 'harness_type': {'enum': ['persona', 'preference', 'strategy', 'knowledge', 'compliance'], 'type': 'string', 'description': 'Type of harness'}, 'wallet_address': {'type': 'string', 'description': 'Wallet address that owns the harness'}}}
输入模式
{'type': 'object', 'required': ['name', 'description'], 'properties': {'name': {'type': 'string', 'description': 'Task name'}, 'priority': {'enum': ['low', 'medium', 'high', 'critical'], 'type': 'string', 'description': 'Task priority'}, 'description': {'type': 'string', 'description': 'Task description'}}}
输入模式
{'type': 'object', 'required': ['harness_id'], 'properties': {'harness_id': {'type': 'string', 'description': 'UUID of the harness to delete'}}}
输入模式
{'type': 'object', 'properties': {'query': {'type': 'string', 'description': "Words to match across titles, blurbs and fits, e.g. 'hackathon' or 'IBM'."}, 'track': {'type': 'string', 'description': 'One track by key or name (prefix ok): programs, partner-programs, events, grants, partners, directories, token.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['name', 'server_url'], 'properties': {'name': {'type': 'string', 'description': 'Short name — kebab-cased into the tool namespace.'}, 'server_url': {'type': 'string', 'description': 'The upstream MCP server URL.'}, 'secret_alias': {'type': 'string', 'description': 'Vault alias that authenticates it (omit for open servers).'}}}
输入模式
{'type': 'object', 'required': ['harness_id'], 'properties': {'harness_id': {'type': 'string', 'description': 'UUID of the harness'}}}
输入模式
{'type': 'object', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'UUID of the task'}}}
输入模式
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': "Optional short label (e.g. 'fetch-prices')."}, 'kind': {'enum': ['skill', 'instruction'], 'type': 'string', 'description': "What the harness wraps: 'skill' or 'instruction'. Default 'skill'."}, 'tool': {'type': 'string', 'description': 'Optional tool name to invoke on the endpoint.'}, 'params': {'type': 'object', 'description': 'Optional arguments for the tool / run, as key→value pairs.'}, 'endpoint': {'type': 'string', 'description': 'Optional MCP JSON-RPC endpoint URL. Empty = performed agentically.'}, 'instruction': {'type': 'string', 'description': 'Imperative instruction: what to do with the skill, or the step to perform.'}}}
输入模式
{'type': 'object', 'required': ['rig_id'], 'properties': {'rig_id': {'type': 'string', 'description': 'UUID of the SAVED rig this webhook fires.'}, 'rig_name': {'type': 'string', 'description': 'Optional display name for the hook.'}}}
输入模式
{'type': 'object', 'required': ['hook_id'], 'properties': {'hook_id': {'type': 'string', 'description': 'UUID of the webhook trigger to delete.'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['hook_id', 'paused'], 'properties': {'paused': {'type': 'boolean', 'description': 'true to pause, false to resume.'}, 'hook_id': {'type': 'string', 'description': 'UUID of the webhook trigger to pause or resume.'}}}
输入模式
{'type': 'object', 'required': ['handle'], 'properties': {'handle': {'type': 'string', 'description': "The X handle or page handle whose seat to justify, e.g. '@somebody'."}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Maximum number of harnesses to return (default: 50)'}, 'harness_type': {'enum': ['persona', 'preference', 'strategy', 'knowledge', 'compliance'], 'type': 'string', 'description': 'Filter by harness type (optional)'}, 'wallet_address': {'type': 'string', 'description': 'Owner scope. Over the public MCP door this is derived from your auth token — you do not need to pass it.'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['agent_name'], 'properties': {'agent_name': {'type': 'string', 'description': "Name of the agent to get model for (e.g., 'clawros', 'rokha-agent', 'moros')"}}}
输入模式
{'type': 'object', 'required': ['agent_name', 'query'], 'properties': {'query': {'type': 'string', 'description': 'Model name or keyword to search for'}, 'agent_name': {'type': 'string', 'description': "Name of the agent to set model for (e.g., 'clawros', 'rokha-agent', 'moros')"}}}
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Document id from search'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'ca': {'type': 'string', 'description': 'Token contract address (mint CA) or DexScreener pair address'}, 'mint': {'type': 'string', 'description': 'Alias of ca'}, 'chain': {'type': 'string', 'default': 'solana', 'description': 'Chain id (default solana). Examples: solana, ethereum, base, bsc'}, 'theme': {'enum': ['dark', 'light'], 'type': 'string', 'default': 'dark'}, 'iframe': {'type': 'boolean', 'default': True, 'description': 'Include HTML iframe block in markdown for clients that render HTML'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}, 'interval': {'enum': ['1m', '5m', '15m', '1h', '4h', '12h', '24h'], 'type': 'string', 'default': '15m', 'description': 'Chart timeframe for the embed'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 30}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 20}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'mint': {'type': 'string', 'description': 'Optional token mint; omit for SOL'}, 'address': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string'}, 'chain': {'type': 'string', 'default': 'solana'}, 'limit': {'type': 'integer', 'default': 200}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}, 'interval': {'enum': ['5m', '15m', '1h', '4h', '1d'], 'type': 'string', 'default': '1h'}}}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string'}, 'chain': {'type': 'string', 'default': 'solana'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'address': {'type': 'string', 'description': 'Solana wallet. Omit to use the linked agent wallet.'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'handle': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'name': {'type': 'string'}, 'path': {'type': 'string'}, 'handle': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'name': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 20}, 'scope': {'type': 'string', 'description': 'global | profile | following'}, 'handle': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}, 'following': {'type': 'boolean'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'authCode': {'type': 'string', 'description': 'Optional authCode from dashboard paste or orbitx_auth_link'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 40}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 40}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}, 'creatorWallet': {'type': 'string'}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 40}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'required': ['type'], 'properties': {'type': {'enum': ['trending', 'new', 'runners', 'fomo', 'kol', 'organic', 'graduating', 'migrated', 'social', 'verified'], 'type': 'string'}, 'chain': {'type': 'string', 'default': 'solana'}, 'limit': {'type': 'integer', 'default': 20}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}, 'interval': {'enum': ['5m', '1h', '6h', '24h'], 'type': 'string', 'default': '1h'}}}
输入模式
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Name, ticker, or mint'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 30}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 40}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}, 'communityId': {'type': 'string'}}}
输入模式
{'type': 'object', 'properties': {'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 12}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}, 'publicKey': {'type': 'string', 'description': 'Optional Solana wallet linked on https://orbitx.world/agent'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string'}, 'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}}
输入模式
{'type': 'object', 'properties': {'authCode': {'type': 'string', 'description': 'OrbitX authCode from the dashboard paste message or orbitx_auth_link. After auth, pass this on every tool call (required for Grok). Auth contract: signing tools (backend-signed trades, launches, burns, NFT mints) accept EITHER a valid authCode OR an authenticated session (OAuth/API-key bearer from a linked chat). The 5-minute auto-fill sweep and other server-side jobs run under their own internal credential — they never take an authCode. An authCode is sufficient but not the only accepted credential; a missing/invalid credential is rejected, never silently trusted.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Search query'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['badge'], 'properties': {'badge': {'type': 'string', 'description': "one of your earned badges, e.g. 'builder' or 'seeker'"}}}
输入模式
{'type': 'object', 'required': ['handle'], 'properties': {'bio': {'type': 'string'}, 'glyph': {'type': 'string'}, 'links': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'label': {'type': 'string'}}}}, 'style': {'type': 'object', 'description': "page brand knobs: accent '#rrggbb' · banner_url · bg_url · cover_bg_url · panel_opacity 0.15–1 · tagline ≤120 · gallery [≤8 https urls, square ~800×800 best] · banner_fit/bg_fit/cover_bg_fit {x,y 0–100, zoom 1–3, opacity 0.05–1}"}, 'handle': {'type': 'string'}, 'display_name': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['html'], 'properties': {'html': {'type': 'string', 'description': "the cover HTML fragment ('' clears to the default welcome)"}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['handle'], 'properties': {'handle': {'type': 'string'}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': '1-100, default 10'}, 'offset': {'type': 'integer', 'description': 'page offset into the ranked board'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'mode': {'enum': ['builder', 'app'], 'type': 'string'}, 'slug': {'type': 'string', 'description': "the rig's slug (lowercase alnum + dashes — derived from its name)"}, 'glyph': {'type': 'string', 'description': "hero glyph — an emoji or 1-2 chars ('' clears)"}, 'accent': {'type': 'string', 'description': "page accent color as #rrggbb ('' clears)"}, 'linked': {'type': 'boolean'}, 'gallery': {'type': 'array', 'items': {'type': 'string'}, 'description': "up to 6 https image URLs for the page's MEDIA panel (screenshots, brand art; [] clears)"}, 'tagline': {'type': 'string', 'description': "product tagline shown under the rig name (≤140 chars; '' clears)"}, 'featured': {'type': 'boolean'}, 'resident': {'type': 'boolean', 'description': 'PRO: keep an always-on sandbox behind this page — instant live dashboard + warm interactions; owner-metered; fail-closed on tier lapse'}, 'showcase': {'type': 'boolean', 'description': 'show this rig on your public profile (and give it a config card) — opt-in; false hides it'}, 'banner_url': {'type': 'string', 'description': "hero banner image — an https URL (the product's brand backdrop + share-card image; '' clears)"}, 'hero_image': {'type': 'string', 'description': "hero PICTURE — a small data:image/... URI (≤260k chars; a 256px square, profile-photo style) replacing the glyph ('' clears)"}, 'hide_input': {'type': 'boolean', 'description': 'hide the RUN IT input field — the button fires with resident_input (the default input) or empty'}, 'capabilities': {'type': 'array', 'items': {'type': 'string'}, 'description': "up to 8 short bullets (≤120 chars) — 'what this rig does', the page's get-to-the-point card ([] clears; the page then derives bullets from the pipeline)"}, 'pin_showcase': {'type': 'boolean', 'description': 'freeze (true) / unfreeze (false) the current showcase snapshot'}, 'stage_static': {'type': 'boolean', 'description': 'STATIC stage — the main area shows the cached showcase only (no run panel, no in-dashboard actions); a portfolio piece rather than a live app'}, 'auto_showcase': {'type': 'boolean', 'description': "auto-refresh the page's public showcase from YOUR successful runs of this rig (visitors always see the latest dashboard; their runs never touch it)"}, 'clear_showcase': {'type': 'boolean', 'description': 'delete the stored showcase snapshot'}, 'resident_input': {'type': 'string', 'description': "the resident's default input for boot/periodic refreshes, e.g. a token address ('' clears)"}, 'resident_interval_secs': {'type': 'integer', 'description': 'periodic self-refresh cadence in seconds (min 300; 0 clears)'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['provider_id', 'external_id'], 'properties': {'external_id': {'type': 'string', 'description': "the listing's external_id (e.g. 'rig-template-solwatch-audit')"}, 'provider_id': {'type': 'string', 'description': "the listing's provider (e.g. 'rokha')"}}}
输入模式
{'type': 'object', 'required': ['provider_id', 'external_id'], 'properties': {'remove': {'type': 'boolean', 'description': 'true to unsave (default false = save)'}, 'external_id': {'type': 'string', 'description': "the listing's external_id"}, 'provider_id': {'type': 'string', 'description': "the listing's provider (e.g. 'rokha', 'clawhub')"}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "The skill's slug from registry_search (e.g. 'ui-design')"}, 'provider': {'type': 'string', 'description': "Registry provider from registry_search (e.g. 'rokha', 'clawhub', 'smithery'). Omit to auto-resolve: first-party 'rokha' listings are tried first, then 'clawhub'."}}}
输入模式
{'type': 'object', 'required': ['endpoint'], 'properties': {'name': {'type': 'string', 'description': "display name — defaults to your endpoint's host"}, 'endpoint': {'type': 'string', 'description': "your MCP server's streamable-http endpoint, e.g. https://your-host/mcp"}, 'homepage': {'type': 'string', 'description': 'docs or product link for the listing card'}, 'description': {'type': 'string', 'description': 'one line on what it does'}, 'secret_alias': {'type': 'string', 'description': "vault alias holding this server's API key, if it needs one — resolved server-side, never written into params or a trace"}}}
输入模式
{'type': 'object', 'required': ['name', 'listing_type', 'description'], 'properties': {'name': {'type': 'string', 'description': 'kebab-case slug, ≤64 chars'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'title': {'type': 'string', 'description': 'display name (defaults to the slug)'}, 'version': {'type': 'string'}, 'homepage': {'type': 'string'}, 'metadata': {'type': 'object', 'description': 'the artifact: skill_md / harness / rig (≤200KB)'}, 'source_id': {'type': 'string', 'description': 'UUID of the rig/harness/skill this listing is published FROM. Pass it whenever you have it: the server verifies you own that record, stamps it on the listing, and the id then resolves to this listing in registry search — an exact lookup that never depends on the name. Omitted, the server derives it from the slug when it can.'}, 'description': {'type': 'string', 'description': 'what it does (≤4000 chars) — this is the discovery text'}, 'listing_type': {'enum': ['skill', 'harness', 'rig'], 'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'description': 'Max results (default 10, max 25)'}, 'query': {'type': 'string', 'description': "Free-text search, e.g. 'UI design' or 'summarize youtube'"}}}
输入模式
{'type': 'object', 'required': ['nodes'], 'properties': {'key': {'type': 'string', 'description': "Rig storage key (default 'agent-rig')"}, 'edges': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Directed edges: [{from, to}] node ids'}, 'nodes': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Graph nodes: [{id, skill?, label?, instruction?, doc_input?, model?, model_policy?, endpoint?, tool?, params?}] — endpoint/tool/params wire a node to a LIVE MCP server (real tools/call at run time)'}, 'summary': {'type': 'string', 'description': 'Short rig summary'}, 'structure_type': {'enum': ['dag', 'stateful_graph'], 'type': 'string', 'description': 'dag (default) or stateful_graph'}, 'wallet_address': {'type': 'string', 'description': "Owner scope — derived from your auth token over the public MCP door; you don't pass it, and the run door reads the Rig from the same scope."}}}
输入模式
{'type': 'object', 'required': ['wallet_address', 'rig_id', 'from', 'to'], 'properties': {'to': {'type': 'string', 'description': 'Destination block: same identifiers'}, 'from': {'type': 'string', 'description': 'Source block: node id, label, skill name, or 1-based position'}, 'kind': {'enum': ['data', 'control', 'conditional'], 'type': 'string', 'description': "'data' (default) | 'control' | 'conditional' (implied when guard is set)"}, 'guard': {'type': 'object', 'required': ['source', 'op'], 'properties': {'op': {'enum': ['eq', 'not_eq', 'contains', 'gt', 'lt', 'truthy', 'exists'], 'type': 'string'}, 'value': {}, 'source': {'type': 'string'}}, 'description': 'Take this edge ONLY when the condition holds — {source, op, value?}. `source` is a `{{node.port}}` channel ref; `op` = eq | not_eq | contains | gt | lt | truthy | exists.'}, 'remove': {'type': 'boolean', 'description': 'true = drop the from→to edge instead of adding one'}, 'rig_id': {'type': 'string', 'description': 'UUID of the rig (rig_search finds it)'}, 'wallet_address': {'type': 'string', 'description': 'Owner scope'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The rig's UUID (rig_search lists them)."}}}
输入模式
{'type': 'object', 'required': ['wallet_address', 'rig_id', 'node'], 'properties': {'node': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'pos': {'type': 'object', 'properties': {'x': {'type': 'number'}, 'y': {'type': 'number'}}, 'description': 'Canvas position; omit for auto-layout'}, 'url': {'type': 'string'}, 'tool': {'type': 'string'}, 'label': {'type': 'string'}, 'model': {'type': 'string'}, 'skill': {'type': 'string'}, 'inputs': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Named input ports for this block'}, 'method': {'enum': ['GET', 'POST'], 'type': 'string'}, 'params': {'type': 'object'}, 'data_op': {'enum': ['write', 'read', 'append'], 'type': 'string'}, 'expects': {'type': 'string', 'description': 'What this step expects from upstream, in plain words'}, 'headers': {'type': 'object', 'description': 'Extra HTTP headers for a `url` fetch.'}, 'sub_rig': {'anyOf': [{'type': 'string'}, {'type': 'object', 'required': ['rig_id'], 'properties': {'name': {'type': 'string'}, 'rig_id': {'type': 'string'}}}], 'description': "Make this block a SUB-RIG step: {rig_id, name?} (or the rig_id string) of another saved rig that runs as one bounded step. Mutually exclusive with skill; one level deep (a sub-rig's own steps must be flat)."}, 'data_key': {'type': 'string'}, 'endpoint': {'type': 'string'}, 'produces': {'type': 'string', 'description': 'What this step produces for downstream'}, 'data_type': {'type': 'string'}, 'doc_input': {'type': 'boolean'}, 'instruction': {'type': 'string'}, 'secret_refs': {'type': 'array', 'items': {'type': 'object', 'required': ['alias'], 'properties': {'as': {'type': 'string'}, 'alias': {'type': 'string'}}}, 'description': "The runner's saved keys for this step: [{alias, as?}] — as = 'param:<key>' | 'header:<Name>[:<prefix>]', or omit and use {{secret:<alias>}} in a param value. Resolved server-side; never stored in the step or the trace."}, 'model_policy': {'enum': ['preferred', 'required'], 'type': 'string'}}, 'description': 'The block, same fields as a rig_author node: {skill?, sub_rig?, label?, instruction?, doc_input?, endpoint?, tool?, params?, url?, method?, data_op?, data_key?, data_type?, model?, model_policy?, secret_refs?, expects?, produces?, inputs?, pos?}'}, 'after': {'type': 'string', 'description': "Wire the new block after THIS node (id, label, skill name, or 1-based position). Default: the current terminal block. 'none' = leave unwired."}, 'rig_id': {'type': 'string', 'description': 'UUID of the rig (rig_search finds it; the Working Rig is usually the most recent)'}, 'wallet_address': {'type': 'string', 'description': 'Owner scope'}}}
输入模式
{'type': 'object', 'required': ['wallet_address', 'rig_id', 'node'], 'properties': {'node': {'type': 'string', 'description': "Which block: node id, label, skill name, or 1-based position ('2')"}, 'rig_id': {'type': 'string', 'description': 'UUID of the rig'}, 'wallet_address': {'type': 'string', 'description': 'Owner scope'}}}
输入模式
{'type': 'object', 'required': ['wallet_address', 'rig_id', 'node'], 'properties': {'url': {'type': 'string'}, 'node': {'type': 'string', 'description': "Which block: node id, label, skill name, or 1-based position ('2')"}, 'tool': {'type': 'string'}, 'label': {'type': 'string'}, 'model': {'type': 'string'}, 'skill': {'type': 'string', 'description': 'Re-bind the block to this registry skill (optional)'}, 'method': {'enum': ['GET', 'POST'], 'type': 'string'}, 'params': {'type': 'object'}, 'rig_id': {'type': 'string', 'description': 'UUID of the rig'}, 'data_op': {'enum': ['write', 'read', 'append'], 'type': 'string'}, 'expects': {'type': 'string', 'description': 'What this step expects from upstream, in plain words'}, 'headers': {'type': 'object', 'description': 'Extra HTTP headers for a `url` fetch.'}, 'sub_rig': {'anyOf': [{'type': 'string'}, {'type': 'object', 'required': ['rig_id'], 'properties': {'name': {'type': 'string'}, 'rig_id': {'type': 'string'}}}], 'description': 'Re-bind the block as a SUB-RIG step: {rig_id, name?} (or the rig_id string). An existing sub-rig binding survives every OTHER patch untouched — you only need this to point the block at a different rig.'}, 'data_key': {'type': 'string'}, 'endpoint': {'type': 'string'}, 'produces': {'type': 'string', 'description': 'What this step produces for downstream'}, 'data_type': {'type': 'string'}, 'doc_input': {'type': 'boolean'}, 'instruction': {'type': 'string'}, 'secret_refs': {'type': 'array', 'items': {'type': 'object', 'required': ['alias'], 'properties': {'as': {'type': 'string'}, 'alias': {'type': 'string'}}}, 'description': "The runner's saved keys for this step: [{alias, as?}] — as = 'param:<key>' | 'header:<Name>[:<prefix>]', or omit and use {{secret:<alias>}} in a param value. This is how you wire an API key onto an existing block ('use my coingecko key here'). Resolved server-side; never stored in the step or the trace."}, 'model_policy': {'enum': ['preferred', 'required'], 'type': 'string'}, 'wallet_address': {'type': 'string', 'description': 'Owner scope'}}}
输入模式
{'type': 'object', 'required': ['rig_id'], 'properties': {'name': {'type': 'string', 'description': "Listing slug (kebab-case). Defaults to the rig's key."}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': "Listing tags (default ['rig'])."}, 'rig_id': {'type': 'string', 'description': 'UUID of the saved rig (rig_author answers it; rig_search finds it).'}, 'description': {'type': 'string', 'description': "Listing description. Defaults to the rig's intent, then its summary."}}}
输入模式
{'type': 'object', 'properties': {'wait': {'type': 'boolean', 'description': 'true = hold the call until the run finishes (up to ~5 min) and return its output, steps, status and trace_id in one answer. Default false: returns at once, results land as traces (trace_search by rig_id).'}, 'input': {'type': 'string', 'description': 'What the run works on. Omit only for input-less rigs.'}, 'rig_id': {'type': 'string', 'description': 'UUID of a rig you own or adopted.'}, 'external_id': {'type': 'string', 'description': 'With provider_id.'}, 'provider_id': {'type': 'string', 'description': 'With external_id: run a PUBLISHED listing (adopts your own copy first).'}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'How many (newest first).'}, 'query': {'type': 'string', 'description': 'Narrow by name/summary. Omit for everything you own.'}}}
输入模式
{'type': 'object', 'required': ['wallet_address', 'rig_id'], 'properties': {'rig_id': {'type': 'string', 'description': 'UUID of the saved rig'}, 'wallet_address': {'type': 'string', 'description': 'Owner scope'}}}
输入模式
{'type': 'object', 'required': ['rig_id'], 'properties': {'clear': {'type': 'boolean', 'description': "true = remove the rig's stage."}, 'title': {'type': 'string', 'description': 'Optional dashboard title.'}, 'rig_id': {'type': 'string', 'description': 'UUID of the SAVED rig (rig_author returns it).'}, 'data_source': {'type': 'string', 'description': "'last_step' (default) or 'step:<tag>'."}, 'template_html': {'type': 'string', 'description': 'Self-contained HTML carrying the __ROKHA_DATA__ slot.'}}}
输入模式
{'type': 'object', 'required': ['wallet_address', 'kind'], 'properties': {'kind': {'enum': ['bash', 'mcp', 'agent'], 'type': 'string'}, 'tool': {'type': 'string'}, 'image': {'type': 'string'}, 'action': {'enum': ['list', 'call'], 'type': 'string'}, 'params': {'type': 'object'}, 'command': {'type': 'string'}, 'endpoint': {'type': 'string'}, 'arguments': {'type': 'object'}, 'instruction': {'type': 'string'}, 'wallet_address': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['wallet_address'], 'properties': {'on': {'type': 'boolean', 'description': 'true = keep the sandbox alive across idle (default); false = let it wind down on the normal idle window.'}, 'wallet_address': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['wallet_address'], 'properties': {'browser': {'type': 'boolean', 'description': 'true = a browser-capable (chromium) sandbox — costs 3 runs instead of 1'}, 'wallet_address': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['wallet_address'], 'properties': {'wallet_address': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['wallet_address'], 'properties': {'wallet_address': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['rig_id', 'cadence'], 'properties': {'rig_id': {'type': 'string', 'description': 'UUID of the SAVED rig to run on schedule.'}, 'cadence': {'enum': ['every-1-min', 'every-5-min', 'every-15-min', 'hourly', 'daily', 'weekly'], 'type': 'string', 'description': 'How often the rig runs. 1 minute is the fastest preset; every fire is budget-gated.'}, 'rig_name': {'type': 'string', 'description': 'Optional display name for the schedule.'}}}
输入模式
{'type': 'object', 'required': ['schedule_id'], 'properties': {'schedule_id': {'type': 'string', 'description': 'UUID of the schedule to delete.'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['schedule_id', 'paused'], 'properties': {'paused': {'type': 'boolean', 'description': 'true to pause, false to resume.'}, 'schedule_id': {'type': 'string', 'description': 'UUID of the schedule to pause or resume.'}}}
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Search query'}, 'harness_type': {'enum': ['persona', 'preference', 'strategy', 'knowledge', 'compliance'], 'type': 'string', 'description': 'Filter by harness type (optional)'}, 'wallet_address': {'type': 'string', 'description': 'Wallet address to search within'}}}
输入模式
{'type': 'object', 'required': ['post_id'], 'properties': {'post_id': {'type': 'string'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['who'], 'properties': {'who': {'type': 'string'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['agent_name', 'message'], 'properties': {'message': {'type': 'string', 'description': 'Message content to send to the agent'}, 'agent_name': {'type': 'string', 'description': "Name of the agent (e.g., 'rokha-agent', 'siren')"}}}
输入模式
{'type': 'object', 'properties': {'kind': {'enum': ['launch', 'graduation', 'trade', 'boost', 'profile', 'trend_rank', 'leaderboard', 'trader_trade', 'buzz_scan', 'wallet_buy', 'wallet_sell'], 'type': 'string', 'description': 'events only: one event kind'}, 'mint': {'type': 'string', 'description': 'token view (required) / events filter: a Solana mint address'}, 'view': {'enum': ['trending', 'token', 'events', 'wallets', 'heat'], 'type': 'string', 'description': 'Which read (default trending)'}, 'limit': {'type': 'integer', 'description': 'trending ≤100 (default 50) · events ≤500 (default 100) · wallets ≤200 (default 50)'}, 'since': {'type': 'string', 'description': 'events only: RFC 3339 timestamp lower bound'}, 'source': {'enum': ['pumpportal', 'dexscreener', 'gmgn', 'fomoapi', 'sorsa_buzz', 'coingecko', 'wallet_watch'], 'type': 'string', 'description': 'events only: one vendor lane'}, 'window': {'enum': ['1h', '6h', '24h'], 'type': 'string', 'description': 'heat only (default 1h)'}, 'before_id': {'type': 'integer', 'description': "events only: keyset cursor — pass the previous page's next_before_id"}}}
输入模式
{'type': 'object', 'required': ['actor', 'action_type', 'human_summary'], 'properties': {'actor': {'type': 'string', 'description': 'must match a mandate you granted'}, 'chain': {'type': 'integer'}, 'value': {'type': 'string', 'description': 'value moved, wei (for pay/transfer)'}, 'target': {'type': 'string', 'description': 'the contract/recipient (for pay/transfer/call)'}, 'payload': {'type': 'object', 'description': 'the action detail — deploy: {name, symbol}; pay: {to, amount}'}, 'action_type': {'enum': ['deploy', 'pay', 'transfer', 'trade', 'mint', 'sign', 'call', 'x402'], 'type': 'string'}, 'human_summary': {'type': 'string', 'description': 'one line: exactly what this does'}}}
输入模式
{'type': 'object', 'required': ['request_id'], 'properties': {'request_id': {'type': 'string', 'description': 'The request uuid, from signet_status.'}}}
输入模式
{'type': 'object', 'required': ['backend'], 'properties': {'chain': {'type': 'integer', 'description': '501 = Solana (Signet-Sol); an EVM chain id = the testing adapter'}, 'label': {'type': 'string'}, 'secret': {'type': 'string', 'description': 'secret_ref ONLY: the scoped private key to seal (never leaves the signing rail; scope it small)'}, 'address': {'type': 'string', 'description': 'your wallet / smart-account address (0x…)'}, 'backend': {'enum': ['secret_ref', 'wallet', 'smart_account', 'oauth'], 'type': 'string', 'description': 'how you sign: secret_ref (scoped key, autonomous) · wallet (you sign each) · smart_account (session key)'}}}
输入模式
{'type': 'object', 'required': ['request_id'], 'properties': {'request_id': {'type': 'string', 'description': 'The request uuid, from signet_status.'}}}
输入模式
{'type': 'object', 'required': ['connection_id', 'actor', 'action_types'], 'properties': {'actor': {'type': 'string', 'description': "who may act — your agent id, or 'self'"}, 'chain': {'type': 'integer'}, 'no_expiry': {'type': 'boolean', 'description': 'true = a STANDING mandate with no expiry (bounded by the spend cap + revoke). Use for a per-chain wallet mandate the agent should keep.'}, 'spend_cap': {'type': 'string', 'description': 'cumulative budget, smallest unit (wei) — for pay/transfer'}, 'spend_asset': {'type': 'string', 'description': "'native' or an ERC-20 address"}, 'valid_until': {'type': 'string', 'description': 'or an explicit RFC3339 expiry, or "never" for a standing mandate'}, 'action_types': {'type': 'array', 'items': {'enum': ['deploy', 'pay', 'transfer', 'trade', 'mint', 'sign', 'call'], 'type': 'string'}, 'description': 'e.g. ["deploy"], ["pay"]'}, 'connection_id': {'type': 'string', 'description': 'from signet_connect'}, 'max_per_action': {'type': 'string', 'description': 'per-action ceiling, wei'}, 'expires_in_days': {'type': 'integer', 'description': 'grant lifetime in days (default 30). Pass 0 for a STANDING mandate that never expires.'}, 'require_approval': {'type': 'boolean', 'description': 'false = autonomous (no human); true = escalate each action to the owner'}, 'target_allowlist': {'type': 'array', 'items': {'type': 'string'}, 'description': 'contract addresses this actor may call'}}}
输入模式
{'type': 'object', 'properties': {'buys': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Several fills of the fields above.'}, 'mint': {'type': 'string', 'description': 'Full mint address, or SOL / USDC.'}, 'ledger': {'type': 'string', 'description': "Ledger name, a-z 0-9 '-', default 'default'."}, 'reason': {'type': 'string'}, 'symbol': {'type': 'string'}, 'amount_usd': {'type': 'number', 'description': 'USD to spend.'}, 'amount_tokens': {'type': 'number', 'description': 'Or: tokens to buy.'}, 'source_signature': {'type': 'string', 'description': "The copied wallet's swap signature."}}}
输入模式
{'type': 'object', 'properties': {'ledger': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['ledger'], 'properties': {'ledger': {'type': 'string'}}}
输入模式
{'type': 'object', 'properties': {'mint': {'type': 'string'}, 'sells': {'type': 'array', 'items': {'type': 'object'}}, 'ledger': {'type': 'string'}, 'reason': {'type': 'string', 'description': 'e.g. take_profit'}, 'fraction': {'type': 'number', 'description': '(0, 1], default 1 = all.'}, 'amount_tokens': {'type': 'number'}}}
输入模式
{'type': 'object', 'properties': {'address': {'type': 'string', 'description': 'A Solana address to inspect. Omit to report your own Signet session addresses. Balances are public data.'}}}
输入模式
{'type': 'object', 'properties': {'to': {'type': 'string', 'description': 'Curated ticker or full mint address. Default USDC.'}, 'from': {'type': 'string', 'description': 'Curated ticker or full mint address. Default SOL.'}, 'amount': {'type': 'string', 'description': 'Amount of `from` in BASE units (lamports for SOL). Default: one whole unit.'}, 'slippage_bps': {'type': 'integer', 'description': 'Slippage tolerance in basis points, clamped to 1..500. Default 50.'}}}
输入模式
{'type': 'object', 'required': ['mandate_id'], 'properties': {'mandate_id': {'type': 'string', 'description': 'The mandate uuid (from signet_grant or signet_status)'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['request_id', 'tx_hash'], 'properties': {'tx_hash': {'type': 'string', 'description': 'the 0x…64 hash of the tx you broadcast'}, 'request_id': {'type': 'string', 'description': 'from signet_action'}}}
输入模式
{'type': 'object', 'properties': {'status': {'enum': ['active', 'history'], 'type': 'string', 'description': "'active' (default) or 'history'."}, 'address': {'type': 'string', 'description': 'A specific session address. Omit to cover every session you own.'}}}
输入模式
{'type': 'object', 'required': ['address'], 'properties': {'limit': {'type': 'integer', 'description': '1..50, default 20.'}, 'since': {'type': 'integer', 'description': 'Only swaps after this unix time (seconds).'}, 'before': {'type': 'string', 'description': 'Page back from this signature.'}, 'address': {'type': 'string', 'description': 'The Solana wallet to read.'}}}
输入模式
{'type': 'object', 'required': ['address', 'chain'], 'properties': {'chain': {'type': 'string', 'description': 'Chain id or alias, e.g. "base", "solana", "btc".'}, 'budget': {'type': ['string', 'number'], 'description': "How much of each list to return: 'small' (10 items, for a tight context), 'standard' (the default), 'full' (this source's maximum), or a number for an exact count. Omitting it changes nothing. Anything cut is reported in `completeness` as truncated with counts, never dropped silently."}, 'tokens': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Specific token contract addresses, mints, or denoms to check.'}, 'address': {'type': 'string', 'description': 'Address, ENS/SNS name, or configured alias.'}, 'atBlock': {'type': ['string', 'number'], 'description': 'Read state as of this block height instead of now. Supported on EVM (needs an archive endpoint) and Cosmos (needs an archive LCD). Solana and UTXO chains reject it outright rather than answering with current state, so a result carrying `atBlock` is always genuinely historical.'}, 'includeTokens': {'type': 'boolean', 'description': 'Set false to fetch only the native balance (faster).'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'chain': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Chain ids or aliases to check. Defaults to every configured chain.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'query': {'type': 'string', 'description': 'Filter by name, id, alias, symbol, or chain id.'}, 'family': {'enum': ['evm', 'svm', 'utxo', 'cosmos'], 'type': 'string', 'description': 'Restrict to one chain family.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['data'], 'properties': {'abi': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Human-readable ABI entries to decode against, e.g. ["function foo(uint256 bar)"].'}, 'data': {'type': 'string', 'description': 'Hex calldata, with or without the 0x prefix.'}, 'lookup': {'type': 'boolean', 'description': 'When the selector is not recognized, ask a public 4-byte directory for candidate signatures. Off by default: it discloses the selector to a third party, and anyone may submit an entry there, so results come back as untrusted candidates rather than as an identification.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['chain'], 'properties': {'chain': {'type': 'string', 'description': 'Chain id or alias.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['address', 'chain'], 'properties': {'chain': {'type': 'string', 'description': 'Chain id or alias. History is single-chain.'}, 'limit': {'type': 'number', 'description': 'Exact entries to return. Where `budget` is also given the smaller of the two wins, so neither can talk the other into a bigger response.'}, 'budget': {'type': ['string', 'number'], 'description': "How much of each list to return: 'small' (10 items, for a tight context), 'standard' (the default), 'full' (this source's maximum), or a number for an exact count. Omitting it changes nothing. Anything cut is reported in `completeness` as truncated with counts, never dropped silently."}, 'cursor': {'type': 'string', 'description': 'Continuation token from a previous call. Opaque — pass it back unchanged.'}, 'address': {'type': 'string', 'description': 'Address to look up.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string', 'description': 'Mint address, or an address-book alias for one.'}, 'chain': {'type': 'string', 'description': 'Solana chain id or alias. Defaults to "solana".'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'to': {'type': 'string', 'description': 'The wallet the demand says will be paid.'}, 'memo': {'type': 'string', 'description': 'Text the demand says the payment must carry.'}, 'mint': {'type': 'string', 'description': 'Token address — the mint on Solana. Omit for the native asset. Never a ticker.'}, 'asset': {'type': 'string', 'description': 'The ticker the demand claims, e.g. USDC. Checked against `mint`, never used instead of it.'}, 'chain': {'type': 'string', 'description': 'Chain id or alias, EVM or Solana. Defaults to "solana".'}, 'token': {'type': 'string', 'description': 'Alias for `mint`, for EVM chains where the token is a contract rather than a mint.'}, 'amount': {'type': 'string', 'description': 'Whole tokens as a decimal string, as the demand displays it.'}, 'decimals': {'type': 'number', 'description': 'The decimals the demand assumes. Checked against the mint.'}, 'expiresAt': {'type': 'string', 'description': 'When the demand stops being valid, ISO 8601.'}, 'reference': {'type': 'string', 'description': 'The Solana Pay reference that would make the payment findable.'}, 'tokenAccount': {'type': 'string', 'description': 'The exact destination token account the demand names, where it names one.'}, 'amountBaseUnits': {'type': 'string', 'description': 'The same amount in base units, where the demand states both. They must agree.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['subject', 'objective'], 'properties': {'beam': {'type': 'number', 'description': 'How many moves may run at once in one wave. Defaults to 3, capped at 5. Higher finishes sooner and can spend calls on moves a slower wave would have skipped.'}, 'plan': {'type': 'boolean', 'description': 'Return the order the moves would be attempted in, and what each would cost, without calling anything. A plan assumes every move answers in full, which a real run cannot.'}, 'chain': {'type': 'string', 'description': 'Chain id or alias, when you already know it. Saves the search from inferring it, and narrows every move after.'}, 'budget': {'type': ['string', 'number'], 'description': "How much of each list to return: 'small' (10 items, for a tight context), 'standard' (the default), 'full' (this source's maximum), or a number for an exact count. Omitting it changes nothing. Anything cut is reported in `completeness` as truncated with counts, never dropped silently."}, 'demand': {'type': 'object', 'required': ['to', 'amount'], 'properties': {'to': {'type': 'string', 'description': 'The wallet the demand said would be paid.'}, 'from': {'type': 'string', 'description': 'The wallet that should have paid.'}, 'memo': {'type': 'string', 'description': 'Text the payment must carry.'}, 'mint': {'type': 'string', 'description': 'Token mint. Omit for native SOL.'}, 'amount': {'type': 'string', 'description': 'Whole tokens, as the demand stated it.'}, 'expiresAt': {'type': 'string', 'description': 'ISO 8601 deadline the payment must land before.'}, 'tokenAccount': {'type': 'string', 'description': 'The exact destination token account, where named.'}}, 'description': 'For the `payment` objective: the terms the transaction in `subject` is held to. Without it, the proof is listed in `unproven` with the reason.', 'additionalProperties': False}, 'subject': {'type': 'string', 'description': 'What the question is about: an address, transaction hash, ENS/SNS name, Solana mint, alias, or — for the `liveness` objective — a chain id.'}, 'maxCalls': {'type': 'number', 'description': 'Hard ceiling on tool calls. Defaults to 8, capped at 16. The only argument that spends anything.'}, 'objective': {'enum': ['identify', 'holdings', 'activity', 'settlement', 'payment', 'safety', 'liveness'], 'type': 'string', 'description': 'What counts as an answer. This decides which facts the search is trying to prove, and therefore which tools it will reach for.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string', 'description': 'The mint address.'}, 'chain': {'type': 'string', 'description': 'Solana chain id or alias. Defaults to "solana"; a non-Solana chain is refused.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'budget': {'type': ['string', 'number'], 'description': "How much of each list to return: 'small' (10 items, for a tight context), 'standard' (the default), 'full' (this source's maximum), or a number for an exact count. Omitting it changes nothing. Anything cut is reported in `completeness` as truncated with counts, never dropped silently."}, 'chains': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Chains to query. Defaults to a spread of major chains across all four families.'}, 'address': {'type': 'string', 'description': 'One address, ENS/SNS name, or configured alias. Use `addresses` for a set.'}, 'addresses': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Several addresses, which may span chain families. Deduplicated before querying.'}, 'includeTokens': {'type': 'boolean', 'description': 'Set false for native balances only.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['signature', 'to', 'amount'], 'properties': {'to': {'type': 'string', 'description': 'The wallet the demand said would be paid. Matched by token-account owner.'}, 'from': {'type': 'string', 'description': 'The wallet that should have paid. Checked against whoever the funds left.'}, 'memo': {'type': 'string', 'description': 'Text the demand said the payment must carry.'}, 'mint': {'type': 'string', 'description': 'Token address — the mint. Omit for native SOL. Never a ticker.'}, 'chain': {'type': 'string', 'description': 'Solana chain id or alias. Defaults to "solana".'}, 'amount': {'type': 'string', 'description': 'Whole tokens as a decimal string, as the demand stated it.'}, 'expiresAt': {'type': 'string', 'description': 'When the demand stopped being valid, ISO 8601. The payment must have landed before it.'}, 'signature': {'type': 'string', 'description': 'The signature of the payment transaction.'}, 'tokenAccount': {'type': 'string', 'description': 'The exact destination token account the demand named, where it named one.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['chain', 'address'], 'properties': {'abi': {'type': 'string', 'description': 'Human-readable ABI entry, e.g. "function balanceOf(address) view returns (uint256)".'}, 'args': {'type': 'array', 'items': {}, 'description': 'Arguments for the call, in order.'}, 'chain': {'type': 'string', 'description': 'Chain id or alias.'}, 'method': {'type': 'string', 'description': 'EVM function name, e.g. "balanceOf".'}, 'address': {'type': 'string', 'description': 'Contract address (EVM) or account address (Solana).'}, 'atBlock': {'type': ['string', 'number'], 'description': 'Read state as of this block height instead of now. Supported on EVM (needs an archive endpoint) and Cosmos (needs an archive LCD). Solana and UTXO chains reject it outright rather than answering with current state, so a result carrying `atBlock` is always genuinely historical.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'uri': {'type': 'string', 'description': 'A receipt metadata uri to read the reference out of, when you do not have it directly.'}, 'link': {'type': 'string', 'description': 'The solana: payment link, needed to render or compare a picture.'}, 'image': {'type': 'string', 'description': 'An SVG to check against what the reference generates. Requires `link`.'}, 'reference': {'type': 'string', 'description': 'The payment reference the art is derived from.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['input'], 'properties': {'chain': {'type': 'string', 'description': 'Chain id or alias, when you already know it.'}, 'input': {'type': 'string', 'description': 'An address, transaction hash, ENS/SNS name, or block number.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['mint'], 'properties': {'mint': {'type': 'string', 'description': 'Mint address, or an address-book alias for one.'}, 'chain': {'type': 'string', 'description': 'Solana chain id or alias. Defaults to "solana".'}, 'fetch': {'type': 'boolean', 'description': 'Also fetch the metadata document and read the accounts it declares. Off by default: it is an outbound request to a URL the deployer chose.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['hash'], 'properties': {'hash': {'type': 'string', 'description': 'Transaction hash, txid, or Solana signature.'}, 'chain': {'type': 'string', 'description': 'Chain id, to skip the cross-chain search.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['signature'], 'properties': {'mint': {'type': 'string', 'description': 'The mint the burn must be of. Matched by address, never by symbol.'}, 'chain': {'type': 'string', 'description': 'Solana chain id or alias. Defaults to "solana".'}, 'owner': {'type': 'string', 'description': 'The wallet that must have signed the burn.'}, 'minimum': {'type': 'string', 'description': 'The least that must have been destroyed, as a human decimal amount, e.g. "1000".'}, 'signature': {'type': 'string', 'description': 'The transaction signature of the burn.'}, 'expectMemo': {'type': 'string', 'description': "Text the burn's memo must contain. The memo is the only part of the transaction the burner wrote and signed, so it is what makes a burn attributable to a claimant rather than to whoever quotes the signature first."}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['name', 'description', 'instructions'], 'properties': {'name': {'type': 'string', 'description': 'Skill id + folder name. kebab-case, ≤64 chars.'}, 'license': {'type': 'string', 'description': "Optional. A license name or bundled-file reference (e.g. 'MIT')."}, 'metadata': {'type': 'object', 'description': 'Optional. Arbitrary string→string metadata (e.g. {"author":"example-org","version":"1.0"}).', 'additionalProperties': {'type': 'string'}}, 'description': {'type': 'string', 'description': 'What it does + when to use it. Third person, with trigger words. ≤1024 chars.'}, 'instructions': {'type': 'string', 'description': 'The Markdown body. Specific + imperative. When-to-use → Instructions → Examples → Guidelines.'}, 'allowed_tools': {'type': 'string', 'description': "Optional. SPACE-separated, least-privilege tool allowlist with optional scoping (e.g. 'Bash(git:*) Read'). Experimental."}, 'compatibility': {'type': 'string', 'description': "Optional, ≤500 chars. Runtime/environment requirements (e.g. 'Requires Python 3.14+ and uv'). Omit for pure-instruction skills."}}}
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'A trace UUID (every trace row shows it).'}, 'run_id': {'type': 'string', 'description': 'A run UUID — the id rig_run / POST /api/rigs/run hand back. Pass this OR id.'}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Newest N (default modest).'}, 'rig_id': {'type': 'string', 'description': 'Only traces from this rig.'}, 'run_id': {'type': 'string', 'description': "One run's traces — the run id rig_run / POST /api/rigs/run hand back. Works anonymously for a PUBLIC rig's run."}, 'status': {'type': 'string', 'description': 'e.g. success, error, partial.'}, 'node_id': {'type': 'string', 'description': "One graph node's passes within a run."}, 'trace_kind': {'type': 'string', 'description': "'run' (containers) or 'atomic' (steps)."}, 'parent_trace_id': {'type': 'string', 'description': 'The atomic step traces under one run — how you see which steps actually ran.'}}}
输入模式
{'type': 'object', 'required': ['harness_id'], 'properties': {'content': {'type': 'string', 'description': 'New content for the harness (optional)'}, 'metadata': {'type': 'object', 'description': 'New metadata for the harness (optional)'}, 'harness_id': {'type': 'string', 'description': 'UUID of the harness to update'}}}
输入模式
{'type': 'object', 'properties': {'mcp_url': {'type': 'string', 'description': "your MCP server's streamable-http endpoint (https://…/mcp) — optional if your seat already carries one"}}}
输入模式
{'type': 'object', 'required': ['handle'], 'properties': {'deep': {'type': 'boolean', 'description': 'also pull the reply sample for a quality read (Builder/Pro)'}, 'handle': {'type': 'string', 'description': 'the X handle to audit, with or without the @'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['post'], 'properties': {'post': {'type': 'string', 'description': 'The post id, or its full x.com link'}}}
近期工具变更
类似的 MCP 服务器
MCP Listing For Products
Provides a pathway for products to expose an MCP endpoint and be discovered through agent registries.
Zambo
Routes natural-language requests across Zambo tools, including website and code audits, lead generation, cryptocurrency prices, p…
Agentic Commerce Tools
Audits MCP servers and websites for agent readiness and discoverability, generates llms.txt files, and provides agentic-commerce …
Delx Commerce — Pay-per-Result APIs for Agents
Provides pay-per-result APIs and agent protocol tools for continuity, multi-agent coordination, document OCR, and crypto-related …
AdButler
Manages AdButler advertisers, campaigns, ad items, audiences, zones, creatives, catalogs, and advertising reports.
SAP MCP Server
Provides an MCP gateway connecting SAP-related tools with Solana, DeFi, decentralized identity, and x402 payments.
TheProtocol — Sovereign AI Agent Platform
Manages sovereign AI agents, identities, contracts, payments, governance, exchanges, and cross-frame token transfers.
AIMEAT
Provides a self-hosted agent operating system with agent work delegation, access controls, federation, hooks, SSO, security admin…