ordis-mcp-server
Read-only MCP server for the Ordis accounting API, exposing 11 typed tools to query financial data such as invoices, tax forms, KPIs, and more directly from Claude.
README
ordis-mcp-server
Servidor MCP de solo lectura para la API contable de Ordis SpA. Expone cada
endpoint de https://ordis.cl/api/v1 como una tool tipada, para consultar la
contabilidad de forma nativa desde Claude (Claude Code / Claude Desktop) sin
adivinar rutas.
El servidor no guarda el token: lo lee de la variable de entorno
ORDIS_API_KEY y actúa solo como cliente HTTP. Autentica únicamente por header
Authorization: Bearer.
Requisitos
- Node.js 18 o superior (usa
fetchnativo). - Un token de la API de Ordis (
ordis_sk_...). Se genera en el portal: ordis.cl → Acceso API a tus datos (/portal/api-keys) → Crear llave. Se muestra una sola vez — guárdala como variable de entorno, nunca en un archivo versionado.
Instalar y compilar
npm install
npm run build
Genera dist/index.js (el ejecutable del servidor).
Probar en local (MCP Inspector)
ORDIS_API_KEY="ordis_sk_..." npx @modelcontextprotocol/inspector node dist/index.js
Abre la UI del Inspector, lista las 11 tools y prueba una llamada (ej.
ordis_get_kpis con periodo: "2026-07").
Conectar a Claude
Opción 1 — Claude Code (CLI)
claude mcp add ordis \
--env ORDIS_API_KEY=ordis_sk_TU_TOKEN \
-- node /ruta/absoluta/ordis-mcp-server/dist/index.js
Opción 2 — Config JSON (Claude Desktop / Claude Code)
En el archivo de config de MCP:
{
"mcpServers": {
"ordis": {
"command": "node",
"args": ["/ruta/absoluta/ordis-mcp-server/dist/index.js"],
"env": {
"ORDIS_API_KEY": "ordis_sk_TU_TOKEN"
}
}
}
}
Usa la ruta absoluta a
dist/index.js. Reinicia el cliente para que detecte el servidor.
Variables de entorno
| Variable | Requerida | Descripción |
|---|---|---|
ORDIS_API_KEY |
Sí | Token de solo lectura (ordis_sk_...). |
ORDIS_API_BASE_URL |
No | Sobrescribe el base URL. Default: https://ordis.cl/api/v1. |
Tools disponibles (11, todas solo lectura)
| Tool | Endpoint | Parámetros |
|---|---|---|
ordis_get_empresa |
/me |
— |
ordis_list_facturas |
/facturas |
periodo?, tipo?, page? |
ordis_get_f29 |
/f29 |
periodo? |
ordis_get_f22 |
/f22 |
anio? |
ordis_get_flujo_caja |
/flujo-caja |
anio? |
ordis_get_kpis |
/kpis |
periodo? |
ordis_list_liquidaciones |
/liquidaciones |
periodo? |
ordis_list_trabajadores |
/trabajadores |
estado? |
ordis_list_deudas |
/deudas |
estado? |
ordis_list_movimientos_banco |
/movimientos-banco |
periodo?, page? |
ordis_list_boletas_honorarios |
/boletas-honorarios |
periodo?, estado?, page? |
periodovalida el formatoYYYY-MMen el cliente (falla rápido sin gastar una llamada de red).aniovalida el rango 2020–2027.pagedebe ser ≥ 1.- Enums validados en el cliente (mismos valores que la API):
tipo=emitida | recibida·estadode boletas =vigente | anulada | rechazada·estadode deudas =activo | pagado | cancelado·estadode trabajadores =activo | licencia | vacaciones | desvinculado. - En los endpoints con tope de filas (
deudas,trabajadores), si la respuesta traemeta.has_more: truehay más datos que los devueltos.
Estructura
ordis-mcp-server/
├── package.json
├── tsconfig.json
├── README.md
└── src/
├── index.ts # arranque + transporte stdio
├── client.ts # cliente HTTP: auth por header, timeout, errores accionables
├── tools.ts # registro de las 11 tools
├── schemas.ts # campos Zod reutilizables (periodo, anio, page, estado)
└── constants.ts # base URL, timeout, límite de caracteres
Nota sobre versiones del SDK
Este servidor usa el SDK v1 (@modelcontextprotocol/sdk), que es la línea
compatible y probada con la config stdio actual de Claude Code / Desktop.
Existe una línea v2 (@modelcontextprotocol/server, spec 2026-07-28) con
paquetes renombrados y zod/v4. Cuando v2 se estabilice en los hosts, la
migración es acotada: cambiar los imports, pasar inputSchema como z.object({...})
en vez de shape plano, y actualizar el transporte. La lógica de negocio
(client.ts, mapeo de params) no cambia.
Seguridad
- Solo lectura: no hay tools que escriban, borren ni muten datos (la API de Ordis tampoco tiene endpoints de escritura).
- El token vive solo en la variable de entorno; nunca se loguea ni se persiste.
- En stdio,
stdoutes el canal del protocolo MCP: todos los logs van astderr. - Puedes revocar el token cuando quieras desde
ordis.cl/portal/api-keys; el corte es inmediato. Rota el token si sospechas que se expuso. - Al reportar un issue en este repositorio, no pegues respuestas de la API (contienen datos de tu empresa). Describe el error y el endpoint; con eso alcanza.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.