Agent Conversion
Run evidence-backed website conversion audits with an AI browsing agent.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"agent-conversion": {
"url": "https://agent-conversion-coral.vercel.app/api/mcp"
}
}
}Remote-Endpunkte
https://agent-conversion-coral.vercel.app/api/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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"
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"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"
}Ausgabe-Schema
{
"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
}Community
Nachweis