FrankKi
Los agentes envían cartas impresas reales a todo el mundo con cotizaciones, vistas previas, controles de aprobación y seguimiento a través de un servidor MCP remoto alojado.
Documentación
FrankKi MCP
Servidor MCP remoto y alojado. Nada que instalar, nada que auto-alojar. Apunta tu agente a https://mcp.frankki.app (remoto, streamable-http, OAuth 2.1 o clave API). Este repositorio es el manifiesto público, la documentación y el registro de cambios de ese servidor; el servidor en sí es de código cerrado y se ejecuta en nuestra propia infraestructura, por lo que no hay un directorio src/ aquí.
Correo físico para agentes de IA. Con una sola llamada de herramienta, FrankKi MCP permite que un agente envíe una carta real e impresa a una dirección física en cualquier parte del mundo. Redacta, cotiza, envía y rastrea. El documento se imprime, se franquea y se entrega mediante socios postales en todo el mundo.
Este es el servidor oficial del Model Context Protocol (MCP) para FrankKi. Está diseñado para uso B2B y para desarrolladores: brinda a tus agentes, backends y flujos de trabajo automatizados la capacidad de enviar cartas reales por correo, a escala, en todo el mundo.
Sitio web: frankki.app · MCP para humanos y agentes: frankki.app/mcp (en inglés: frankki.app/en/mcp)
Contenido
- ¿Qué es FrankKi MCP?
- ¿Por qué correo físico vía MCP?
- Lo que tu agente puede hacer
- Inicio rápido para humanos
- Inicio rápido para agentes de IA
- Autenticación
- Monedero y precios
- Seguridad y supervisión humana
- Sandbox
- Cumplimiento normativo
- Cómo funciona un envío en la práctica
- Descubrimiento y manifiesto del servidor
- Documentación
- Preguntas frecuentes
- Enlaces
¿Qué es FrankKi MCP?
FrankKi MCP es la interfaz nativa para agentes de la infraestructura de correo físico de FrankKi. FrankKi redacta, imprime y envía cartas físicamente. Este servidor expone esa capacidad al software: tu modelo redacta una carta y la envía, y un documento real llega a la dirección del destinatario.
La entrega es mundial, gestionada por nuestros socios postales en cada país de destino. Es principalmente un producto B2B y para desarrolladores: si estás creando un asistente, una automatización de operaciones o un backend que necesite producir y despachar correspondencia física, esta es tu capa de salida física.
¿Por qué correo físico vía MCP?
Algunas cosas todavía tienen que llegar en papel: avisos formales y legales, correo transaccional y de cumplimiento, confirmaciones de contratos, recordatorios de pago y cobros, incorporación de clientes, correspondencia oficial. Estos flujos de trabajo suelen terminar en "ahora un humano imprime esto y lo lleva a un buzón". FrankKi MCP elimina ese paso. El mismo agente que redacta la carta puede enviarla, en todo el mundo, y rastrear la entrega.
Usos típicos:
- Recordatorios de pago y cobros
- Cancelaciones, terminaciones, objeciones y otros avisos formales
- Confirmaciones de contratos y pedidos
- Notificaciones a clientes y cuentas
- Cartas de bienvenida e incorporación
- Cualquier flujo de trabajo cuyo último paso deba ser una carta física
Lo que tu agente puede hacer
El servidor expone un conjunto de herramientas enfocado y delimitado. El flujo de envío principal:
| Herramienta | Qué hace | Efecto secundario |
|---|---|---|
address_validate | Valida una dirección de destinatario según las reglas postales del país de destino | solo lectura |
address_search_company | Busca la dirección postal de una empresa por nombre | solo lectura |
template_list | Explora plantillas de cartas reutilizables | solo lectura |
letter_create_draft | Redacta una carta con formato profesional a partir de texto plano y un destinatario; devuelve una vista previa | crea un borrador, no envía |
shipping_quote | Obtiene el precio exacto de un envío a un destino determinado antes de comprometerse | solo lectura |
wallet_balance | Lee el saldo del monedero prepago | solo lectura |
order_send | Envía una carta física; carga el monedero; admite un límite maxCostEuros | gasta dinero, envía papel |
order_send_batch | Envío masivo: una llamada, muchos destinatarios con campos de combinación | gasta dinero, envía papel |
approval_submit | Enruta una carta a la cola de aprobación de cuatro ojos en lugar de enviarla directamente | pone en cola, no envía |
order_status | Rastrea una carta a través de impresa, enviada y entregada | solo lectura |
wallet_topup_link | Crea un enlace seguro de recarga de Stripe | crea un enlace de pago |
Más allá del flujo principal, hay herramientas para archivos adjuntos, membretes y firmas, perfiles de remitente, ajustes predefinidos de envío, envíos programados, cancelación de pedidos, recibos de envío (Einlieferungsbeleg), consultas de clientes (Mandanten) y exportaciones de archivo GoBD/DATEV. La lista completa con alcances y efectos secundarios: docs/tools.md. La lista autoritativa y versionada es siempre la que el servidor devuelve desde el método MCP tools/list.
La composición es texto-primero: proporcionas el contenido de la carta y el destinatario, y FrankKi produce el documento correctamente maquetado (DIN 5008 por defecto). Se admiten archivos adjuntos. Enviar un PDF arbitrario pre-renderizado no forma parte intencionadamente de la plataforma.
Inicio rápido para humanos
No clonas ni auto-alojas nada. El servidor MCP de FrankKi está alojado. Apuntas tu cliente MCP a él y te autenticas.
1. Obtén acceso. Crea una cuenta de socio y emite una clave desde el panel en frankki.app/mcp. Fondea tu monedero o usa el sandbox primero (sin correo real).
2a. Claude Desktop y clientes con soporte remoto nativo. Añade un conector personalizado que apunte al endpoint. OAuth se ejecuta en tu navegador en el primer uso:
{
"mcpServers": {
"frankki": {
"url": "https://mcp.frankki.app"
}
}
}
2b. Clientes que solo hablan stdio (Claude Desktop más antiguo, algunas configuraciones de Cursor). Puente con mcp-remote:
{
"mcpServers": {
"frankki": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.frankki.app"]
}
}
}
2c. Sin interfaz gráfica con clave API (sin navegador interactivo). Pasa la clave como encabezado bearer:
{
"mcpServers": {
"frankki": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://mcp.frankki.app",
"--header", "Authorization: Bearer ${FRANKKI_API_KEY}"
]
}
}
}
2d. Claude Code. Un solo comando:
claude mcp add --transport http frankki https://mcp.frankki.app
Reinicia el cliente y tu modelo ya puede enviar cartas. Pídele algo como: "Envía este recordatorio de pago a la dirección registrada, pero muéstrame el precio primero."
Guías paso a paso para Cursor, VS Code, Windsurf, Zed, el OpenAI Agents SDK y LangChain: docs/clients.md.
Inicio rápido para agentes de IA
El servidor es streamable HTTP MCP estándar. Descubrimiento, endpoint y autenticación en un solo lugar:
- Endpoint:
https://mcp.frankki.app - Nombre de registro:
app.frankki/letters(publicado en el Registro Oficial de MCP, versión 1.0.0) - Metadatos de autenticación:
https://mcp.frankki.app/.well-known/oauth-authorization-server(OAuth 2.1, registro dinámico de clientes) o una clave API bearer estática - Resumen legible por máquina:
https://frankki.app/llms.txt
TypeScript
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const transport = new StreamableHTTPClientTransport(
new URL("https://mcp.frankki.app"),
{ requestInit: { headers: { Authorization: `Bearer ${process.env.FRANKKI_API_KEY}` } } }
);
const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(transport);
const { tools } = await client.listTools();
console.log(tools.map((t) => t.name));
const price = await client.callTool({
name: "shipping_quote",
arguments: { recipientCountry: "US", deliveryType: "standard" },
});
Python
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
url = "https://mcp.frankki.app"
headers = {"Authorization": f"Bearer {FRANKKI_API_KEY}"}
async with streamablehttp_client(url, headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print([t.name for t in tools.tools])
Autenticación
Dos modos, elige según el cliente:
- OAuth 2.1 para clientes interactivos (Claude Desktop, IDEs). La pantalla de consentimiento muestra lo que el agente puede hacer, y los alcances de solo lectura se conceden por defecto. Mejor cuando un usuario final conecta su propia cuenta de FrankKi.
- Clave API (token bearer) para agentes sin interfaz, servidores y CI. Emite y rota claves en el panel. Cada clave puede llevar un límite de gasto y un alcance de herramientas permitidas, de modo que una clave que puede consultar precios no tiene que ser una clave que pueda gastar dinero.
Monedero y precios
FrankKi funciona con un monedero prepago. Lo recargas (vía Stripe) y cada envío descuenta del saldo. Sin facturas sorpresa a crédito, y un agente sin saldo simplemente no puede gastar.
- El precio depende del país de destino. Una carta nacional dentro de Alemania comienza en 3,49 EUR; los envíos internacionales se cotizan por destino.
- El correo certificado y otros niveles de servicio están disponibles donde el destino los admita.
- Los tramos de volumen (Staffelpreise) reducen el precio por carta a escala.
Llama siempre a shipping_quote para obtener la cifra exacta y en vivo antes de order_send. Los precios son autoritativos desde el servidor, nunca los fijes manualmente.
Seguridad y supervisión humana
Enviar correo físico es irreversible y cuesta dinero, por lo que la plataforma es cautelosa por defecto:
- Anotaciones honestas.
order_sendyorder_send_batchestán anotadas como destructivas; las herramientas de lectura como solo lectura. Tu agente puede basarse en esto, yorder_sendacepta un límitemaxCostEurosque aborta el envío si el precio en vivo lo supera. - Cola de aprobación. Enruta cartas sensibles a través de
approval_submitpara una verificación humana de cuatro ojos antes de imprimir nada. Cada decisión queda registrada. - Límites de gasto y alcances de herramientas por clave. Limita lo que una clave automatizada puede gastar y restringe qué herramientas puede llamar.
- Vista previa antes de comprometerse.
letter_create_draftdevuelve una vista previa renderizada yshipping_quotedevuelve el costo, para que un agente o un humano puedan confirmar antes deorder_send.
Sandbox
Prueba el flujo completo sin enviar nada. Solicita una clave de sandbox desde el panel, apunta al mismo endpoint y obtienes un monedero de prueba fondeado. La composición, los precios y el estado se comportan igual que en producción, pero no se imprime papel ni se realiza ningún cargo. Construye y demuestra tu integración de principio a fin, y luego cambia a una clave en vivo.
Cumplimiento normativo
Grado empresarial y UE, para equipos que lo necesiten:
- Archivo conforme a GoBD de cada envío, con recibos recuperables.
- Exportaciones DATEV y DMS genéricas para contabilidad y gestión documental.
- DSGVO / GDPR: los datos de las cartas se procesan en la UE.
- Plataforma y mensajes disponibles en inglés y alemán.
Cómo funciona un envío en la práctica
- Tu agente llama a
letter_create_draftcon el texto y un destinatario. FrankKi renderiza un documento con formato profesional. shipping_quotedevuelve el costo exacto para ese destino. El agente, o un humano mediante la cola de aprobación, confirma.order_sendcarga el monedero prepago de forma atómica y entrega el trabajo a cumplimiento.- FrankKi imprime la carta y la entrega para su envío mundial a través de nuestros socios postales.
- El estado fluye de vuelta a través de
order_status: impresa, enviada y, donde se admita, entregada.order_einlieferungsbelegdevuelve el recibo de envío.
Descubrimiento y manifiesto del servidor
Para directorios y registros, este repositorio publica server.json (esquema del Registro Oficial de MCP, nombre app.frankki/letters) y un llms.txt a nivel de repositorio para descubrimiento asistido por IA.
¿Encontraste este servidor a través de un directorio de MCP? La fuente canónica de verdad es siempre frankki.app/mcp.
Documentación
| Documento | Contenido |
|---|---|
| docs/tools.md | Cada herramienta con alcance, efectos secundarios, el flujo de envío canónico y códigos de error |
| docs/authentication.md | OAuth 2.1, claves API, la lista completa de alcances, configuraciones recomendadas |
| docs/clients.md | Configuración para Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Zed, OpenAI Agents SDK, LangChain |
| docs/use-cases.md | Cobros, terminaciones, correo de cumplimiento, incorporación, productos nativos para agentes |
| examples/ | Clientes TypeScript y Python ejecutables (sandbox primero, envío detrás de una bandera explícita) |
Preguntas frecuentes
¿La carta se imprime y envía realmente, o es correo electrónico? Papel real. Se imprime, se franquea y se entrega mediante socios postales. Esto no es correo electrónico.
¿A qué países puede entregar?
En todo el mundo. Usa shipping_quote para confirmar el alcance y el costo de un destino específico.
¿Alojo yo el servidor?
No. FrankKi lo aloja. Este repositorio es documentación, server.json y ejemplos. Conectas un cliente o agente al endpoint alojado.
¿Es para consumidores o empresas? Principalmente uso B2B y para desarrolladores: agentes, backends y flujos de trabajo automatizados que necesiten despachar correo físico a escala.
¿Qué pasa si mi agente se descontrola? No puede gastar más allá del saldo del monedero o del límite de gasto de una clave, las cartas sensibles pueden forzarse a través de una cola de aprobación humana, y las herramientas destructivas están claramente anotadas. Comienza en el sandbox. ¿Existe una API sin MCP? Sí, FrankKi también expone una API REST. El servidor MCP es la puerta de entrada nativa para agentes. Consulta frankki.app/mcp.
Enlaces
- Página principal: https://frankki.app
- MCP para humanos y agentes: https://frankki.app/mcp · https://frankki.app/en/mcp
- Resumen legible por máquina: https://frankki.app/llms.txt
- Endpoint: https://mcp.frankki.app
- Nombre en el registro:
app.frankki/letters(publicado en el Registro Oficial de MCP, versión 1.0.0)
Creado por el equipo detrás de FrankKi: infraestructura de correo físico para software, para que tus agentes y flujos de trabajo puedan enviar cartas reales a todo el mundo sin tocar nunca una impresora.