Agent Conversion
Run evidence-backed website conversion audits with an AI browsing agent.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"agent-conversion": {
"url": "https://agent-conversion-coral.vercel.app/api/mcp"
}
}
}Puntos de conexión remotos
https://agent-conversion-coral.vercel.app/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (2)
🟢test_conversion(url, task, locale)
Start a real Agent Conversion audit: an autonomous browsing agent opens the given website and tries to complete the task, then the run is scored 0-100 with problems and recommendations. Use this when someone wants to know whether an AI agent can find something or complete a commercial step on a specific website, e.g. "Can an agent find the Pro plan's monthly price on example.com?" or "Can an agent start the self-service signup on example.com?". Returns immediately with an audit_id and status "pending" — it does NOT wait for the result. Call get_conversion_report with the audit_id to get the result. Rules: url must be a public http(s) URL (no localhost, private IPs, credentials or custom ports). task must be 10-1000 characters and describe the goal in plain language; phrase purchase-like goals as "reach checkout without buying". Each call costs a real browser run and is rate limited: do not call it repeatedly for the same url+task — poll get_conversion_report instead. Error codes rate_limited, daily_limit and at_capacity mean try again later.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"description": "Public website URL to test, including https://, e.g. https://www.example.com or https://www.example.com/pricing."
},
"task": {
"type": "string",
"description": "The commercial task in plain language, e.g. \"Find the monthly price of the Pro plan\" or \"Start the free trial signup and stop before entering payment details\"."
},
"locale": {
"description": "Language for the generated summary and recommendations: \"en\" (default) or \"es\".",
"type": "string",
"enum": [
"en",
"es"
]
}
},
"required": [
"url",
"task"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"audit_id": {
"type": "string",
"description": "Pass this to get_conversion_report."
},
"status": {
"type": "string",
"const": "pending"
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
},
"task": {
"type": "string"
},
"locale": {
"type": "string",
"enum": [
"en",
"es"
]
},
"submitted_at": {
"type": "string"
},
"report_url": {
"type": "string",
"description": "Human-readable report; available once the audit completes (404 before)."
},
"retry_after_seconds": {
"type": "number"
},
"next_step": {
"type": "string"
}
},
"required": [
"ok",
"audit_id",
"status",
"url",
"domain",
"task",
"locale",
"submitted_at",
"report_url",
"retry_after_seconds",
"next_step"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_conversion_report(audit_id)
Get the status and, once finished, the result of an audit started with test_conversion. Pass the audit_id returned by test_conversion (a report URL also works). status is "pending" while the agent is still running: wait retry_after_seconds and call again. If stale is true, the audit will never finish; start a new one. When status is "completed", result contains: task_completed (did the agent reach the goal), score (0-100 Agent Conversion Score, or null when score_withheld because the run did not finish measuring), summary, successes, frictions and recommendations; evidence.steps lists what the agent did. failure_classification explains a non-clean run: "blocked" (safety boundary or site-side access refusal such as a bot challenge — a real finding about the site), "run_did_not_finish", "infrastructure_failure" or "pipeline_error" (Agent Conversion's own problem, not the site's). report_url is a human-readable report to share. status "failed" means no report will be produced. Calling this tool is free and safe to repeat.
Esquema de entrada
{
"type": "object",
"properties": {
"audit_id": {
"type": "string",
"description": "The audit_id returned by test_conversion, or the report URL."
}
},
"required": [
"audit_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"audit_id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"running",
"completed",
"failed"
]
},
"execution_status": {
"anyOf": [
{
"type": "string",
"enum": [
"completed",
"incomplete",
"blocked_by_safety",
"timeout",
"infrastructure_error"
]
},
{
"type": "null"
}
]
},
"failure_classification": {
"anyOf": [
{
"type": "string",
"enum": [
"blocked",
"run_did_not_finish",
"infrastructure_failure",
"pipeline_error"
]
},
{
"type": "null"
}
]
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"task": {
"type": "string"
},
"locale": {
"type": "string"
},
"created_at": {
"type": "string"
},
"updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"report_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"stale": {
"type": "boolean"
},
"retry_after_seconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"message": {
"type": "string"
},
"result": {
"anyOf": [
{
"type": "object",
"properties": {
"task_completed": {
"type": "boolean"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"score_withheld": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"successes": {
"type": "array",
"items": {
"type": "string"
}
},
"frictions": {
"type": "array",
"items": {
"type": "string"
}
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"task_completed",
"score",
"score_withheld",
"summary",
"successes",
"frictions",
"recommendations"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"evidence": {
"anyOf": [
{
"type": "object",
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"index": {
"type": "number"
},
"outcome": {
"type": "string",
"enum": [
"success",
"friction",
"failure",
"blocked"
]
},
"text": {
"type": "string"
}
},
"required": [
"index",
"outcome",
"text"
],
"additionalProperties": false
}
},
"started_at": {
"type": "string"
},
"finished_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"latency_ms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verification_status": {
"type": "string"
},
"is_mock": {
"type": "boolean"
}
},
"required": [
"steps",
"started_at",
"finished_at",
"latency_ms",
"verification_status",
"is_mock"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"is_benchmark": {
"type": "boolean"
}
},
"required": [
"ok",
"audit_id",
"status",
"execution_status",
"failure_classification",
"url",
"domain",
"task",
"locale",
"created_at",
"updated_at",
"report_url",
"stale",
"retry_after_seconds",
"message",
"result",
"evidence",
"is_benchmark"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Comunidad
Evidencia