
Servidor MCP de Zeno
Qué servidores MCP son de Zeno, del registro oficial y encontrados preguntando a su propio dominio, si responden y qué ofrecen. Un programa comprobó cada dato; nada está copiado de la página del producto.
leído el 2026-10-27
- Nombre en el registroch.zeno-works/zenoverificado en el registro MCP
El nombre en el registro está bajo zeno-works.ch. El registro solo permite usar ese espacio de nombres a quien demuestra control del dominio por DNS o HTTP.
- Estadorespondecomprobado el 2026-10-27
- Herramientas51
- El servidor se llamazeno
- Versión del servidor0.1.0+161e2e5ce
- Versión del protocolo2025-06-18
El 2026-10-27 el servidor respondió a initialize y tools/list sin iniciar sesión. Primera respuesta en 660 ms.
- Aún no se ha juzgado si sus herramientas hacen el trabajo del producto.
- Comprobado 2 de los 7 días necesarios para juzgar su fiabilidad.
Una vez conectado
- upload_intake, upload_document, create_gl_journal_entry, post_gl_journal_entry, create_ar_invoice cambian datos sin iniciar sesión: cualquiera con la dirección puede llamarlas.
- Sus definiciones ocupan unos 15402 tokens de contexto: activa solo las herramientas que necesita la tarea.
- Parámetros sin tipo o sin descripción en 46 de 51 herramientas: revisa los argumentos antes de llamar.
Lo dicen reglas a partir de las mediciones de arriba. La primera llamada probable la elige un modelo de la lista de herramientas; lee su descripción antes de fiarte.
- Nota INITE MCPtras una semanala nota necesita 7 comprobaciones diarias: 2 hasta ahora
- Respondiómidiendo2 de las 7 comprobaciones diarias necesarias para mostrar el porcentaje
- Mediana de la primera respuesta663 ms
- Espacio en el contexto del agente≈ 15.402 tokenslas definiciones de todas sus herramientas (51), que el agente lleva en cada turno
- Definiciones de herramientasC · 67 de 100
- Resultados tipados0 de 51 herramientasdeclaran outputSchema: el resultado llega tipado y se lee de una vez
- Sin una descripción con la que el agente pueda elegir: 4 de 51
- Parámetros sin descripción: en 46 de 51
- Sin indicar si solo lee o puede destruir: 51 de 51
Conviene revisar
- Herramientas que cambian datos, en un servidor que responde sin iniciar sesión: upload_intake, upload_document, create_gl_journal_entry, post_gl_journal_entry, create_ar_invoice
Un programa comprueba el servidor una vez al día: initialize y tools/list, sin modelo. Los tokens son la longitud de las definiciones, a unos cuatro caracteres por token. La nota promedia seis comprobaciones del nombre, la descripción, el esquema y las anotaciones de cada herramienta; dice lo bien descritas que están, no si funcionan. La nota pondera solo lo medido: si responde (25%), si hace el trabajo del producto (25%), definiciones (20%), contexto (10%), uso (10%) y lo fácil que es conectarse (10%). Lo que no se midió queda fuera, y una instrucción oculta limita la nota a 40. El estado de los servidores MCP de los proveedores: método y números →
find_operationsSearch EVERY operation this server offers, including the ones not in your tool list. The tool list you can see holds only the common operations. Several hundred more — payroll, VAT returns, year-end close, fixed assets, expenses, cash…
describe_operationsGet the full argument schema for operations found via ``find_operations``. Returns each operation's description and JSON-Schema arguments — everything a listed tool would have shown you. ``include_output_schema`` is the ONLY way to obtain…
call_operationRun any operation by name — the ones in your tool list and the unlisted ones alike. ``name`` is an operation name from ``find_operations``; ``arguments`` is the object described by ``describe_operations`` (omit it for an operation that…
request_api_keyAsk the user to hand this session a Zeno API key. **Use this first** — every current Zeno user already has an account. `email` is the address on their Zeno account. **Ask them for it**; you cannot guess it, and the request is aimed by it…
start_signupCreate a Zeno account for somebody who does not have one yet. Use `request_api_key` first if they might already have an account — this tool cannot tell you, and deliberately never will. We email `email` a verification link. The user opens…
collect_api_keyCollect the key once the user has approved. `status` is one of: - `pending` — nobody has approved yet, or (with `throttled: true`) we were rate-limited and learned nothing. **Wait `poll_interval_seconds`, then call again** — every answer…
whoamiWhich user this request acts as, and which company's books it is bound to (jwt or API key). Zeno serves every tenant from one host, and an API key is opaque — nothing else tells a connected agent whose books it is about to write. Call…
list_companiesList companies (jwt, scoped). Non-admins see only their member companies.
get_companyGet one company (jwt, scoped). 403 for a non-member non-admin, 404 if absent.
global_searchFull-text search across emails + items, ranked by ``ts_rank_cd``, scoped (A1). ``archive_status`` constrains item results only (the Documents → Archive page passes ``archived`` so its search box never surfaces pending/triage-parked items).
get_kpi_reportSnapshot KPIs + 13-week liquidity forecast, from the GL (CompanyMember). Cash/liability balances aggregate the FY window of posted/reversed journal lines; aging + forecast read ``gl_open_item``, pending salary batches and unpaid VAT…
get_work_listEverything waiting for this user in this company, most severe first.
list_autopost_decisionsRecent AI-accountant autonomy decisions (CompanyMember) — the activity feed. Shows what the autonomy policy posted (``posted``), would have posted in ``assist`` shadow mode (``shadow``), or held for human review (``held``)…
accept_autopost_decisionOne-click accept of a **held** decision (accountant) — posts the AI's proposal. A person's accept overrides the soft guardrails. An agent's is refused (403) unless the row is ``agent_acceptable`` or an expense receipt. Closed period…
upload_intakeUpload ANY file and let the system decide what it is (the unified intake queue — the same door as "Documents → Upload" in the web app). ``file_base64`` is the file's raw bytes, base64-encoded. Prefer this whenever the file is not plainly…
upload_documentUpload an INVOICE or RECEIPT (PDF, image, or .zip of them) for analysis. ``file_base64`` is the file's raw bytes, base64-encoded. ``direction`` is ``payable`` (incoming supplier invoice) or ``receivable`` (outgoing). Creates Item(s) and…
get_intakeGet one intake row by id (scoped to its company: 404/403 split).
list_itemsList/filter items, scoped to the caller's member companies (A1). Optional ``period`` (``YYYY-MM``) filters by the item's effective date (invoice date, falling back to the Europe/Zurich-local ingestion date); a malformed value returns 422…
get_itemItem metadata (any source).
gl_trial_balancePer-account debit/credit columns for one fiscal year, with totals. ``fiscal_year`` (year label) defaults to the latest year posted in; ``period_id`` narrows to one period of it. No all-years mode — account identity is ``(company, fiscal…
gl_profit_and_lossRevenue − expense → net result, for one fiscal year. **Window** — same rules as the trial balance: ``fiscal_year`` defaults to the latest posted year, ``period_id`` narrows to one period of it, unknown values are 404 and a contradictory…
gl_balance_sheetAssets vs liabilities + equity for one fiscal year, signed by natural side. Window rules as the trial balance (``fiscal_year`` defaults to the latest posted year; no all-years mode, ZET-155). With ``period_id`` this is a *movements*…
list_gl_accountsList the postable chart (CompanyMember). ``fiscal_year`` filters to one year's chart (the chart is FY-scoped, so codes repeat across years).
get_gl_account_ledgerOne account's ledger (Kontoauszug) — every booking that touched it, in date order, with Soll/Haben and the running balance after each line (CompanyMember). No fiscal-year parameter: the chart is FY-owned, so ``account_id`` already fixes…
list_gl_periodsThe company's **accounting periods** — the months a journal entry may post into (CompanyMember read). A period belongs to one fiscal year and carries ``period_no`` (1..12 within the year), ``date_from``/``date_to`` and a ``status``…
list_gl_open_itemsOne page of the AR/AP subledger (member read). ``direction`` filters server-side (ZCT-577) — omit it for both. The screen used to filter the fetched page in the browser, which made the AR chip drop rows and the total count both…
list_gl_journal_entriesList journal entries. ``period_ids`` narrows to specific fiscal periods, and is how a caller asks for **one fiscal year** — the year's period ids (ZET-285). Without it this route listed, and counted, every fiscal year the company has: the…
get_gl_journal_entryOne entry + lines, plus the subledger rows it produced/touched (Gap B detail surfacing): its ``gl_vat_posting`` rows, its ``gl_vat_zero_posting`` turnover-only declarations (zero-rated/exempt output — R2-13b: these have no VAT line to…
create_gl_journal_entryCreate a **draft** journal entry by hand — accountant. It carries NO source document unless you name one. Only the pipeline paths stamp ``source_ref_type``/``source_ref_id`` (an ingested document is ``'item'``), so by default a booking…
post_gl_journal_entryPost a draft entry into the books — accountant. One-way. A posted entry can no longer be replaced or discarded (both refuse with 409); the only general correction is ``…/reverse``, which leaves both the original and the reversal visible…
reverse_gl_journal_entry**Storno** a posted journal entry: post its mirror image (accountant role). Nothing is deleted; the original stays, linked both ways, and the **reversal** entry is returned. The only VAT-correct storno door — VAT postings, open items and…
list_bank_accountsThe company's bank accounts — the ``bank_account_id`` every statement import, bank-entry list and reconciliation call needs (CompanyMember read). Oldest first, no filter and no paging. Each row carries the ``iban``, ``currency``…
list_bank_entriesList Bank Entries
get_bank_entryGet Bank Entry
entry_candidatesEntry Candidates
settle_entryPost this reconciled bank entry into the GL (clean-bank settlement). Matched → Dr Bank / Cr AR; unmatched → Dr Bank / Cr Suspense; a previously-suspensed entry now fully matched → Dr Suspense / Cr AR. Idempotent, and a no-op (``skipped``)…
reconciliation_summaryReconciliation summary banner. Optional ``from``/``to`` scope the **per-entry bank-entry counts** (total / matched / missing-invoice / …) to a ``booking_date`` window — mirroring the ``/bank-entries`` grid filter — so the banner agrees…
list_ar_invoicesList authored AR invoices, newest first. Optional ``status`` / ``doc_type`` filter by lifecycle + document kind. Optional ``period`` (``YYYY-MM``) filters by the invoice's issue date (its month); a malformed value returns 422 ``{"msg"…
get_ar_invoiceOne authored outgoing invoice with its lines (CompanyMember read). Carries the header (customer, dates, currency, discounts), every line with its computed ``net_amount``/``vat_amount``/``gross_amount``, the document totals, and the…
create_ar_invoiceCreate an outgoing (sales) invoice as a **draft** — nothing is booked yet (accountant role). A draft changes no ledger balance, gets no invoice number and appears in no VAT return; it exists so it can be edited. Posting happens later, at…
issue_ar_invoiceIssue a draft — **this is the booking step** (accountant role). In one transaction it assigns the next invoice number, posts the journal entry (debit the AR control account, credit revenue per line, credit output VAT per VAT code), opens…
list_counterpartiesList a company's counterparties (filter by ``kind``/``q``, paginated). ``kind`` repeats to filter on a set (``?kind=customer&kind=both``) — a role-shaped picker asks for every kind that plays the role. A single ``?kind=supplier`` keeps…
list_gl_vat_periodsList Gl Vat Periods
list_payroll_runsThe company's payroll runs — one per wage period — newest period first (CompanyMember read; the money is aggregate, no per-employee PII). A run walks ``draft`` → ``calculated`` → ``approved`` → ``posted`` → ``paid`` → ``locked`` (plus…
list_payroll_employeesEvery employee on the payroll master data, with today's contract (accountant role — this payload is personal data, so it is not a plain member read). One row per employee, active and left alike (filter on ``status`` / ``employment_end``…
get_financial_statementsComputed balance sheet + P&L for a fiscal year, from the journal (CompanyMember). Aggregates every posted GL journal line whose **posting date** falls in the fiscal year's window, classifies each account against the chart of accounts, and…
customer_statementOne customer's open items + totals (the aging row's drill-down). ``as_of`` mirrors ``GET …/ar/aging`` — set, it reconstructs the items open at that date so the statement agrees with a historical aging report.
get_bank_statusComposed bank snapshot — "is my banking up to date?" (CompanyMember). "Reconciled" means entries matched, NOT ledger = statement balance (the close check ``BANK_BALANCE_DOES_NOT_TIE_OUT`` compares that). One call for what otherwise takes…
zeno_infoWhat this server is, which MCP revision it speaks, and how to get a credential. **Needs no credential.** Call it first if a tool has just refused you: the `authentication` block names the tools that can get this session connected.
zeno_overviewWhat Zeno does, in one page — the platform's capabilities and its limits. **Needs no credential.** Read this before telling a user that Zeno cannot do something; it covers VAT, payroll, reconciliation and the AI accountant.
onboarding_guideHow to onboard and create a NEW company: what to ask the user for, which documents to request, and the order to run the setup in. Discovery does not depend on search: this tool is in the tier, so it is listed for every caller, and…
Cómo conectar
Añade el servidor a la configuración de tu cliente MCP. Claude Desktop, Cursor y la mayoría de los demás clientes leen este formato:
{
"mcpServers": {
"zeno": {
"type": "http",
"url": "https://app.zeno-works.ch/mcp"
}
}
}Añadirlo
Claude Code, en una terminal
claude mcp add --transport http zeno-works https://app.zeno-works.ch/mcpAñadir a CursorAñadir a VS Code
claude.ai, ChatGPT y otros clientes: añade https://app.zeno-works.ch/mcp como conector personalizado en los ajustes.
Cada línea es algo que un programa encontró al buscar: la entrada del registro, la respuesta del propio servidor, una especificación que se puede leer. Si falta una línea, es que no la encontramos, no que no exista.
Cookies
Antes de contar esta visita
La analítica y la medición de anuncios nos dicen qué páginas y cuáles de nuestros anuncios cumplen su función: Google Analytics y Google Ads, el píxel de Meta, Yandex Metrica y un identificador propio. No se guarda nada hasta que respondas, y rechazar no cambia nada del sitio.