Précis Finance MCP — Financial reporting on Databricks and ClickHouse
[License: Elastic 2.0]
[MCP]
[CI]
[Docs]
A read-only, self-hosted Model Context Protocol (MCP)
server for financial reporting on Databricks or ClickHouse, built for
Financial Planning & Analysis (FP&A) and management reporting.
Give Claude, ChatGPT or another MCP-capable client
access to governed metrics, financial statements, variance comparisons,
row-level drill-down, charts and Excel exports from your own financial data.
It is source-available under Elastic License 2.0 and forms the open core of
Précis, the Finance Intelligence Platform.
You describe your business metrics once — KPIs, hierarchies, and
financial-statement layouts in a YAML catalogue over a semantic layer of plain
SQL views, versioned in git — and any MCP-capable client gets consistent,
defensible numbers. Use your existing
Databricks data model or start a local self-contained service with the bundled ClickHouse engine.
Your own financials, not market data.
Use this if
- You run or support a finance function and want AI clients — Claude, ChatGPT,
or any MCP-capable client — answering questions and pulling management
reporting from your own numbers.
- You need governed metrics — one agreed definition of gross margin,
utilisation, or revenue by business unit — not an agent querying raw rows in
the general ledger or inventing its own definitions.
- You want it self-hosted, on infrastructure you already operate and under a
security model you control — not another cloud contract.
- You need every answer traceable: read-only by construction, no figure
generated by the model, every number aggregated from semantic views you can
read.
Requirements
- Docker — Engine + Compose v2. Everything runs in containers; there is
nothing else to install.
- No warehouse to provision — the stack bundles ClickHouse (the engine's
analytical store), PostgreSQL (platform and artifact state), and Valkey
(temporary snapshots). A
local trial runs with nothing else and loads a sample finance model.
- Already run ClickHouse or Databricks? — optionally point the engine at your own instance
instead of the bundled one; see
ClickHouse data modes or
Databricks setup.
- An MCP-capable client — Claude (claude.ai and Desktop connectors, against
a deployed instance), Claude Code, ChatGPT, or any MCP client.
- Optional Excel access — the multi-user image also hosts the Précis Excel
add-in at
/excel; enable its OAuth client when you want live read-only
workbook functions.
What Précis Finance MCP looks like
[Claude, connected to Précis over MCP, rendering a governed P&L with comparatives and then drilling Revenue down to cost-centre level — sample data]
Every figure aggregates from the semantic views — account, cost centre,
period, scenario — and the measures generic metric layers can't express
(a utilisation denominator averaged across periods, re-aggregated by quarter
or business unit, with subtotals in the layout) are first-class catalogue
definitions.
Try the public demo
Connect a remote MCP client to https://mcp.precis.finance/mcp to explore
Précis Finance MCP without installing anything or creating an account. The
shared server exposes read-only tools over a synthetic finance dataset; it does
not contain your financial data. No API key or sign-in is required.
For Claude Code:
Then ask precis_orientation what the demo supports, or request a P&L with
comparatives. See the public demo connection guide
for other MCP clients and the limits of this shared instance.
Quickstart — single-user local trial
One stack — the server plus ClickHouse, Postgres and Valkey — a shared dev
key, bound to 127.0.0.1. Point any MCP client at http://127.0.0.1:8768/mcp
with the dev key as bearer token. For example, with Claude Code:
Then ask a finance-specific question to prove this is not a generic SQL MCP:
"Show the P&L for FY2025 with comparatives." · "Drill revenue down by cost
centre." · "Show utilisation by month for the Digital Transformation team."
Full walkthrough, including the demo data and bringing your own model:
docs/getting-started/quickstart.md.
Rather do this on a call? We pair with early adopters to stand Précis Finance MCP up
against their own warehouse — precis.finance or
[email protected].
Multi-user deployment
deploy/docker-compose.yml runs the multi-user stack — the open server,
PostgreSQL, ClickHouse (if using the bundled deployment), Valkey, artifact
storage, and OAuth 2.1 + PKCE sign-in. Deployment is modular along independent axes:
- Data — bundled ClickHouse (empty or with sample data), your own ClickHouse
instance, or Databricks:
ClickHouse data modes ·
Databricks setup
- Identity — local dev key, the bundled Keycloak (optionally federated to
your IdP), or a direct external OIDC provider (Auth0 / Okta / Entra / Ping):
docs/deployment/oauth-keycloak.md,
docs/deployment/external-idp-recipes.md
- Ingress — the bundled Caddy proxy (
bundled-proxy profile, on by
default) terminates TLS with automatic Let's Encrypt certificates from
nothing but PRECIS_DOMAIN. The app itself is proxy-agnostic: drop the
profile to front it with an ingress you already operate (reference nginx
vhost in deploy/nginx/, host helper scripts/install-precis-mcp.sh --nginx)
- Backups — additive
backup compose profile: scheduled bundles
(Postgres dump + ClickHouse backup + instance config) to a local volume or
S3, with restore and drill commands:
docs/operations/backups.md
- Excel add-in — optional hosted workbook functions served from the same
instance at
/excel; enable with the bundled Keycloak client or a public
client in your external IdP:
docs/excel/
scripts/deploy-mcp.sh --data-mode ... --auth-mode ... is the friendly front
door over the Compose profiles. Every knob is an environment variable:
docs/configuration/environment-variables.md.
Configure your data model
Your model lives in an instance/ directory — metric catalogue, semantic SQL
views, ingestion bindings — and the bundled demo instance shows the shape.
Start at docs/configuration/catalogue-and-semantic.md,
then docs/configuration/ingestion.md and
docs/operations/onboarding-ingestion.md
to load your data. For Databricks, see the
Databricks schema contract.
The developer guide for adding server tools is
docs/development/adding-read-tools.md.
Security and read-only posture
Start with the mechanisms, not the promise.
- Read-only by construction — the server retrieves; it never writes to or
changes your source. There is no write path back.
- No figure is generated by the model — the agent requests defined metrics;
Précis calculates and returns them using the agreed financial rules. Ask for
utilisation by department and you get each department’s utilisation, with a
total calculated using the same governed definition. Other agentic analytics
approaches rely on agents writing SQL. When an agent writes SQL
for each question, it must interpret how the measure should be calculated and
aggregated, introducing opportunities for errors. Précis defines that logic
once in the reporting engine and applies it consistently as the conversation
develops. The agent retrieves the figures and narrates the results.
- Traceable to source — every number traces from response → semantic view →
warehouse. The semantic views are plain SQL you can read; the catalogue is
versioned in git.
- Your own warehouse, not market data — it runs in your environment, against
your warehouse, under your own access controls.
- Identity — a local dev key, the bundled Keycloak (optionally federated to
your IdP), or a direct external OIDC provider (Auth0 / Okta / Entra / Ping).
- Operator responsibility — Précis Finance MCP is designed to expose governed read
operations; you still deploy and operate it under your own security model.
Disclosure policy: SECURITY.md.
FP&A and financial reporting on Databricks
Use your existing Databricks environment as the analytical backend for
Précis Finance MCP. Keep your financial data and pipelines in place, without
copying the inputs into another analytical database.
Map your data to reporting views and agree
the metric and statement definitions; finance can then request a monthly P&L,
compare actuals with budget or drill into the drivers of a variance through
a compatible MCP client.
What Précis adds alongside Databricks Genie: consistent financial
calculations and presentation. Your agreed aggregation rules, statement
layouts, comparison columns and number formats carry through each report.
The agent requests established financial operations from the reporting
engine, reducing repeated query generation and the scope for calculation
errors as the investigation develops.
Our FP&A case study: Précis and Databricks Genie
compares five financial requests against the same Databricks data, showing
the differences in calculation fidelity, financial presentation and waiting
time. Précis completed responses in 16–35 seconds, compared with
73–108 seconds for Genie in that session. The study compares the full
Précis workspace with the native Genie interface; Finance MCP uses the same
reporting engine, while response times depend on the connected client and
deployment.
Read the Databricks product update
for the broader platform benefits, including approved planning writeback.
Précis Finance MCP remains read-only.
Documentation
Full documentation: docs.precis.finance.
Précis Finance MCP vs Précis
The deployment and data model you build here are the foundation the full
Précis platform runs on. Précis is currently
pre-General Availability and adds a licensed agentic workspace over this same
engine and data model. Moving from the open core to Précis is workflow
configuration and adoption — not a second data-integration project. Précis
prepares; the finance professional decides.
What ships — and what doesn't
Ships in Précis Finance MCP (Elastic License 2.0): the MCP server and transport ·
metric engine · financial-statement layouts · semantic SQL view pattern · YAML
metric catalogue · sample finance model · ingestion path · hosted read-only
Excel add-in · ClickHouse analytical store · PostgreSQL platform state · local
dev-key mode · multi-user OAuth 2.1 mode · Docker Compose deployment · backup &
restore profile · configuration and deployment docs.
Lives in Précis, not in this repo: the workspace UI · the conversational
agent · plan write-back · scenario commit workflows · scheduled Dispatch
briefings · report / management-pack workflow · Excel write-back / round-trip ·
commercial support (unless separately agreed).
Talk about Précis — the full platform and design-partner programme:
precis.finance or
[email protected].
Support and services
Précis Finance MCP is built to be self-serve, and the documentation aims to be
enough. If you'd like help beyond it — configuring your data model, a guided
deployment, ongoing support, or a demo environment to evaluate against realistic
data — book a setup session at precis.finance or write
to [email protected]. The same address reaches
the team behind the full Précis platform.
Contributing
This repository is a one-way mirror of the Précis monorepo: main advances
by sync commits, and pull requests are applied internally with your authorship
and DCO sign-off preserved, then published in the next sync. See
CONTRIBUTING.md.
License
Elastic License 2.0 — source-available. Free to use, modify,
self-host (including commercially), and redistribute; you may not offer it to
third parties as a hosted or managed service.