Précis Finance MCP
Server Details
Public read-only Précis Finance MCP demo with synthetic data; no account or credentials required.
- Status
- Healthy
- Uptime
- 99.9% over 55 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- precis-finance/precis-finance-mcp
- GitHub Stars
- 6
- Server Listing
- Précis-MCP
TDQS
Scored across 17 tools
Most tools map cleanly to distinct resource/action pairs such as bindings, loads, inspection, dimensions, and scenarios. The main ambiguity is between run_metric/run_metric_data and run_statement/run_statement_data, which are nearly identical except for output format; reading the full description resolves it but misselection is easy.
The set follows clear list_/get_/run_ verb-noun patterns in snake_case, and the _data suffix consistently marks raw-output variants. The main outlier is precis_orientation, which does not follow the verb/action naming style used by the other tools.
At 17 tools, the count is in the heavy range. The four run_* tools are effectively two operations with different output modes, so merging them or trimming redundant metadata lookups would make the set tighter.
Querying, metadata exploration, ingestion audit, and inspection are well covered. However, the _data tools explicitly reference eval_chart_transform, which is not exposed in this server, creating an advertised path that dead-ends; there are also no management or write operations for bindings and scenarios, though those may be out of scope.
Available Tools
20 toolseval_chart_transformRead-onlyInspect
Create a chart from data_refs (an array of snapshot IDs), a bounded JavaScript function, and chart_spec. Supports line, bar, area, waterfall, scatter, horizontal_bar, forecast_line, cohort_heatmap and sparkline_row. Query first and inspect rows; the transform takes one result per ref and returns flat rows.
| Name | Required | Description | Default |
|---|---|---|---|
| data_refs | Yes | ||
| chart_spec | Yes | ||
| transform_code | Yes |
export_datasetInspect
Export a cached data_ref to json or xlsx without rerunning the query; returns a temporary file and download link.
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | ||
| data_ref | Yes |
get_bindingRead-onlyInspect
Fetch one data feed's full configuration: source, target dataset, schedule, and extract parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| binding_id | Yes |
get_file_downloadRead-onlyInspect
Renew a download capability for an available, owned artifact.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes |
get_inspection_schemaRead-onlyInspect
Get the column schema for an inspection source.
| Name | Required | Description | Default |
|---|---|---|---|
| source_key | Yes |
get_load_statusRead-onlyInspect
Fetch one data load's full detail by load_id — timestamps, status, rows landed, and any error message.
| Name | Required | Description | Default |
|---|---|---|---|
| load_id | Yes |
inspect_rowsRead-onlyInspect
Inspect the row-level detail behind a figure, from an enabled inspection source. Returns a capped sample for reasoning plus a grid for the user.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| columns | No | ||
| filters | No | ||
| period_end | No | ||
| source_key | Yes | ||
| scenario_id | Yes | ||
| period_start | No |
list_bindingsRead-onlyInspect
List the configured data feeds (ingestion bindings) with their schedule — which datasets load, from where, how often.
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | ||
| source_id | No |
list_dimensionsRead-onlyInspect
List the dimensions defined in the model — keys, labels, and kinds (leaf / derived / ragged hierarchy). Catalogue metadata only; use search_hierarchy to list a dimension's members.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
list_inspection_sourcesRead-onlyInspect
List the row-level sources available for inspection.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
list_kpisRead-onlyInspect
Browse the metric catalogue — metric keys, formats, domains, and the dimensions available per metric.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
list_load_historyRead-onlyInspect
List data-load attempts from the ingestion audit trail — when each dataset landed, with what status. Answers "is April in yet?" / "when was this data last loaded?".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| period | No | ||
| status | No | ||
| binding_id | No | ||
| dataset_id | No |
list_scenariosRead-onlyInspect
List the available planning scenarios and their status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
list_variantsRead-onlyInspect
List the what-if variants of a scenario.
| Name | Required | Description | Default |
|---|---|---|---|
| scenario_id | Yes |
precis_orientationAInspect
Call this first. Returns how to use Précis over this connector: the data model (scenarios, metrics, statements, dimensions), the reporting-tool variants, and how to build charts. Read it before composing queries.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It discloses that the tool returns informational content (data model, variants, chart instructions), indicating a read-only, non-destructive operation. No mention of auth or rate limits, but sufficient for an orientation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with 'Call this first.' Efficiently conveys purpose and usage without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description fully explains the tool's function—returning orientation information. Complete for its role as an initial guide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters and schema coverage is 100% (empty). Per rules, baseline for 0 parameters is 4. Description explains what the tool returns, so no additional parameter info needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Returns how to use Précis over this connector: the data model...'. It distinguishes itself by being the first call, with the imperative 'Call this first'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this first' and 'Read it before composing queries,' providing clear when-to-use guidance and implying that other tools are for later steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_metricRead-onlyInspect
Break one or more metrics down by a dimension — revenue by project, utilisation by employee, headcount trends, GL account drill-down. Rows are the dimension; columns are metrics × scenarios. Pass scenarios explicitly and give every scenario a concise, user-facing alias such as Actuals, Budget, Variance, or Var %. Returns a formatted table with structured data. The widget already displays this table to the user. Add useful interpretation; do not reproduce the table or restate all its rows in Markdown unless the user explicitly requests it or the widget is unavailable.
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | ||
| filters | No | ||
| metrics | Yes | ||
| decimals | No | ||
| scenarios | No | ||
| dimensions | No | ||
| period_end | No | ||
| period_start | No |
run_metric_dataRead-onlyInspect
Break one or more metrics down by a dimension — revenue by project, utilisation by employee, headcount trends, GL account drill-down. Rows are the dimension; columns are metrics × scenarios. Pass scenarios explicitly and give every scenario a concise, user-facing alias such as Actuals, Budget, Variance, or Var %. Returns the raw figures (and a data_ref) for your own analysis or to build a chart — pass [data_ref] as data_refs to eval_chart_transform. Does not show the user a table.
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | ||
| filters | No | ||
| metrics | Yes | ||
| decimals | No | ||
| scenarios | No | ||
| dimensions | No | ||
| period_end | No | ||
| period_start | No |
run_statementRead-onlyInspect
Run a financial statement — P&L, variance report, or executive summary. Rows are statement lines (Revenue, Direct Cost, Gross Margin, …); columns are scenarios. Supports an optional dimension breakdown (e.g. by period or cost centre). For an unspecified general P&L, prefer full_pnl when it is listed by precis_orientation. Give every scenario a concise, user-facing alias such as Actuals, Budget, Variance, or Var %. Returns a formatted table with structured data. The widget already displays this table to the user. Add useful interpretation; do not reproduce the table or restate all its rows in Markdown unless the user explicitly requests it or the widget is unavailable.
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | ||
| filters | No | ||
| decimals | No | ||
| scenarios | No | ||
| statement | No | ||
| dimensions | No | ||
| period_end | No | ||
| period_start | No |
run_statement_dataRead-onlyInspect
Run a financial statement — P&L, variance report, or executive summary. Rows are statement lines (Revenue, Direct Cost, Gross Margin, …); columns are scenarios. Supports an optional dimension breakdown (e.g. by period or cost centre). For an unspecified general P&L, prefer full_pnl when it is listed by precis_orientation. Give every scenario a concise, user-facing alias such as Actuals, Budget, Variance, or Var %. Returns the raw figures (and a data_ref) for your own analysis or to build a chart — pass [data_ref] as data_refs to eval_chart_transform. Does not show the user a table.
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | ||
| filters | No | ||
| decimals | No | ||
| scenarios | No | ||
| statement | No | ||
| dimensions | No | ||
| period_end | No | ||
| period_start | No |
search_hierarchyRead-onlyInspect
Search the dimension hierarchies (cost centres, accounts, …) to find valid codes and ids before composing a query.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| dimension | No |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- Added
eval_chart_transform - Added
export_dataset - Added
get_file_download - Changed
inspect_rows2 fields changed- removed
Input schema / properties / filenameRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Filename" -} - removed
Input schema / properties / sheet_nameRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Sheet Name" -}
- Changed
run_metric5 fields changed- removed
Input schema / properties / filenameRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Filename" -} - removed
Input schema / properties / layoutRemoved value: -{ - "default": "report", - "title": "Layout", - "type": "string" -} - removed
Input schema / properties / overwriteRemoved value: -{ - "default": false, - "title": "Overwrite", - "type": "boolean" -} - removed
Input schema / properties / sheet_nameRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Sheet Name" -} - removed
Input schema / properties / targetRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Target" -}
- Changed
run_metric_data5 fields changed- removed
Input schema / properties / filenameRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Filename" -} - removed
Input schema / properties / layoutRemoved value: -{ - "default": "report", - "title": "Layout", - "type": "string" -} - removed
Input schema / properties / overwriteRemoved value: -{ - "default": false, - "title": "Overwrite", - "type": "boolean" -} - removed
Input schema / properties / sheet_nameRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Sheet Name" -} - removed
Input schema / properties / targetRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Target" -}
- Changed
run_statement5 fields changed- removed
Input schema / properties / filenameRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Filename" -} - removed
Input schema / properties / layoutRemoved value: -{ - "default": "report", - "title": "Layout", - "type": "string" -} - removed
Input schema / properties / overwriteRemoved value: -{ - "default": false, - "title": "Overwrite", - "type": "boolean" -} - removed
Input schema / properties / sheet_nameRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Sheet Name" -} - removed
Input schema / properties / targetRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Target" -}
- Changed
run_statement_data5 fields changed- removed
Input schema / properties / filenameRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Filename" -} - removed
Input schema / properties / layoutRemoved value: -{ - "default": "report", - "title": "Layout", - "type": "string" -} - removed
Input schema / properties / overwriteRemoved value: -{ - "default": false, - "title": "Overwrite", - "type": "boolean" -} - removed
Input schema / properties / sheet_nameRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Sheet Name" -} - removed
Input schema / properties / targetRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Target" -}
17 tool updates
- First observed
get_binding - First observed
get_inspection_schema - First observed
get_load_status - First observed
inspect_rows - First observed
list_bindings - First observed
list_dimensions - First observed
list_inspection_sources - First observed
list_kpis - First observed
list_load_history - First observed
list_scenarios - First observed
list_variants - First observed
precis_orientation - First observed
run_metric - First observed
run_metric_data - First observed
run_statement - First observed
run_statement_data - First observed
search_hierarchy
Related MCP Connectors
Public MCP digital twin with synthetic systems and an agent firewall. No customer data.
Demo personal-finance MCP App: spending, subscriptions, and net worth as interactive UI.
Read-only educational MCP for CryptoDecentral Sovereign. No auth, trading, custody, or advice.
Unlock the power of real-time financial data with our Finance MCP. Easily retrieve the latest
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceProvides read-only MCP tools for market snapshots, position risk, order reconciliation, and daily report previews with deterministic financial calculations, evidence chains, and audit trails.MIT
- AlicenseNot gradedqualityDmaintenanceHosted MCP server providing read-only access to US public company fundamentals, segment breakdowns, peer comparisons, and earnings data sourced directly from SEC filings.MIT
- FlicenseBqualityCmaintenanceEnables financial data retrieval, company context, market information, financial modelling, and valuation through MCP tools, with a deterministic sample provider for testing before connecting live data sources.15-

SentiSenseofficial
AlicenseNot gradedqualityCmaintenanceHosted, read-only MCP server for US market intelligence: US market mood, per-stock sentiment and the SentiSense Score, sentiment-tagged market-moving news, analyst ratings, and institutional 13F flows.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.