Anweshna MCP
Anweshna MCP ayuda a los usuarios a conectarse al servidor Anweshna MCP, brindando acceso directo a sus agentes de IA para ingerir documentos que serán examinados en busca de riesgos/señales de alerta en acuerdos de M&A.
Documentación
Lo que recibes es un cribado de riesgos, no una diligencia debida. Anweshna puntúa documentos en 15 categorías de riesgo y señala lo que un revisor debería examinar. No realiza verificación independiente ni investigación primaria. Trata un resultado limpio como "nada ha salido a la luz en este documento", nunca como "esta operación está limpia".
Autenticación
Cada solicitud lleva tu clave de API, ya sea como cabecera X-API-Key o como Authorization: Bearer <key>. Las claves se emiten al registrarse y se entregan por correo electrónico; los miembros del equipo obtienen sus propias subclaves desde el portal, que llevan el rol de ese miembro.
curl https://anweshna.com/api/v1/documents/usage \
-H "X-API-Key: your-key-here"
Las claves nunca deben aparecer en una URL — no hay alternativa mediante parámetros de consulta, porque las URLs acaban en registros de acceso, historial del navegador y cabeceras Referer.
Servidor MCP
El endpoint MCP es https://anweshna.com/mcp/, mediante el transporte HTTP transmisible. Apunta cualquier cliente compatible con MCP hacia él y pasa tu clave de API como cabecera.
{
"mcpServers": {
"anweshna": {
"url": "https://anweshna.com/mcp/",
"headers": { "X-API-Key": "your-key-here" }
}
}
}
El servidor no tiene estado, por lo que no hay sesión que mantener viva ni requisito de afinidad — cada llamada es independiente.
Herramientas MCP
| Herramienta | Qué hace |
|---|---|
screen_document | Sube un documento y lo puntúa. Pasa el archivo como content_base64 (PDF, DOCX, TXT, CSV) o como text en texto plano. Devuelve la puntuación global, la calificación, el indicador de bloqueo y los hallazgos por categoría. |
get_analysis | Recupera el análisis almacenado de un documento que esta cuenta ya ha cribado. Solo lectura. |
bulk_screen | Sube y puntúa hasta 25 documentos como un único lote. Espera a la extracción de texto, luego inicia la puntuación y devuelve los identificadores de trabajo; consulta get_bulk_status hasta que el lote termine. Si esa espera agota el tiempo, vuelve a llamarlo con bulk_job_id en lugar de documents para puntuar el lote que ya subiste — volver a subirlo gastaría tu cuota dos veces. |
get_bulk_status | Consulta un lote iniciado por bulk_screen hasta que termine. |
Un documento grande o inusualmente denso se enruta automáticamente al motor de Escaneo Profundo en paralelo por fragmentos. Cuando eso ocurre, screen_document devuelve status: "processing" con un identificador de trabajo en lugar de bloquearse — consulta get_analysis hasta que el estado cambie.
Endpoints REST
Las herramientas MCP son una capa fina sobre estos. Úsalos directamente para trabajo servidor a servidor.
| Endpoint | Propósito |
|---|---|
POST /api/v1/documents/upload | Sube un único documento (multipart). |
POST /api/v1/analysis/{document_id} | Puntúa un documento subido. |
GET /api/v1/analysis/{document_id} | Recupera un análisis almacenado. |
POST /api/v1/documents/bulk-upload | Sube hasta 25 documentos. |
POST /api/v1/analysis/bulk-analyze | Puntúa un lote. |
GET /api/v1/documents/usage | Plan actual, cuota y funciones habilitadas. |
GET /api/v1/reports/{document_id}/download | Descarga un informe (Markdown, JSON, PDF o DOCX, según el plan). |
Esta es la superficie compatible externamente. Anweshna no publica un esquema OpenAPI generado en producción: expondría rutas de administración, facturación e internas junto a estas, por lo que /docs está deshabilitado allí.
Errores que debes gestionar
Nunca trates un escaneo fallido como un resultado limpio. Los estados siguientes significan que la puntuación no se realizó. Por MCP, cada uno llega como un error de herramienta explícito, no como una lista de hallazgos vacía — gestionalos, en lugar de informar el documento como claro.
| Estado | Significado | Qué hacer |
|---|---|---|
402 | Suscripción inactiva, o la cuota de subida del plan está agotada. | Renueva o mejora el plan. Reintentar no ayudará. |
403 | El rol de la clave no permite esto — los espectadores no pueden subir. | Usa una clave con el rol adecuado. |
422 | El documento es demasiado grande o denso para puntuarlo en una sola pasada. | Ejecuta el Escaneo Profundo, o reenvíalo con force_precision para aceptar un escaneo truncado. La respuesta indica cuál aplica. |
503 | El motor de puntuación no estaba disponible. | Vuelve a subir el documento. Reintentar la misma solicitud sin cambios falla de la misma manera. |
Planes y límites
La API y el servidor MCP están disponibles en todos los planes de pago. Los lotes están limitados a 25 documentos por solicitud. El volumen de subida, el número de salas de operaciones y los formatos de exportación varían según el plan — consulta precios, o llama a GET /api/v1/documents/usage para leer las cifras en vivo de tu propia cuenta.
Por MCP, el tamaño de la solicitud se aplica antes que el número de documentos. Los archivos viajan codificados en base64 dentro de la solicitud JSON-RPC, y base64 añade aproximadamente un tercio, por lo que una única llamada screen_document — o un lote completo bulk_screen — debe permanecer por debajo de 32 MB en total, aproximadamente 24 MB de documento real. Envía menos archivos pero más grandes por lote en lugar de llenar los 25 espacios. Una solicitud que supere ese límite es rechazada por el transporte con un HTTP 413 antes de que la herramienta se ejecute, por lo que llega como un error HTTP bruto en lugar de un error de herramienta normal. Los endpoints REST aceptan hasta 50 MB por archivo y son la ruta adecuada para cualquier cosa más grande.
Los límites de frecuencia se aplican por cuenta. Los documentos y su texto extraído están cifrados en reposo con una clave por cliente, y cada escritura se registra en tu registro de auditoría.
¿Autohospedas el servidor MCP? Si ejecutas Anweshna detrás de tu propio dominio, establece MCP_ALLOWED_HOSTS a ese dominio. El transporte MCP valida la cabecera Host como protección contra el rebinding de DNS y rechaza cualquier cosa no listada con un 421, que no se parece ni a un fallo de autenticación ni de enrutamiento.