keycae-mcp 🔌
MCP Server for KeyCAE.ar — Argentine electronic invoicing (facturación electrónica) with ARCA/AFIP.
Let AI agents emit invoices, manage credentials, and handle delegations directly.
⚡ Quick Start
npx keycae-mcp
That's it. Your AI agent now has 12 tools for Argentine invoicing.
☁️ Remote MCP Server (no installation required)
KeyCAE also exposes a native remote MCP server over SSE — no npx, no local setup.
Connect directly from any cloud-based AI agent or MCP client that supports remote servers.
Endpoint: https://keycae.ar/v1/mcp/sse
Authentication: Get your API key at keycae.ar/dashboard
Claude Desktop (remote)
{
"mcpServers": {
"keycae-remote": {
"url": "https://keycae.ar/v1/mcp/sse",
"headers": {
"Authorization": "Bearer sk_live_..."
}
}
}
}
Cursor / Windsurf (remote)
{
"mcpServers": {
"keycae-remote": {
"url": "https://keycae.ar/v1/mcp/sse?apiKey=sk_live_..."
}
}
}
💡 The remote connector is listed on Glama — browse it there to connect with one click from supported clients.
⚠️ Requisito: Delegación en ARCA
ANTES de facturar, debés delegar la facturación electrónica al representante de KeyCAE en ARCA:
- Ingresá a ARCA Clave Fiscal
- Buscá el servicio "Facturación Electrónica" (ws://wsfe)
- Delegá al CUIT representante: 20254459306 (Amilcar Waldemar Serra)
- Aceptá la relación de representación
Sin esta delegación, no podés emitir facturas. El MCP server te permite verificar el estado con check_delegation y solicitarla con request_delegation.
🔧 Configuration (local via npx)
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"keycae": {
"command": "npx",
"args": ["-y", "keycae-mcp"],
"env": {
"KEYCAE_API_KEY": "sk_live_..."
}
}
}
}
Cursor / Windsurf
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"keycae": {
"command": "npx",
"args": ["-y", "keycae-mcp"],
"env": {
"KEYCAE_API_KEY": "sk_live_..."
}
}
}
}
🛠️ Available Tools
| Tool | Description |
|---|---|
emit_invoice | Emit an Argentine electronic invoice (A, B, C, M, E) |
get_invoice | Get details of a previously emitted invoice |
list_invoices | List recent invoices |
list_credentials | List digital certificates for the CUIT |
create_credential | Generate RSA keypair + CSR for ARCA |
check_delegation | Check ARCA delegation status |
request_delegation | Request ARCA delegation for invoicing |
lookup_taxpayer | Look up taxpayer by CUIT |
get_billing_status | Check billing plan and usage |
keycae_health | Health check |
list_puntos_de_venta | List available sales points for the CUIT |
check_emission_capability | Check if the CUIT can emit a given invoice type |
💡 Example Usage
1. Check if ready to invoice
User: ¿Puedo facturar con el CUIT 20254459306?
Agent calls check_delegation → confirms delegation is active, then list_credentials → confirms certificate is valid.
2. Request delegation (if not done)
User: Necesito delegar mi facturación a KeyCAE
Agent calls request_delegation → starts the delegation process.
3. Emit a Factura B
User: Emití una factura B al CUIT 20333444555 por $15.000 ARS por "Servicios de consulting"
Agent calls emit_invoice:
{
"cuit_emisor": "20254459306",
"punto_de_venta": 3,
"tipo_comprobante": "B",
"receptor": { "tipo_doc": "CUIT", "nro_doc": "20333444555" },
"conceptos": [{ "descripcion": "Servicios de consulting", "precio": 15000 }]
}
📋 Invoice Types
| Type | Description | When to use |
|---|---|---|
| A | IVA discriminado | RI → RI |
| B | IVA incluido | RI → Consumidor Final |
| C | Exento | No genera IVA |
| M | Monotributo | Monotributo emitter |
| E | Exportación | International clients |
🔗 Links
- 🌐 keycae.ar — API & Dashboard
- 📖 docs.keycae.ar — Documentation
- 📄 llms.txt — AI Agent Reference
- 🔌 mcp.so — MCP Directory
- 🤖 glama.ai/mcp/servers — Glama (local server)
- ☁️ glama.ai/mcp/connectors — Glama (remote connector)
📦 Related Packages
keycae-ts— TypeScript SDKkeycae-cli— CLI tool
📄 License
MIT
Server Config
{
"mcpServers": {
"keycae": {
"command": "npx",
"args": [
"-y",
"keycae-mcp"
]
}
}
}