Dale a tu agente de IA edición de documentos – en menos de 60 segundos
AgentDoc es un servidor público de Model Context Protocol (MCP). Cualquier agente LLM que hable MCP – Gemini, Claude, GPT o el tuyo propio – puede conectarse, autenticarse y usar una API completa de edición de documentos con tipado: leer, escribir, formatear, navegar, exportar PDF. Sin SDK que integrar, sin esquema que mantener de tu lado, sin intervención humana.
Esta página es la ruta canónica de incorporación para agentes y para las personas que los operan. Si tú (o tu modelo) quieres un editor de documentos funcional disponible como herramienta, aquí tienes todo lo que necesitas.
Endpoint MCP
Model Context Protocol estándar sobre Server-Sent Events. Autenticación con token bearer JWT (consulta el inicio rápido más abajo). Presupuesto de tokens gratuito por cuenta; no se requiere tarjeta de crédito.
Inicio rápido (una sola llamada HTTP)
Registra una cuenta de agente aislada y recibe su clave de API en una sola petición. Sin navegador, sin correo electrónico, sin intervención humana. Cada agente registrado es su propio usuario con su propio ámbito de documentos: distintos agentes nunca ven los documentos de los demás.
curl -X POST https://agent-doc-edit.com/api/agents/register \
-H "Content-Type: application/json" \
-d '{"name": "my-research-agent"}'
# Response
# {
# "user_id": "...",
# "username": "agent_AbCdEfGh",
# "name": "my-research-agent",
# "api_key": "ak_...", <-- shown ONLY here, store it
# "api_key_prefix": "ak_AbCdEfGh",
# "created_at": "2026-04-25T..."
# }
Eso es todo. Usa la api_key como token bearer contra /mcp/sse y el agente tendrá 35 herramientas tipadas para leer, escribir, formatear, paginar y exportar documentos – completamente delimitadas a su propia cuenta.
Dos formas de autenticarse
Opción A – El agente se registra por sí mismo (recomendado para flujos autónomos)
Usa POST /api/agents/register como se muestra arriba. El agente obtiene su propia cuenta de usuario y su propio espacio de nombres de documentos. Distintos agentes nunca colisionan. Límite de tasa: 5 registros por hora por IP. Esta es la ruta correcta para canalizaciones de cartas, procesadores por lotes, trabajos programados y flujos multiagente.
Opción B – Usa tu propia cuenta humana (para "darle edición de documentos a mi propio asistente")
Abre /app, inicia sesión, barra lateral → "API Keys for Agents" → "+ Create New Key". La clave se muestra una sola vez. Úsala como token bearer. El agente comparte tu cuenta, tus documentos y el estado de tu documento activo. Útil cuando quieres que un agente copiloto opere junto a ti sobre un mismo corpus.
Qué se factura (y qué no)
Los agentes traen su propio LLM. Pagas a tu proveedor de modelos por los tokens de razonamiento. Nosotros no los vemos, no cobramos por ellos, no aplicamos límites sobre ellos. Nuestro servicio aloja el servidor MCP, el almacenamiento de documentos y la canalización de renderizado. La columna token_limit en las cuentas de agente se fija en 0 como cinturón de seguridad defensivo: si alguna ruta de código futura intentara alguna vez ejecutar nuestro agente Gemini interno con autenticación de cuenta de agente, se negaría – los agentes permanecen estrictamente en la ruta de herramientas MCP.
Importante: esto es autónomo, no colaborativo
Esta ruta está construida para flujos de agentes autónomos – tu agente razona con su propio LLM, llama directamente a nuestras herramientas MCP, edita documentos en su propia cuenta y exporta un resultado. La misma superficie de herramientas probada en producción que usan nuestros agentes de voz y texto da potencia a tu agente – pero tu agente nunca habla con el nuestro. No hay un salto IA-a-IA, ni una llamada interna al LLM en tu nombre, ni una sesión compartida con nuestro editor en el navegador.
Si quieres que una persona y nuestro agente de voz/texto coediten en vivo, usa /app directamente – esa es una ruta distinta. Si quieres que tu propio agente opere el editor sin intervención humana, el endpoint MCP descrito aquí es la superficie correcta.
Conéctate desde cualquier cliente MCP
Python (cliente mcp / Anthropic / Google ADK)
from mcp.client.sse import sse_client
from mcp import ClientSession
import json
AGENTDOC_TOKEN = "ak_..." # from POST /api/agents/register
async def edit_document():
headers = {"Authorization": f"Bearer {AGENTDOC_TOKEN}"}
async with sse_client("https://agent-doc-edit.com/mcp/sse",
headers=headers) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
# Workflow T (~35 tools) is applied automatically. Token is
# injected from the Authorization header – do NOT pass `token`
# in tool arguments.
tools = await session.list_tools()
# Create a document
res = await session.call_tool("create_document",
{"title": "My Report"})
payload = json.loads(res.content[0].text)
doc_id = payload["doc_id"] # structured field, no regex
# Insert content
await session.call_tool("insert_string", {
"doc_id": doc_id,
"text": "# Hello\n\nFirst paragraph.",
"index": 0,
})
# Trigger PDF; response includes a self-describing fetch URL
res = await session.call_tool("trigger_pdf_download",
{"doc_id": doc_id})
pdf_meta = json.loads(res.content[0].text)
print(pdf_meta["pdf_url"]) # → "/api/doc//pdf"
TypeScript (Anthropic SDK)
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
const transport = new SSEClientTransport(
new URL("https://agent-doc-edit.com/mcp/sse"),
{ requestInit: { headers: { Authorization: `Bearer ${TOKEN}` } } }
);
const client = new Client({ name: "my-agent", version: "1.0" }, { capabilities: {} });
await client.connect(transport);
const tools = await client.listTools();
const result = await client.callTool({
name: "insert_string",
arguments: { text: "Hello from my agent.", index: 0 }
});
curl (exploración en bruto)
curl -N -H "Authorization: Bearer $TOKEN" \
-H "Accept: text/event-stream" \
https://agent-doc-edit.com/mcp/sse
Catálogo de herramientas – Workflow T se aplica automáticamente
Los agentes externos (es decir, las peticiones autenticadas con una clave de API ak_*) quedan automáticamente restringidos a la superficie de herramientas Workflow T – el valor por defecto de producción Pareto-óptimo que usan nuestros propios agentes de voz y texto. Tú no aplicas este filtro; el servidor MCP lo aplica del lado del servidor tanto en tools/list como en tools/call. Esto te ofrece el subconjunto curado de ~35 herramientas (primitivas tipadas + macros + retroalimentación de observación sobre desplazamientos de índice), elimina las herramientas de bloc de notas y de intención FSM que no pertenecen a T, y excluye las variantes atómicas "explotadas" que solo usa nuestro benchmark de saturación de herramientas. Cada herramienta tiene un esquema JSON para sus argumentos y devuelve una respuesta estructurada con marcadores explícitos de éxito/error; las operaciones que desplazan índices incluyen retroalimentación de observación ("observation": "INDEX SHIFT – re-read before next mutation") para que el agente se mantenga anclado entre turnos.
Inicializa un documento a partir de un DOCX existente
La superficie de herramientas MCP permite que tu agente construya documentos desde cero. Para flujos que parten de un archivo de Word ya redactado – plantillas de membrete corporativo, texto estándar de contratos, un borrador entrante que revisar – un endpoint HTTP adicional de un solo paso acepta cargas de .docx, crea un nuevo Document en la cuenta del agente y lo activa para que la siguiente llamada MCP recaiga sobre el contenido importado:
# Upload a .docx; response is the new {id, title, ...}
curl -X POST https://agent-doc-edit.com/api/docs/import/docx \
-H "Authorization: Bearer $API_KEY" \
-F "[email protected]" \
-F "title=Q3 Customer Letter"
Los saltos de página, los hipervínculos, los encabezados / pies de página, las fuentes, los colores y el interlineado sobreviven todos a la importación. Análisis técnico completo: Importación de DOCX – Conversión de ida y vuelta de documentos de Word.
Casos de uso que tu agente puede asumir de forma autónoma
- Canalización de generación de cartas. El agente recibe un evento estructurado ("disculparse con el cliente X por el retraso Y"), redacta la carta, le da formato, exporta un PDF y lo adjunta a un correo electrónico saliente.
- Generador de informes. El agente ingiere un CSV, resume los hallazgos, estructura el informe en encabezados, inserta una tabla de contenidos, formatea cifras clave en color y exporta.
- Refactorización de documentos. El agente lee un borrador existente, reorganiza los párrafos, aplica una jerarquía de encabezados coherente, corrige terminología inconsistente con un único barrido de
macro_replace_ally exporta. - Flujos multiagente. Un agente de planificación decide qué escribir; un agente de redacción llama a las herramientas de AgentDoc para producir el artefacto; un agente de verificación lee el resultado y desencadena revisiones.
- Transferencia por voz. Un agente de voz toma instrucciones habladas del usuario y transfiere descripciones de tareas estructuradas a un agente de texto que realiza las operaciones de documento reales contra el mismo servidor MCP.
- Rellenado de plantillas. El agente carga un membrete corporativo
.docxmediante/api/docs/import/docx, completa los campos de marcador de posición usandomacro_replace_texty exporta el resultado – el colaborador del usuario abre un archivo de Word en el mismo Word con el que empezó.
Qué hace esto amigable para agentes (en concreto)
- Herramientas tipadas, no indicaciones de texto libre. Cada operación es una herramienta validada con esquema JSON. El agente no puede llamar a una herramienta "casi bien" – los argumentos se analizan o no.
- Retornos de herramienta estructurados.
create_documentdevuelve{"status":"success","doc_id":N,"title":...}– sin regex sobre prosa.trigger_pdf_downloaddevuelve un{"pdf_url":"/api/doc/N/pdf","method":"GET"}autodescriptivo para que un único GET HTTP de seguimiento recupere los bytes. - Inyección automática de token. El token bearer de tu encabezado
Authorizationse inyecta en cada llamada a herramienta automáticamente – tus argumentos de herramienta se mantienen libres de autenticación. (El agente interno de voz/texto usa una convención más antigua con argumentostokenexplícitos; esa ruta sigue admitida por compatibilidad hacia atrás.) - Formato stand-off. El agente nunca escribe HTML en bruto. El formato es una llamada tipada (
format_text(..., format_type="color", format_value="blue")) – se elimina la superficie más fácil de alucinar. - IDs de documento enteros. Enteros autoincrementales, no UUIDs – elimina las alucinaciones de caracteres perdidos cuando el agente pasa un ID entre llamadas a herramientas.
- Retroalimentación de observación en cada mutación. Los retornos incluyen observaciones explícitas cuando los índices se desplazan, de modo que el agente no necesita mantener un modelo mental de los desplazamientos acumulados.
- Espejo visual en tiempo real. El mismo documento que el agente está editando se renderiza en vivo en
/app. Útil para verificación humana, demos y transferencias multimodales. - Simetría voz-texto. El agente de voz y el agente de texto ven exactamente la misma superficie de herramientas. Si tu agente funciona como cliente de texto, también funciona como cliente de voz.
Límites y restricciones honestas
- La facturación del LLM corre por tu cuenta. Los agentes traen su propio modelo. Pagas a tu proveedor por los tokens de razonamiento. Nuestro servicio aloja el servidor MCP y el almacenamiento de documentos; no facturamos el uso del LLM ni lo vemos.
- Límite de tasa de registro. 5 autorregistros de agente por hora por IP. Diseñado para aprovisionamiento legítimo, no para abuso masivo.
- Tasa de llamadas a herramientas. Límite blando por cuenta en la capa de proxy. Hoy no hay límites agresivos, pero los bucles sin límite acabarán topando con los topes a nivel de nginx.
- Tamaño de documento. El punto óptimo práctico es de 1 a 50 páginas (A4). Los documentos muy grandes (más de 200 páginas) funcionan, pero el razonamiento del agente se ralentiza porque la herramienta de lectura devuelve el estado completo.
- Aislamiento de cuentas. Cada agente registrado es su propio usuario. Los documentos están delimitados solo a ese usuario – los agentes nunca leen ni escriben entre cuentas. Para compartir documentos entre agentes de forma intencionada, comparte la clave de API (Opción B más arriba).
- Disponibilidad del servicio. Este es un servicio público de grado de investigación, no un SLA de producción. Aspiramos a un alto tiempo de actividad, pero no ofrecemos ninguna garantía formal.
Metadatos de descubribilidad
- llms.txt – un mapa del sitio en texto plano para rastreadores de LLM en
/llms.txt. - OpenGraph / JSON-LD – cada página expone esquemas WebAPI / TechArticle / FAQPage donde corresponde.
- URLs estables –
/agentses canónica y no se moverá.
Pruébalo ahora
Abre el editor en una pestaña, ejecuta tu agente en otra. Las ediciones del agente aparecen en tiempo real en la misma pantalla – útil para depuración, demos o para ejecutar una colaboración humano + agente.
Abrir el editor →Artículos de ingeniería
- Granularidad de herramientas en agentes LLM – principios de diseño para la superficie de herramientas MCP a la que tu agente llamará.
- Reconstruyendo la exportación a PDF + DOCX – cómo los endpoints de exportación reproducen fielmente el diseño en pantalla cuando un agente desencadena una descarga.
- Notas de la versión de abril de 2026 – correcciones recientes en la semántica de renderizado / decoración / alternancia de la que dependen los agentes.