Server definition
- Hash
- sha256:00ea43d00ae49d94fb177062e5685513bf0ce25ba270bea9444447d42ce8ac6a
- What it is
- What a remote MCP server returned when asked what it offers: 7 tools
The blob, as servednamed by its sha256
{
"instructions": "AgentSIM gives you authentication challenge tools for browser agents and controlled auth workflows.\nIt opens challenges (SMS OTP, email OTP, magic links, WebAuthn detect-and-halt), waits for verdicts,\nand releases sessions when finished.\n\nTypical workflow:\n1. Call `open_challenge` with a channel (sms_otp | email_otp | magic_link | webauthn_required).\n2. Trigger the challenge in your target service or controlled auth workflow.\n3. Call `wait_for_verdict` with the session_id — it blocks until the outcome arrives or times out.\n4. If the verdict is policy_denied or webauthn_required, stop — these are control-plane halts.\n5. Call `release_number` to return the allocation to the pool when done.\n\nSupported channels: sms_otp (programmable US numbers), email_otp (mock inject), magic_link (mock inject),\nwebauthn_required (detect-and-halt). Policy layer blocks third-party services by default; allow your\nstaging/development services through account policies. Check https://docs.agentsim.dev/policies-verdicts.\n\nLegacy aliases: `provision_number` → `open_challenge`, `wait_for_otp` → `wait_for_verdict`.\nAlways release the session when finished, even on error, to avoid wasting pool capacity.\n",
"tools": [
{
"description": "List all SMS messages received in this session without consuming the OTP.\n\nUse this to inspect raw messages or check if an SMS arrived before calling\nwait_for_verdict. Does NOT mark the OTP as consumed.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"input": {
"properties": {
"session_id": {
"description": "Session ID returned by open_challenge or provision_number.",
"type": "string"
}
},
"required": [
"session_id"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
},
"name": "get_messages",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "List active challenge sessions, optionally filtered by agent_id.\n\nUse this to check for leaked sessions or inspect what is currently active.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"agent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"name": "list_numbers",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "Open an authentication challenge session.\n\nSupports multiple channels: sms_otp (programmable US number), email_otp (mock inbox),\nmagic_link (mock inbox), and webauthn_required (detect-and-halt).\n\nReturns the challenge identifier (phone number or email address) and a session_id\nneeded for all subsequent calls. The session is reserved for ttl_seconds.\n\nNext step: use the returned identifier on your target service to trigger the challenge,\nthen call `wait_for_verdict` with the returned `session_id`.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"input": {
"properties": {
"agent_id": {
"description": "Unique identifier for the agent requesting the challenge (e.g. 'checkout-bot').",
"type": "string"
},
"channel": {
"default": "sms_otp",
"description": "Challenge channel: sms_otp | email_otp | magic_link | webauthn_required.",
"type": "string"
},
"country": {
"default": "US",
"description": "ISO 3166-1 alpha-2 country code (sms_otp only). Supported: US.",
"type": "string"
},
"service_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional URL of the target service for policy evaluation."
},
"ttl_seconds": {
"default": 3600,
"description": "How long to hold the session (seconds). Default 1 hour.",
"maximum": 86400,
"minimum": 60,
"type": "integer"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional HTTPS URL to receive verdict via webhook instead of polling."
}
},
"required": [
"agent_id"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
},
"name": "open_challenge",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "Open an SMS challenge session (alias for open_challenge with channel=sms_otp).\n\nDEPRECATED: Use `open_challenge` with channel=\"sms_otp\" instead. This tool is kept\nfor backward compatibility with existing MCP clients.\n\nReturns the phone number (e164 format) and a session_id needed for all\nsubsequent calls. The session is reserved for ttl_seconds.\n\nNext step: use the returned `number` on an app you own to trigger the wall,\nthen call `wait_for_verdict` (or the `wait_for_otp` alias) with the `session_id`.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"input": {
"properties": {
"agent_id": {
"description": "Unique identifier for the agent requesting the number (e.g. 'checkout-bot').",
"type": "string"
},
"country": {
"default": "US",
"description": "ISO 3166-1 alpha-2 country code. Supported: US. More countries coming soon.",
"type": "string"
},
"ttl_seconds": {
"default": 3600,
"description": "How long to hold the number (seconds). Default 1 hour.",
"maximum": 86400,
"minimum": 60,
"type": "integer"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional HTTPS URL to receive OTP via webhook instead of polling."
}
},
"required": [
"agent_id"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
},
"name": "provision_number",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "Close a challenge session.\n\nAlways call this when you are done — even on error — so the session does\nnot keep consuming pool capacity.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"input": {
"properties": {
"session_id": {
"description": "Session ID returned by open_challenge or provision_number.",
"type": "string"
}
},
"required": [
"session_id"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
},
"name": "release_number",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "Block until an SMS verdict arrives for this session (alias for wait_for_verdict).\n\nDEPRECATED: Use `wait_for_verdict` instead. This tool is kept for backward\ncompatibility with existing MCP clients.\n\nPolls the AgentSIM API for up to `timeout_seconds`. Returns the OTP code\nwhen the SMS challenge resolves.\n\nIf the verdict does not arrive in time, raises a ToolError with advice on retrying.\nAlways call `release_number` after you have used the verdict.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"input": {
"properties": {
"auto_reroute": {
"default": true,
"description": "On timeout, automatically swap to a fresh number on the same session and return retry instructions.",
"type": "boolean"
},
"session_id": {
"description": "Session ID returned by provision_number.",
"type": "string"
},
"timeout_seconds": {
"default": 60,
"description": "Maximum seconds to wait. Default 60.",
"maximum": 120,
"minimum": 1,
"type": "integer"
}
},
"required": [
"session_id"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
},
"name": "wait_for_otp",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "Block until a challenge verdict arrives for this session.\n\nPolls the AgentSIM API for up to `timeout_seconds`. Returns the structured verdict,\nwhich may include:\n- otp_code: the parsed OTP (for sms_otp, email_otp channels)\n- magic_link: the extracted HTTPS URL (for magic_link channel)\n- webauthn_required: true if WebAuthn/passkey was detected (detect-and-halt)\n- policy_denied: true if the service_url is blocked by account policy\n\nAlways call `release_number` after processing the verdict.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"input": {
"properties": {
"session_id": {
"description": "Session ID returned by open_challenge.",
"type": "string"
},
"timeout_seconds": {
"default": 60,
"description": "Maximum seconds to wait. Default 60.",
"maximum": 120,
"minimum": 1,
"type": "integer"
}
},
"required": [
"session_id"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
},
"name": "wait_for_verdict",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:00ea43d00ae49d94fb177062e5685513bf0ce25ba270bea9444447d42ce8ac6a | sha256sum