Saltar al contenido
fastpad
Documentación

MCP

Conecta un cliente MCP: el endpoint, las doce herramientas, las sesiones, las anclas firmadas y los presupuestos.

Conectarse

text
https://mcp.fastpad.ai

JSON-RPC sobre un único POST. Autentícate con Authorization: Bearer fpk_live_…. Una llamada sin credenciales responde 401 con un desafío WWW-Authenticate y un enlace a los metadatos del recurso protegido, de modo que un cliente puede descubrir cómo autenticarse sin que se lo digan.

bash
fp login      # device flow; approve in a browser
fp mcp --check   # verifies the brokered credential

Para un cliente local por stdio, fp mcp es el comando que lanza el cliente: habla el transporte stdio y se niega a ejecutarse en una terminal interactiva. Configura el cliente con command: "fp" y args: ["mcp"].

Las herramientas

Doce herramientas compuestas en lugar de treinta estrechas, en un orden fijo y dimensionadas para caber en unos 5.000 tokens de esquema. Se ha medido que tres servidores MCP juntos consumen 143.000 tokens de una ventana de 200.000 antes de hacer ningún trabajo.

HerramientaScopeDevuelve
fastpad_capabilitiescualquieraidentidad, scopes, tu conjunto de notas escribibles, límites — y el token de sesión que necesita todo lo demás
fastpad_searchsearch:readids, títulos, ruta, puntuación, anclas de bloque y un fragmento corto. Nunca cuerpos
fastpad_fetchnotes:readhasta 20 notas como Markdown, o un resumen estructural sin prosa
fastpad_contextnotes:readun paquete de contexto: recuperar, expandir, deduplicar, reordenar y ajustar a un presupuesto
fastpad_querynotes:readconsulta estructurada sobre propiedades tipadas
fastpad_graphgraph:readrecorrido tipado de un salto, cada arista con su evidencia
fastpad_proposenotes:proposeuna propuesta duradera y su URL de revisión. La única escritura
fastpad_turnnotes:readestado, diferencia o abandono sobre tus propias propuestas; también aceptar, solo con turns:accept
fastpad_changesnotes:readel flujo de cambios desde un cursor
fastpad_historynotes:readun bloque tal como está, con autoría y estado de revisión. No es un registro de versiones
fastpad_memorynotes:readel índice de memoria, o un tema
fastpad_calendarnotes:readeventos en una ventana de tiempo; solo ocupado/libre para un token limitado a notas. Nunca escribe

Llama primero a fastpad_capabilities. No es cortesía: MCP no tiene estado, así que la sesión que toman todas las demás herramientas se acuña ahí.

Anclas firmadas

Los cambios propuestos direccionan bloques por ancla, obtenida de fastpad_fetch con with_handles: true. Nunca por desplazamiento de texto: una edición humana concurrente reubica un ancla, mientras que un desplazamiento apunta en silencio al texto equivocado.

Un ancla es una capacidad firmada ligada a tu sesión, tu token, una nota, un bloque y el estado de la nota en el momento en que la leíste, válida durante cinco minutos. Así, un ancla filtrada en una transcripción compartida es inerte para cualquier otro; revocar el token invalida todas las anclas que emitió; un ancla solo puede direccionar la nota de la que vino; y si una persona editó la nota desde tu lectura, la escritura se rechaza en vez de aplicarse a ciegas.

Proponer un cambio

  1. fastpad_capabilities — sesión, scopes, notas escribibles
  2. fastpad_search o fastpad_context — encuentra la nota
  3. fastpad_fetch con with_handles: true — cuerpo, anclas, frontera
  4. fastpad_propose — ops, expected_frontier, idempotency_key
  5. Entrega a una persona la URL de revisión que se devuelve

Siete tipos de operación: insert_after, insert_before, replace_block y delete para la prosa, add_edge para una conexión tipada, y add_event y move_event para el calendario. Los tres últimos siempre esperan a una persona, sea cual sea el permiso del token. dry_run valida y calcula la diferencia sin escribir nada. idempotency_key es obligatorio: no hay reanudación de flujo, así que una respuesta perdida debe reintentarse con la misma clave o una propuesta se convierte en dos colas de revisión.

Declara source_block_ids. Se convierten en citas reales cuando una persona acepta, y sin ellas una retractación posterior no puede alcanzar contenido aceptado a partir de una fuente que resultó ser incorrecta.

Presupuestos, límites y errores

Cada resultado está limitado a 25.000 tokens, cortado en el límite de un bloque, con un cursor y una instrucción de una línea sobre cómo acotar — porque truncar sin guía hace que un modelo alucine sobre el hueco o repita la misma llamada.

ErrorQué hacer
stale-frontiervuelve a leer la nota, recalcula y propón de nuevo
handle-expiredvuelve a leer con with_handles: true
out-of-scopepide un token nuevo. Etiquetar no amplía un alcance ya resuelto
insufficient-scopereautorízate una vez con el conjunto completo indicado en el desafío
cross-note-copy-deniedestás proponiendo texto que leíste de otra nota
approve-not-permittedtu token no tiene turns:accept; entrega la URL de revisión a una persona
rate-limitedrespeta retry_after_ms

Cada error es un documento de problema RFC 9457 cuyo type es una URL que puedes abrir. El catálogo completo está en fastpad.ai/errors.

Leer como Markdown