ToolYour

Servidor MCP remoto

Documentación

Conecta las acciones y playbooks gestionados de MCP de ToolYour a ChatGPT, Claude, Cursor, Codex u otro cliente compatible.

Conecta la plataforma de acciones gestionadas de ToolYour a un cliente MCP compatible. Descubre acciones enfocadas respaldadas por API, ejecuta playbooks basados en resultados y verifica comprobaciones compatibles. Las herramientas solo de sitio web no se exponen.

Relacionado: SDK de TypeScript · Mapa de herramientas del SDK · Descubrimiento de MCP · Catálogo de playbooks · Agente SEO · Puerta de lanzamiento · Auditoría de seguridad

Endpoint

https://api.toolyour.com/mcp

SSE (predeterminado para Cursor): GET https://api.toolyour.com/mcp
HTTP transmisible (Smithery y clientes de especificación MCP): POST https://api.toolyour.com/mcp (alias https://api.toolyour.com/mcp/http)

Autenticación

X-Api-Key: ty_your_key_here

Crea claves en el panel de ToolYour.

Elige un bucle por objetivo

Bucle de habilidades (SEO, seguridad, puerta de lanzamiento, secretos, catálogo): plan_task → run_playbook o solve_task → el host aplica rango-1 loop.nextActions (ver patchType, acceptance, roleHint) → verify_task hasta que loop.gate sea aprobado.

Cada respuesta también contiene un sobre aditivo execution con runId, intentId, intentType, idempotencyKey y projectScope. Consérvalo entre llamadas. Con async: true, execution.runId es el mismo id devuelto por get_run.

Memoria de características (caliente, primero el sistema): ToolYour registra automáticamente memoria tipada por propósito en loop.gate=pass. Libera recall_context (o plan_task.featureMemory) antes de reconstruir. Guía completa: Memoria de características. Panel: /dashboard/feature-memory.

Bucle de finalización (solo código congelado jobId): job_status → edita en el host → ejecuta npx toolyour-check-run (ejecutor de host HMAC — no inventes cargas útiles check_submit). No llames a plan_task en ese jobId.

Contrato del host (cualquier agente MCP)

ToolYour mide y prioriza en la nube. El host (Cursor, Claude o cualquier cliente MCP) aplica correcciones en el espacio de trabajo — este servidor no reemplaza al host.

  1. Aplica solo el elemento de rango-1 loop.nextActions entre verificaciones
  2. El backlog completo permanece en loop.remainingFixes
  3. Detente cuando loop.stop / loop.initiate sea falso — no gastes créditos en los mismos hallazgos
  4. Nunca pases URLs localhost

Rutas doradas de nivel 1 (valen los créditos)

TrabajoEjemplo de objetivoEl host aplica
Puerta de lanzamientoship gate for https://your-preview.exampleCorrecciones de encabezados/TLS/contenido mixto (roleHint: config) luego verifica
Despliegue de vista previa (bucle de desarrollo)verify my preview deploy is production ready + https://…run_playbook("production-readiness-gate") → lee verification.evidence → corrige → verify_task con profileId
SEOseo audit https://… o input.html localEdiciones de plantilla/meta (roleHint: edit) luego verifica
Secretospega env/diff en input.textRedacta/rota (roleHint: config) luego verifica el texto limpio
Característica entre proyectoscapture_feature después del lanzamiento; luego plan_task("add OCR…")Lee featureMemory.capabilityGaps antes de reconstruir

Usa una URL que controles cuando necesites loop.gate = aprobado después de una corrección. example.com es suficiente para demostrar fallo + correccionesRestantes.

Memoria de características (entre proyectos, primero el sistema)

ToolYour es el registro institucional — los agentes no poseen persistencia.

  1. plan_task(goal) — siempre incluye featureMemory.recordKeeping (+ recordatorios cuando existe trabajo similar)
  2. verify_task / run_playbook / solve_task en loop.gate=pass → ToolYour registra automáticamente (featureMemoryRecord con featureId)
  3. Solo exclusión: input.featureMemory.capture=false
  4. Refinamiento manual: capture_feature({ title, requirements, supersedesFeatureId, baseline })
  5. list_feature_memory · compare_feature_memory · publish_feature_pattern · list_community_patterns
  6. Panel: /dashboard/feature-memory (notificaciones cuando la matriz mejora)

Bucle de habilidades canónico

1. plan_task(goal)              → free plan + credit estimate (+ goldenPath for preview deploy goals)
2. run_playbook or solve_task   → jobReport + verification.evidence + loop.remainingFixes + loop.gate
3. Host agent applies fixes in the repo (editor/git — not invoke_tool)
4. verify_task(goal, baseline)  → loop.gate pass|fail; repeat until pass (profileId reuses stored snapshots)
5. fetch_payload(dataRefId)     → only if you need full raw detail

En run_playbook / verify_task, lee verification.evidence (criterios de aceptación) antes de loop.remainingFixes. La primera ejecución de https:// crea automáticamente profileId para regresión frente a la última verificación aprobada.

invoke_tool es avanzado (un operationId explícito). No lo uses como ruta predeterminada para trabajos de puerta de lanzamiento, SEO o seguridad.

No inicies el bucle de verificación a menos que el último resultado de plan_task / solve_task / run_playbook tenga loop.initiate: true. Si es false, el objetivo está fuera de alcance, es un convertidor de una sola vez, o MCP no tiene corrección remediable — detente.

O ejecuta una habilidad en un solo paso: run_playbook(skillId, input).

Configuración de Cursor / Claude

{
  "mcpServers": {
    "toolyour": {
      "url": "https://api.toolyour.com/mcp",
      "headers": {
        "X-Api-Key": "ty_YOUR_KEY"
      }
    }
  }
}
npm install @toolyour/sdk
import { toolYourMcpServerConfigJson } from "@toolyour/sdk/mcp";
console.log(toolYourMcpServerConfigJson({ apiKey: process.env.TOOLYOUR_API_KEY! }));

solve_task

Describe el objetivo en lenguaje natural. El servidor elige un flujo de trabajo o herramienta (coincidencia difusa + control de confianza). Los objetivos ambiguos devuelven status: "suggest" (gratis).

  • responseMode predeterminado: compact (informe de trabajo sin steps duplicado) más loop (gate, remainingFixes con patchType + acceptance, next, receipt)
  • Después de la primera ejecución, aplica el elemento de rango-1 en loop.nextActions (la lista completa es loop.remainingFixes) en el repositorio del host, luego verify_task con este resultado completo como baseline. No invoke_tool para el mismo trabajo.
  • loop.receipt — { round, maxRounds, toolsUsed, estimatedCredits, note } en cada resultado de ejecución/verificación (solo estimación; SaaS factura 1–10 créditos por herramienta)
  • Estado verify_task: verified solo cuando loop.gate es aprobado; de lo contrario fail / continue / stopped (nunca afirmes verificado en una puerta fallida)
  • Nunca pases localhost — MCP no puede obtenerlo; obtienes need_input / local_preview_required. Usa HTML/texto/código del espacio de trabajo o una URL https:// pública/de vista previa.
  • status: "partial" / jobReport.incomplete nunca cuenta como aprobación de puerta — corrige la URL/entrada y vuelve a ejecutar
  • El SEO HTML local devuelve un jobReport cerrable + remainingFixes (vuelve a pasar input.html y verifica)
  • responseMode: "full" — incluye cargas útiles de pasos sin procesar
  • responseMode: "dataRef" — almacén compacto + TTL; recupera con fetch_payload
  • async: true — devuelve { status: "accepted", runId } inmediatamente; siempre consulta get_run. Cuando status sea completed / partial / error, también lee resultStatus (y result.status) — p. ej. suggest, need_input, verified — ejecutar completed solo significa que el trabajo terminó, no que el enrutamiento tuvo éxito. REDIS_URL opcional en MCP habilita get_run entre réplicas. Un webhook de panel opcional (mcp.job.finished) es solo de mejor esfuerzo — webhooks no configurados o fallidos nunca rompen el trabajo.
  • En status: "suggest" / "need_input", lee hint, nextActions y exampleGoals / exampleInput — luego vuelve a llamar con un objetivo más claro o campos faltantes (no inventes operationIds).
  • input.html / input.text / input.code local: análisis gratuito a menos que enhance: true
  • Carga útil primero: lee archivos del espacio de trabajo y pasa contenidos. Incluye input.url solo si el usuario pidió analizar un enlace en vivo/vista previa, o el trabajo no puede ejecutarse sin una obtención (PageSpeed, TLS, contenido mixto, encabezados en vivo).

Ejemplo: SEO audit for this HTML con input.html del repositorio — o SEO audit for https://example.com cuando pidieron rastrear una página en vivo.

verify_task

Vuelve a ejecutar el mismo objetivo y devuelve deltas frente a una línea base. Requiere una línea base jobReport utilizable — sin una, la herramienta devuelve status: "need_input" / code: "need_baseline" y no vuelve a ejecutar. La línea base puede ser:

  • un resultado previo de solve_task o run_playbook
  • verify_task.after de una verificación anterior
  • una carga útil de consulta get_run (usa result anidado)
  • un jobReport sin procesar
  • profileId opcional — carga automáticamente lastRunSnapshot cuando baseline se omite (después del primer run_playbook en una URL https://)

Admite async: true (consulta get_run de la misma manera). Los fallos de ejecución nueva se propagan como status: error|partial|suggest|… en lugar de afirmar falsamente verified.

Contrato de delta (orientado al arnés): delta.status, delta.scoreDeltas, delta.newFindings / resolvedFindings, más:

  • delta.remainingFindings — hallazgos abiertos en la ejecución nueva
  • delta.remainingFixes / loop.remainingFixes — correcciones clasificadas con findingId, patchType (http-header | html | file | config | content | investigate) y acceptance
  • delta.nextActions / loop.nextActions — solo rango-1 (el próximo parche del host). La lista completa permanece en remainingFixes.
  • delta.gate / loop.gate — pass | fail | unknown (falla si quedan hallazgos de alta severidad o puntuaciones bajas)
  • Política de puerta de lanzamiento: los informes con gatePolicy: "ship" también fallan cuando TLS, encabezados de seguridad, estado HTTP o contenido mixto son needs_improvement o unknown. El proxy de velocidad de página needs_improvement solo no falla la puerta de lanzamiento.
  • loop.round / loop.maxRounds (predeterminado 5) — contador de iteraciones de verificación (solve = 0)
  • loop.sameFindingsStreak / loop.sameFindingsLimit (predeterminado 2) — se detiene cuando el mismo conjunto de hallazgos restantes se repite
  • loop.stop — cuando se establece (max_rounds | same_findings), loop.initiate es falso; escala a un humano — no llames a verify_task de nuevo

Los agentes host deben aplicar el elemento de rango-1 loop.nextActions, luego llamar a verify_task de nuevo hasta loop.gate === "pass", o hasta que loop.initiate sea falso / loop.stop esté establecido (o aceptar hallazgos residuales de severidad media/baja por política).

Las puntuaciones de velocidad de página / Core Web Vitals en estos informes son proxies HTML, no métricas de campo CrUX de Chrome ni métricas de laboratorio de Lighthouse.

CI: script toolyour-mcp npm run ci:ship-gate (después de npm run build; SHIP_URL=… TOOLYOUR_API_KEY=ty_…) usa el mismo ayudante de puerta de lanzamiento que el servidor. Copia examples/github-actions/ship-gate.yml en tu repositorio de aplicación. Smoke en vivo opcional de monorepo: .github/workflows/ship-gate-live.yml.

Ayudante SDK: @toolyour/sdk (0.1.2+) exporta verifyUntilPass desde @toolyour/sdk/mcp para el mismo bucle en Node/CI. CI también puede ejecutar el script de paquete MCP scripts/ci-ship-gate.mjs (ver CI-AGENT-LOOP.md).

Ver también: documentación del repositorio MCP HARNESS-MIGRATION.md y CI-AGENT-LOOP.md.

Otras meta-herramientas

Herramienta¿Factura?Propósito
plan_taskGratisPlan + estimación heurística de créditos (no es factura; las herramientas cuestan 1–10)
recall_contextGratisRecuperación de memoria de características antes de reconstruir trabajo similar
run_playbookComo flujo de trabajoHabilidad → flujo de trabajo mapeado; adjunta verification.evidence
solve_taskComo flujo de trabajoObjetivo → trabajo coincidente; las ejecuciones de flujo de trabajo adjuntan verification.evidence
verify_taskComo solve_taskDelta frente a línea base (asíncrono opcional)
capture_feature / list_feature_memory / compare_feature_memoryGratisRefinamiento manual de memoria de características / listar / comparar
publish_feature_pattern / unpublish_feature_pattern / delete_feature / list_community_patternsGratisMemoria de características comunitaria
discover_toolsGratisBúsqueda avanzada de catálogo (no es la ruta de trabajo predeterminada)
get_tool_schemaGratisEsquema para una herramienta (avanzado)
invoke_toolSíoperationId único (avanzado; no predeterminado para lanzamiento/SEO/seguridad)
fetch_payloadGratisCarga útil truncada completa
get_runGratisConsulta asíncrona runId (lee resultStatus)
list_skills / load_skillGratisPlaybooks
run_workflowSíid de flujo de trabajo nombrado
job_status / job_start / …Bucle de finalizaciónSolo trabajos de código congelado — ejecuta npx toolyour-check-run para comprobaciones (no inventes check_submit)

Cuota

La ejecución comparte créditos mensuales de REST. Gratis: plan_task, herramientas de memoria de características, navegación de catálogo, sugerencias sin ejecución, fetch_payload, get_run, contenido local sin enhance. Los créditos se liquidan 1–10 por herramienta de puerta — estimatedCredits siempre es heurístico.

Ver Uso y planes.

[

Errores

Códigos de estado HTTP comunes para llamadas de API de herramientas y cómo corregirlos. ](https://www.toolyour.com/developers/docs/errors)[

Memoria de Funciones (MCP)

ToolYour registra automáticamente las funciones completadas para la memoria de agentes entre proyectos: herramientas meta gratuitas, priorizando el sistema.

](https://www.toolyour.com/developers/docs/feature-memory)