ordis-mcp-server

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.

Category
Visit Server

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 fetch nativo).
  • 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 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?
  • periodo valida el formato YYYY-MM en el cliente (falla rápido sin gastar una llamada de red).
  • anio valida el rango 2020–2027.
  • page debe ser ≥ 1.
  • Enums validados en el cliente (mismos valores que la API): tipo = emitida | recibida · estado de boletas = vigente | anulada | rechazada · estado de deudas = activo | pagado | cancelado · estado de trabajadores = activo | licencia | vacaciones | desvinculado.
  • En los endpoints con tope de filas (deudas, trabajadores), si la respuesta trae meta.has_more: true hay 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, stdout es el canal del protocolo MCP: todos los logs van a stderr.
  • 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

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.

Official
Featured
Python
graphlit-mcp-server

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.

Official
Featured
TypeScript
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured