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.
- Aplica solo el elemento de rango-1
loop.nextActionsentre verificaciones - El backlog completo permanece en
loop.remainingFixes - Detente cuando
loop.stop/loop.initiatesea falso — no gastes créditos en los mismos hallazgos - Nunca pases URLs
localhost
Rutas doradas de nivel 1 (valen los créditos)
| Trabajo | Ejemplo de objetivo | El host aplica |
|---|---|---|
| Puerta de lanzamiento | ship gate for https://your-preview.example | Correcciones 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 |
| SEO | seo audit https://… o input.html local | Ediciones de plantilla/meta (roleHint: edit) luego verifica |
| Secretos | pega env/diff en input.text | Redacta/rota (roleHint: config) luego verifica el texto limpio |
| Característica entre proyectos | capture_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.
plan_task(goal)— siempre incluyefeatureMemory.recordKeeping(+ recordatorios cuando existe trabajo similar)verify_task/run_playbook/solve_taskenloop.gate=pass→ ToolYour registra automáticamente (featureMemoryRecordconfeatureId)- Solo exclusión:
input.featureMemory.capture=false - Refinamiento manual:
capture_feature({ title, requirements, supersedesFeatureId, baseline }) list_feature_memory·compare_feature_memory·publish_feature_pattern·list_community_patterns- 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).
responseModepredeterminado:compact(informe de trabajo sinstepsduplicado) másloop(gate,remainingFixesconpatchType+acceptance,next,receipt)- Después de la primera ejecución, aplica el elemento de rango-1 en
loop.nextActions(la lista completa esloop.remainingFixes) en el repositorio del host, luegoverify_taskcon este resultado completo comobaseline. Noinvoke_toolpara 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:verifiedsolo cuandoloop.gatees aprobado; de lo contrariofail/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.incompletenunca cuenta como aprobación de puerta — corrige la URL/entrada y vuelve a ejecutar- El SEO HTML local devuelve un
jobReportcerrable +remainingFixes(vuelve a pasarinput.htmly verifica) responseMode: "full"— incluye cargas útiles de pasos sin procesarresponseMode: "dataRef"— almacén compacto + TTL; recupera confetch_payloadasync: true— devuelve{ status: "accepted", runId }inmediatamente; siempre consultaget_run. Cuandostatusseacompleted/partial/error, también leeresultStatus(yresult.status) — p. ej.suggest,need_input,verified— ejecutarcompletedsolo significa que el trabajo terminó, no que el enrutamiento tuvo éxito.REDIS_URLopcional en MCP habilitaget_runentre 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", leehint,nextActionsyexampleGoals/exampleInput— luego vuelve a llamar con un objetivo más claro o campos faltantes (no inventes operationIds). input.html/input.text/input.codelocal: análisis gratuito a menos queenhance: true- Carga útil primero: lee archivos del espacio de trabajo y pasa contenidos. Incluye
input.urlsolo 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_taskorun_playbook verify_task.afterde una verificación anterior- una carga útil de consulta
get_run(usaresultanidado) - un
jobReportsin procesar profileIdopcional — carga automáticamentelastRunSnapshotcuandobaselinese omite (después del primerrun_playbooken una URLhttps://)
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 nuevadelta.remainingFixes/loop.remainingFixes— correcciones clasificadas confindingId,patchType(http-header|html|file|config|content|investigate) yacceptancedelta.nextActions/loop.nextActions— solo rango-1 (el próximo parche del host). La lista completa permanece enremainingFixes.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 sonneeds_improvementounknown. El proxy de velocidad de páginaneeds_improvementsolo 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 repiteloop.stop— cuando se establece (max_rounds|same_findings),loop.initiatees falso; escala a un humano — no llames averify_taskde 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_task | Gratis | Plan + estimación heurística de créditos (no es factura; las herramientas cuestan 1–10) |
recall_context | Gratis | Recuperación de memoria de características antes de reconstruir trabajo similar |
run_playbook | Como flujo de trabajo | Habilidad → flujo de trabajo mapeado; adjunta verification.evidence |
solve_task | Como flujo de trabajo | Objetivo → trabajo coincidente; las ejecuciones de flujo de trabajo adjuntan verification.evidence |
verify_task | Como solve_task | Delta frente a línea base (asíncrono opcional) |
capture_feature / list_feature_memory / compare_feature_memory | Gratis | Refinamiento manual de memoria de características / listar / comparar |
publish_feature_pattern / unpublish_feature_pattern / delete_feature / list_community_patterns | Gratis | Memoria de características comunitaria |
discover_tools | Gratis | Búsqueda avanzada de catálogo (no es la ruta de trabajo predeterminada) |
get_tool_schema | Gratis | Esquema para una herramienta (avanzado) |
invoke_tool | Sí | operationId único (avanzado; no predeterminado para lanzamiento/SEO/seguridad) |
fetch_payload | Gratis | Carga útil truncada completa |
get_run | Gratis | Consulta asíncrona runId (lee resultStatus) |
list_skills / load_skill | Gratis | Playbooks |
run_workflow | Sí | id de flujo de trabajo nombrado |
job_status / job_start / … | Bucle de finalización | Solo 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.