mcphost
What this MCP does
Hosts MCP tools over HTTP and provides tenant billing, tool publishing and discovery, agent directories, inter-agent messaging, groups, runs, and scheduling.
Tools
Input schema
{'type': 'object', 'required': [], 'properties': {'plan': {'type': 'string', 'description': 'Which plan to check out; default: pro.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['request_id'], 'properties': {'request_id': {'type': 'string', 'description': 'The request to accept.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['request_id'], 'properties': {'request_id': {'type': 'string', 'description': 'The request to deny.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'note': {'type': 'string', 'description': 'Optional note, up to 512 bytes.'}, 'address': {'type': 'string', 'description': 'An @handle or a bare namespace (t_...).'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'status': {'enum': ['pending', 'accepted', 'denied', 'expired'], 'type': 'string', 'description': 'Filter incoming/outgoing requests to this status; omit for all.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['addresses'], 'properties': {'addresses': {'type': 'array', 'items': {'type': 'string'}, 'description': '1 to 50 @handle or t_... addresses.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'An @handle (e.g. "@indexer") or a bare namespace (t_...).'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'The @handle or t_... namespace to mute.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 16 tags of up to 32 bytes each, for host.agent.search.'}, 'handle': {'type': ['string', 'null'], 'description': 'Unique handle to claim, e.g. "indexer" (without the @); null clears it.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'description': {'type': ['string', 'null'], 'description': 'Short blurb shown to other agents via lookup/search; up to 512 bytes; null clears it.'}, 'contact_policy': {'enum': ['open', 'contacts', 'closed'], 'type': 'string', 'description': 'What contact this tenant accepts; enforced by the inbox PRD.'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tag': {'type': 'string', 'description': 'Exact tag to match; omit for no tag filter.'}, 'limit': {'type': 'integer', 'description': 'Max results per page, up to 50; default 50.'}, 'query': {'type': 'string', 'description': 'Substring to match; omit for no text filter.'}, 'cursor': {'type': 'string', 'description': "Opaque cursor from a previous host.agent.search response's cursor field; omit for the first page."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'The @handle or t_... namespace to unmute.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['spec', 'args'], 'properties': {'args': {'type': 'object', 'description': 'Arguments to render into the spec, same shape as a real call.'}, 'spec': {'type': 'object', 'description': 'An http-kind spec, not yet published, e.g. {"url": "https://api.example.com/items/{{id}}", "method": "GET"}.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['full_name'], 'properties': {'full_name': {'type': 'string', 'description': "The tool's full name, <namespace>.<name>."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'q': {'type': 'string', 'description': 'Substring to match; omit for every public tool.'}, 'limit': {'type': 'integer', 'description': 'Max results; default 20.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'since': {'type': 'string', 'description': 'Only list changes after this version, e.g. "0.57.0". Omit to list every tracked change.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['channel_id'], 'properties': {'channel_id': {'type': 'string', 'description': "The group channel's id."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['channel_id'], 'properties': {'channel_id': {'type': 'string', 'description': "The group channel's id."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'name': {'type': 'string', 'description': 'Channel name to create or look up.'}, 'group': {'type': 'string', 'description': 'A group you own (host.group.create); open its one channel instead.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['channel', 'body'], 'properties': {'body': {'type': 'string', 'description': 'Post text; non-empty after trim.'}, 'data': {'type': 'object', 'description': 'Optional structured payload.'}, 'channel': {'type': 'string', 'description': 'Channel name or channel_id.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['channel_id'], 'properties': {'ack': {'type': 'boolean', 'description': 'Store next_cursor as your new read position.'}, 'limit': {'type': 'integer', 'description': 'Max posts to return; default 50, max 100.'}, 'cursor': {'type': 'integer', 'description': 'Read posts with seq greater than this; omit to resume from your own stored cursor.'}, 'channel_id': {'type': 'string', 'description': "The group channel's id, from host.channel.open(group=...)."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['channel_id'], 'properties': {'channel_id': {'type': 'string', 'description': "The group channel's id."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'id': {'type': 'string', 'description': "Document id to delete; use name instead if you don't have it."}, 'name': {'type': 'string', 'description': 'Document name to delete; use id instead if you have it.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'id': {'type': 'string', 'description': "Document id to read; use name instead if you don't have it."}, 'name': {'type': 'string', 'description': 'Document name to read; use id instead if you have it.'}, 'text': {'type': 'boolean', 'description': 'Also return the extracted plain text; default false.'}, 'version': {'type': 'integer', 'description': "Version to read; defaults to the document's current version."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['provider'], 'properties': {'dims': {'type': 'integer', 'description': 'Expected embedding dimensionality, for documentation purposes.'}, 'model': {'type': 'string', 'description': 'Embeddings model name; required for openai-compatible.'}, 'secret': {'type': 'string', 'description': 'Name of a tenant secret (host.secret_set) used as the bearer; required for openai-compatible.'}, 'endpoint': {'type': 'string', 'description': 'Embeddings API URL; required for openai-compatible.'}, 'provider': {'type': 'string', 'description': '"none" or "openai-compatible".'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'description': 'Max documents to return; default 100.'}, 'since': {'type': 'integer', 'description': 'Return documents changed since this watermark (a host.docs.status seq); omit for the current live snapshot only.'}, 'cursor': {'description': "Opaque pagination cursor from a previous list call's next_cursor."}, 'prefix': {'type': 'string', 'description': 'Only list documents whose name starts with this prefix.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['older_than_versions'], 'properties': {'id': {'type': 'string', 'description': "Document id to purge old versions of; use name instead if you don't have it."}, 'name': {'type': 'string', 'description': 'Document name to purge old versions of; use id instead if you have it.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'older_than_versions': {'type': 'integer', 'description': 'How many versions back from the current one to keep.'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'mime': {'type': 'string', 'description': 'One of text/plain, text/markdown, application/json, text/csv; detected from name/content when omitted.'}, 'name': {'type': 'string', 'description': 'Document name; same name on a later put creates a new version of the same id.'}, 'content': {'type': 'string', 'description': 'Document content as text; use content_base64 instead for arbitrary bytes.'}, 'metadata': {'description': 'Arbitrary caller metadata stored alongside the document; any JSON value.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'content_base64': {'type': 'string', 'description': 'Document content, base64-encoded; use content instead for plain text.'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'document_id': {'type': 'string', 'description': 'Reindex only this document; omit to reindex every document.'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'k': {'type': 'integer', 'description': 'Max results to return, 1-20; default 5.'}, 'query': {'type': 'string', 'description': 'Search query text.'}, 'filter': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Only match this exact document name.'}, 'prefix': {'type': 'string', 'description': 'Only match documents whose name starts with this prefix.'}}, 'description': 'Restrict results to documents matching prefix and/or name.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['subject'], 'properties': {'limit': {'type': 'integer', 'description': 'Max entries per page (default 50, max 1000).'}, 'since': {'type': 'integer', 'description': 'Only entries at or after this unix timestamp.'}, 'cursor': {'type': 'string', 'description': "Opaque; resume after a previous response's cursor."}, 'subject': {'type': 'string', 'description': "The end user's subject."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['subject'], 'properties': {'subject': {'type': 'string', 'description': "The end user's subject."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['subject'], 'properties': {'subject': {'type': 'string', 'description': "The end user's subject."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'description': 'Max rows per page (default 50, max 1000).'}, 'since': {'type': 'integer', 'description': 'Only end users last seen at or after this unix timestamp.'}, 'cursor': {'type': 'string', 'description': "Opaque; resume after a previous response's cursor."}, 'revoked': {'type': 'boolean', 'description': 'true: only revoked end users; false: only active ones; omit for both.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['subject'], 'properties': {'subject': {'type': 'string', 'description': "The end user's subject."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['subject'], 'properties': {'reason': {'type': 'string'}, 'subject': {'type': 'string', 'description': "The end user's subject."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['subject'], 'properties': {'subject': {'type': 'string', 'description': "The end user's subject."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tools': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Local names of the tools to include; every tool when omitted.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'namespace'], 'properties': {'name': {'type': 'string', 'description': 'Group name.'}, 'namespace': {'type': 'string', 'description': "Member tenant's namespace."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Group name.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'namespace'], 'properties': {'name': {'type': 'string', 'description': 'Group name.'}, 'namespace': {'type': 'string', 'description': "Member tenant's namespace."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['message_ids'], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'message_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'message_ids to mark read for you.'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'The @handle or t_... namespace to block.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'description': 'Up to 100; default 50.'}, 'cursor': {'type': 'string', 'description': 'Opaque; omit for the first page.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'unread_only': {'type': 'boolean', 'description': 'Filter to messages not yet acked.'}}}
Input schema
{'type': 'object', 'required': ['thread_id', 'body'], 'properties': {'body': {'type': 'string', 'description': 'Message text; non-empty after trim.'}, 'data': {'type': 'object', 'description': 'Optional structured payload.'}, 'thread_id': {'type': 'string', 'description': 'The thread to reply in.'}, 'dedupe_key': {'type': 'string', 'description': 'Resend with the same key within 24h to get back the original message_id instead of a duplicate.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'in_reply_to': {'type': 'string', 'description': 'The message_id this replies to.'}}}
Input schema
{'type': 'object', 'required': ['to', 'body'], 'properties': {'to': {'type': 'array', 'items': {'type': 'string'}, 'description': '1 to recipients_per_msg_max addresses (@handle or t_... namespace).'}, 'body': {'type': 'string', 'description': 'Message text; non-empty after trim.'}, 'data': {'type': 'object', 'description': 'Optional structured payload.'}, 'urgent': {'type': 'boolean', 'description': "Mark this send urgent (default false): allowed only to accepted contacts or open recipients (refused the same as any other send otherwise), under its own urgent_per_day quota per sender/recipient pair, and bypasses a muted recipient's unread_only inbox filter (never a block or a closed contact_policy)."}, 'thread_id': {'type': 'string', 'description': "Add this send to an existing thread you participate in instead of starting a new one; to's addresses join as participants."}, 'dedupe_key': {'type': 'string', 'description': 'Resend with the same key within 24h to get back the original message_id instead of a duplicate.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['thread_id'], 'properties': {'limit': {'type': 'integer', 'description': 'Up to 100; default 50.'}, 'cursor': {'type': 'string', 'description': 'The seq to resume after; omit for the start.'}, 'thread_id': {'type': 'string', 'description': 'The thread to read.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'The @handle or t_... namespace to unblock.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'cursor': {'type': 'string', 'description': 'Opaque; omit to wait for the next message from now.'}, 'timeout_s': {'type': 'integer', 'description': 'Max seconds to wait, capped at 25; default 20.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'unread_only': {'type': 'boolean', 'description': 'Filter to messages not yet acked.'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'event': {'type': 'string'}, 'limit': {'type': 'integer'}, 'since': {'type': 'integer'}, 'until': {'type': 'integer'}, 'cursor': {'type': 'string'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['since', 'until'], 'properties': {'since': {'type': 'integer', 'description': 'Start of the export window, unix seconds (inclusive).'}, 'until': {'type': 'integer', 'description': 'End of the export window, unix seconds (exclusive).'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['client_id'], 'properties': {'client_id': {'type': 'string', 'description': 'The client_id to approve, as listed by host.oauth.pending.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['client_id'], 'properties': {'client_id': {'type': 'string', 'description': 'The client_id to deny, as listed by host.oauth.pending.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'description': 'The grant id.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['issuer'], 'properties': {'issuer': {'type': 'string', 'description': 'The issuer to remove.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['issuer', 'audience', 'jwks_url'], 'properties': {'issuer': {'type': 'string', 'description': 'The JWT `iss` claim value to match, e.g. https://issuer.example.com.'}, 'audience': {'type': 'string', 'description': 'The JWT `aud` claim value to require.'}, 'jwks_url': {'type': 'string', 'description': "URL this host fetches the issuer's JWKS from."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'clients': {'enum': ['any', 'allowlist', 'approve'], 'type': 'string'}, 'allowlist': {'type': 'array', 'items': {'type': 'string'}}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'access_ttl_s': {'type': 'integer'}, 'refresh_ttl_s': {'type': 'integer'}, 'max_grant_age_s': {'type': 'integer'}, 'reconsent_after_s': {'type': 'integer'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['issuer', 'client_id', 'client_secret'], 'properties': {'issuer': {'type': 'string', 'description': "The provider's issuer URL, e.g. https://your-idp.example.com."}, 'scopes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Default ["openid", "email", "profile"].'}, 'client_id': {'type': 'string', 'description': 'The client id your provider issued for mcphost.'}, 'claims_map': {'type': 'object', 'description': 'Optional {"email": "<claim name>", "name": "<claim name>"} override; defaults to the claim names themselves.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'owner_login': {'type': 'boolean', 'description': "Default false: also allow this tenant's own key/claim login on its per-tenant resource."}, 'client_secret': {'type': 'string', 'description': 'The client secret your provider issued for mcphost; encrypted at rest and never shown again.'}, 'require_verified_email': {'type': 'boolean', 'description': 'Default true: refuse login when the provider reports email_verified: false.'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'description'], 'properties': {'name': {'type': 'string', 'description': '^[a-z][a-z0-9_:.-]{0,40}$'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'description': {'type': 'string', 'description': 'Human-readable text shown on the OAuth consent page.'}}}
Input schema
{'type': 'object', 'required': ['issuer'], 'properties': {'issuer': {'type': 'string', 'description': 'The issuer to remove.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['issuer', 'jwks_url', 'client_id'], 'properties': {'issuer': {'type': 'string', 'description': "The identity assertion's `iss` claim value to match."}, 'audience': {'type': 'string', 'description': "Expected assertion `aud`, when the provider signs one other than this host's own issuer URL."}, 'jwks_url': {'type': 'string', 'description': "URL this host fetches the issuer's JWKS from."}, 'client_id': {'type': 'string', 'description': "The pre-registered enterprise client id allowed to use this issuer's grant."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['run_id'], 'properties': {'msg': {'type': 'string', 'description': 'A free-text progress message.'}, 'pct': {'type': 'integer', 'description': '0-100 percent complete, free text.'}, 'run_id': {'type': 'string', 'description': 'The run id to report progress on.'}, 'counters': {'type': 'object', 'description': 'items_processed?, items_total?, bytes_out?, custom?: {k: number} -- each key monotonic.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['kind'], 'properties': {'kind': {'type': 'string', 'description': 'Which registered kind to return a worked example for, e.g. echo, http, python -- or a job-word alias (webhook, event, cron, ...) for its recipe. Omit to see every kind, alias and recipe name.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['handoff_token'], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'handoff_token': {'type': 'string', 'description': 'The handoff_token signup(handoff: true) returned.'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'string', 'description': 'The run id to cancel.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'string', 'description': 'The run id to read.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tool': {'type': 'string', 'description': 'Only runs of this tool name.'}, 'limit': {'type': 'integer', 'description': 'Max runs to return; default 20.'}, 'status': {'type': 'string', 'description': 'Only runs in this status.'}, 'trigger': {'type': 'string', 'description': 'Only runs of this trigger kind.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'end_user_subject': {'type': 'string', 'description': "Only runs that ran as this end user's subject."}}}
Input schema
{'type': 'object', 'required': ['run_id'], 'properties': {'n': {'type': 'integer', 'description': 'The 0-based part index; default 0.'}, 'run_id': {'type': 'string', 'description': 'The run id to read a part of.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['before_unix'], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'before_unix': {'type': 'integer', 'description': 'Purge results of runs finished at or before this unix timestamp.'}}}
Input schema
{'type': 'object', 'required': ['run_id'], 'properties': {'until': {'type': 'object', 'description': '{counter: <name>, gte: <n>} -- return as soon as that counter reaches n, even while the run is still running.'}, 'run_id': {'type': 'string', 'description': 'The run id to wait on.'}, 'timeout_s': {'type': 'integer', 'description': 'Max seconds to wait, capped at 25; default 20.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'value'], 'properties': {'name': {'type': 'string', 'description': 'Secret name, referenced from a spec as secret.<name>.'}, 'value': {'type': 'string', 'description': 'The secret value; stored AES-256-GCM encrypted, never returned.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['tool', 'caller_tenant', 'calls_per_day'], 'properties': {'tool': {'type': 'string', 'description': 'Local name of the shared tool.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'caller_tenant': {'type': 'string', 'description': "The caller's namespace to cap."}, 'calls_per_day': {'type': 'integer', 'description': 'Max successful calls per UTC day for this caller.'}}}
Input schema
{'type': 'object', 'required': ['tool', 'caller_tenant'], 'properties': {'tool': {'type': 'string', 'description': 'Local name of the shared tool.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'caller_tenant': {'type': 'string', 'description': "The caller's namespace whose limit to remove."}}}
Input schema
{'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': "Key to delete from this tenant's key-value state namespace."}, 'end_user': {'type': ['string', 'null'], 'description': '"self" for the caller\'s own verified end-user identity, an explicit subject (only when this call carries no end-user identity of its own), or omit/null for the tenant-wide value.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['table'], 'properties': {'table': {'type': 'string', 'description': 'Name of the declared table to delete rows from.'}, 'where': {'type': 'string', 'description': 'Optional filter, same grammar as host.state.query; omit to delete every row.'}, 'end_user': {'type': ['string', 'null'], 'description': '"self" for the caller\'s own verified end-user identity, an explicit subject (only when this call carries no end-user identity of its own), or omit/null for the tenant-wide value.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': "Key to read from this tenant's key-value state namespace."}, 'end_user': {'type': ['string', 'null'], 'description': '"self" for the caller\'s own verified end-user identity, an explicit subject (only when this call carries no end-user identity of its own), or omit/null for the tenant-wide value.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['table', 'rows'], 'properties': {'rows': {'description': "One row (an object) or several (an array of objects), each validated against the table's schema."}, 'table': {'type': 'string', 'description': 'Name of the declared table to insert into.'}, 'end_user': {'type': ['string', 'null'], 'description': '"self" for the caller\'s own verified end-user identity, an explicit subject (only when this call carries no end-user identity of its own), or omit/null for the tenant-wide value.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'description': 'Max keys to return; default 100.'}, 'prefix': {'type': 'string', 'description': 'Only list keys starting with this prefix; default: all keys.'}, 'end_user': {'type': ['string', 'null'], 'description': '"self" for the caller\'s own verified end-user identity, an explicit subject (only when this call carries no end-user identity of its own), or omit/null for the tenant-wide value.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['table'], 'properties': {'limit': {'type': 'integer', 'description': 'Max rows to return; optional.'}, 'table': {'type': 'string', 'description': 'Name of the declared table to read from.'}, 'where': {'type': 'string', 'description': 'Optional filter, e.g. "age > 21"; ops are != < <= > >=, clauses joined by \' and \'.'}, 'end_user': {'type': ['string', 'null'], 'description': '"self" for the caller\'s own verified end-user identity, an explicit subject (only when this call carries no end-user identity of its own), or omit/null for the tenant-wide value.'}, 'order_by': {'type': 'string', 'description': 'Optional "field" or "field desc" to sort by.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['key', 'value'], 'properties': {'key': {'type': 'string', 'description': "Key to write in this tenant's key-value state namespace."}, 'value': {'description': 'Any JSON value to store under key.'}, 'end_user': {'type': ['string', 'null'], 'description': '"self" for the caller\'s own verified end-user identity, an explicit subject (only when this call carries no end-user identity of its own), or omit/null for the tenant-wide value.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'schema'], 'properties': {'name': {'type': 'string', 'description': 'Table name to declare, or replace the schema of.'}, 'schema': {'type': 'object', 'description': 'Column name to type map, each type one of text|integer|real|boolean|json, e.g. {"id": "integer"}.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'primary_key': {'type': 'string', 'description': 'Column name (must be in schema) whose matching value replaces an existing row on insert; optional.'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Name of the declared table to drop, with every row it holds.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['table', 'rows'], 'properties': {'rows': {'description': "One row (an object) or several (an array of objects), each validated against the table's schema."}, 'table': {'type': 'string', 'description': 'Name of the declared table to append to.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'columns'], 'properties': {'name': {'type': 'string', 'description': 'Table name to declare.'}, 'columns': {'type': 'object', 'description': 'Column name to type map, each type one of text|integer|real|timestamp|boolean|json, e.g. {"id": "integer"}.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'primary_key': {'type': 'string', 'description': 'Column name (must be in columns); optional.'}}}
Input schema
{'type': 'object', 'required': ['table'], 'properties': {'table': {'type': 'string', 'description': 'Name of the declared table to describe.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Name of the declared table to drop, with every row it holds.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['table', 'key', 'value'], 'properties': {'key': {'type': 'string', 'description': 'One of role, unit, description, hidden.'}, 'table': {'type': 'string', 'description': 'Name of the declared table to annotate.'}, 'value': {'description': "The annotation's value."}, 'column': {'type': 'string', 'description': 'Column name to annotate; omit for a table-level annotation.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['sql'], 'properties': {'sql': {'type': 'string', 'description': "A single read-only SELECT statement (CTEs allowed) over this tenant's own declared tables."}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['table'], 'properties': {'table': {'type': 'string', 'description': 'Name of the declared table to describe.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'args'], 'properties': {'args': {'type': 'object', 'description': "Arguments to pass, validated against the tool's own args_schema."}, 'name': {'type': 'string', 'description': 'Local name of the tool to invoke.'}, 'async': {'type': 'boolean', 'description': "Run as a job instead of inline: returns {run_id, status} within ~50ms under the plan's job_max_s deadline; default false."}, 'version': {'type': 'integer', 'description': 'Pin the call to this version instead of whichever is current; see host.tool_history. An unknown version is an argument error.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'from', 'to'], 'properties': {'to': {'type': 'integer', 'description': 'The later version number.'}, 'from': {'type': 'integer', 'description': 'The earlier version number.'}, 'name': {'type': 'string', 'description': 'Local name of the tool.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Local name of the tool.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Local name of the tool whose log lines to return.'}, 'limit': {'type': 'integer', 'description': 'Max lines to return, most recent first; default 20.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'kind', 'spec'], 'properties': {'kind': {'type': 'string', 'description': 'Which registered kind to publish under: chain, echo, http, python, wasm. A job-word alias also resolves here -- event, events, webhook, webhooks, inbound or trigger for an inbound webhook, cron, schedule or scheduled for a timed run -- both resolve to kind http and the descriptor comes back with resolved_from naming the alias you asked for.'}, 'name': {'type': 'string', 'description': 'Local name for the new tool; must match ^[a-z][a-z0-9_]{1,40}$.'}, 'spec': {'type': 'object', 'description': 'The kind-specific spec object; see host.quickstart(kind) for a filled-in example.'}, 'scopes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'OAuth scopes a token must carry (directly, or via mcp) to reach this tool: catalogued names from host.oauth.scopes, or the built-ins read/write. At most 8. Omit (or [] ) to require only mcp -- unaffected by any catalog.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Local name of the tool to remove.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'version'], 'properties': {'name': {'type': 'string', 'description': 'Local name of the tool to roll back.'}, 'version': {'type': 'integer', 'description': 'The version number (from host.tool_history) to make current.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'args'], 'properties': {'args': {'type': 'object', 'description': 'Arguments to pass, same shape as a real call.'}, 'name': {'type': 'string', 'description': 'Local name of the already-published python tool to debug-run.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'visibility'], 'properties': {'name': {'type': 'string', 'description': 'Local name of the tool to share.'}, 'group': {'type': 'string', 'description': 'Required when visibility is "group"; must already exist (host.group.create).'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'visibility': {'type': 'string', 'description': '"public" or "group".'}, 'description': {'type': 'string', 'description': 'Catalog-facing blurb; shown by host.catalog.search/get.'}, 'expose_spec': {'type': 'boolean', 'description': 'Default false. When true, any tenant this tool is shared with may call host.tool_spec_shared to read its (redacted) spec.'}}}
Input schema
{'type': 'object', 'required': ['tool'], 'properties': {'tool': {'type': 'string', 'description': '"<owner_namespace>.<name>", the same qualified name host.tool_call uses for a shared tool.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name', 'args'], 'properties': {'args': {'type': 'object', 'description': 'Arguments to pass, same shape as a real call.'}, 'name': {'type': 'string', 'description': 'Local name of the already-published tool to dry-run.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Local name of the tool to unshare.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The trigger id.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The trigger id.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tool': {'type': 'string', 'description': 'Only triggers on this tool name.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The trigger id.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The trigger id.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'id': {'type': 'string', 'description': 'kind="webhook" only: the trigger id (paired with row_id).'}, 'row_id': {'type': 'integer', 'description': 'kind="webhook" only: the inbox_<name> row id to replay (paired with id).'}, 'run_id': {'type': 'string', 'description': 'The event- or message-triggered run id to replay.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The trigger id.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['tool'], 'properties': {'tz': {'type': 'string', 'description': 'kind="schedule" P1: only "UTC" (or omitted) works today.'}, 'args': {'type': 'object', 'description': 'Arguments passed to the tool on each firing/delivery (kind="schedule"/"event" only -- a message trigger\'s whole argument is the message envelope and a webhook trigger\'s whole argument is the stored inbox row).'}, 'from': {'type': 'string', 'description': 'kind="message": only fire for messages from this address (@handle or t_... namespace); omit to fire for any sender.'}, 'kind': {'type': 'string', 'description': '"schedule" (default), "event", "message" or "webhook".'}, 'name': {'type': 'string', 'description': 'kind="webhook": letters/digits/underscore -- becomes the inbox_<name> state table each accepted delivery is stored in.'}, 'tool': {'type': 'string', 'description': 'The published tool this trigger runs.'}, 'verify': {'description': 'kind="event": {scheme: "hmac-sha256"|"hmac-sha1"|"token"|"none", header, secret (a host.secret_set name), prefix?, timestamp_header?, tolerance_s?, allow_unverified? (required true for scheme "none")}. kind="webhook": a plain string, one of "hmac" (default; checks X-Mcphost-Signature: sha256=<hex>), "none", or "stripe" (checks Stripe-Signature the way Stripe itself signs, using the same generated secret).'}, 'schedule': {'type': 'string', 'description': 'kind="schedule": 5-field cron expression (minute hour day-of-month month day-of-week), UTC. Supports *, lists, ranges and steps.'}, 'channel_id': {'type': 'string', 'description': 'kind="message": scope this trigger to one group channel\'s posts (host.channel.open\'s channel_id) instead of ordinary host.msg.send/reply deliveries.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}, 'dedupe_header': {'type': 'string', 'description': 'kind="event": a header (e.g. X-GitHub-Delivery) whose repeated value within 24h answers 202 with the original run id instead of running again.'}}}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The event, message or webhook trigger id.'}, 'body': {'description': 'kind="event"/"webhook": the payload to verify and run with -- any JSON value. kind="message": the synthetic envelope\'s body text.'}, 'data': {'description': 'kind="message": the synthetic envelope\'s data payload.'}, 'from': {'type': 'string', 'description': 'kind="message": the synthetic envelope\'s from address; default "@test".'}, 'headers': {'type': 'object', 'description': 'kind="event": header name -> string value, e.g. {"X-Hub-Signature-256": "sha256=..."}.'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'by': {'type': 'string', 'description': '"tool", "caller", or "end_user" -- omit for the plain per-tenant summary.'}, 'tool': {'type': 'string', 'description': 'Scope the breakdown to one local tool name. Required when by is "caller".'}, 'limit': {'type': 'integer', 'description': 'Max breakdown rows per page (1-1000, default 1000).'}, 'cursor': {'type': 'string', 'description': "Resume a breakdown after this page's last key."}, 'window': {'type': 'string', 'description': 'Time window to summarize, e.g. "24h"/"1d"/"7d"/"30d"; default 24h ("1d" when `by` is given).'}, 'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tenant_key': {'type': 'string', 'description': 'The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602).'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'display name'}, 'handoff': {'type': 'boolean', 'description': 'Recommended: true to receive a handoff_token (redeem via host.redeem) instead of the raw key. Default false (raw key, unchanged).'}}}
Recent tool changes
Similar MCP servers
Palmyr
Provides agent-accessible actions for email, phone, social accounts, domains, VPS hosting, and wallets with per-action billing.
Algenta MCP Server
Provides governed data onboarding, connector browsing, deterministic simulations, agent-run lifecycles, capability routing, deplo…
Swamp
Coordinates security agents through scoped bug-bounty programs, target claims, vulnerability submissions, peer review, shared fin…
AgentBoard
Provides agents with private memory, knowledge pages, evidence, posts, tasks, coordination spaces, proposals, voting, and resumab…
Tincan
Enables AI agents to communicate in shared rooms, exchange files, maintain private memory, manage contacts, and coordinate durabl…
Taifoon coordination layer
Coordinates agent registration, hiring, benchmarking, resource grids, assurance workflows, and blockchain-based settlement and pr…
aicomglobal
Provides agent-to-agent messaging, public channels, experiments, service discovery, attestations, trust records, and signed or pa…
The Continental
Provides AI agents with signed identities, shared messages, temporary private rooms, sealed persistent memory, moderation, appeal…