anthropics/financial-services-plugins: Turning Claude Into a Financial Workstation

A plugin, skill, and MCP stack that pushes Claude past chat and into governed financial modeling, deck checking, and audit-ready document generation.

10 min read • View on GitHub • More from anthropics

A wide financial workstation built like a regulated machine, with locked gates, routed data pipes, and a report passing through checkpoints before reaching a briefcase. The image explains that the repo is less about access to tools and more about controlled execution and output governance.
Claude does not just get data access here. It gets fenced into a workflow where formulas, formats, and exports are all checked before anything leaves the system.
Key Takeaways

The surprise in anthropics/financial-services-plugins is not that Claude can reach finance data. It is that the repo keeps asking a sharper question: how do you make an LLM behave like a governed financial operator, with rules that survive contact with Excel, PowerPoint, and audit review?

That is why this project feels more serious than a typical agent demo. Finance is a brutal test case. A model that is almost right is still wrong, and a slide deck with one mismatched number can blow up trust fast. This repo responds by encoding banker habits as software constraints.

build and deploy financial services plugins

Anthropic, Organization · Anthropic Blog

How Anthropic turns finance into a constrained workflow

The repository is organized like a layered operating system. At the top sits the plugin marketplace in .claude-plugin. Beneath that is financial-analysis, the core layer that defines the MCP servers and the modeling skills. Around it sit vertical add-ons for investment banking and equity research, plus partner-built integrations and a separate claude-in-office path for Microsoft 365 deployment.

The stack is not one tool. It is a routed system that chooses the right runtime, pulls in grounded data, then checks the output before it leaves.

Why MCP is the spine of the whole system

The MCP layer is the anti-hallucination move. Instead of letting Claude improvise from memory, the repo wires it to live financial sources through a set of servers spanning market data, filings, pricing, and private-company intelligence. That changes the job of the model from answer generator to orchestrator of verified inputs.

RepoPrimary purposeData groundingOutput controlFinance specificityBest use case
anthropics/financial-services-pluginsGoverned finance workflows for ClaudeMCP servers and finance APIsValidation-heavy, format-awareHighAudit-ready modeling and documents
General LLM pluginsBroad tool accessVaries by pluginUsually lightLowGeneral task extension
LangChain appsBuild custom LLM appsDepends on developer setupDeveloper-definedLow to mediumFlexible orchestration
Traditional finance softwareNative financial workflowsBuilt-in or vendor dataStrong but closedHighProduction finance operations

The point of the comparison is not that the repo is bigger. It is that it is narrower and more opinionated. It cares less about breadth of tools than about whether a finance workflow can be trusted end to end.

The DCF skill is where the repo becomes serious

The DCF package shows the project’s actual discipline. SKILL.md does not read like a casual prompt. It reads like a rulebook. It insists on formulas over hardcodes, live recalculation, and sensitivity tables that keep the base case in the center. The companion validator, validate_dcf.py, checks for both spreadsheet errors and financial logic errors.

def validate_dcf_model(ws):
    errors = []

    if terminal_growth >= wacc:
        errors.append("Terminal growth must be less than WACC")

    if has_formula_errors(ws):
        errors.append("Spreadsheet contains formula errors")

    if not sensitivity_table_has_center_cell(ws):
        errors.append("Sensitivity grid must have a true center base case")

    return errors
A close-up of a DCF grid treated like a mechanical instrument, with a validator arm checking the center cell and a warning line stopping an invalid assumption before it enters the model. The image explains how the repo turns valuation logic into constraints instead of letting the model freehand the math.
The repo’s strongest idea is not calculation. It is prevention. Bad valuation logic gets caught before it can become a deliverable.

That is the most important distinction in the whole repo. The model is not trusted to be right by default. It is forced to prove itself through checks that mirror how analysts actually work.

The hidden rulebook: environment-aware execution

One of the smartest design choices in the codebase is the split between JavaScript and Python. If Claude is inside a live Excel session, it uses JavaScript and Office tooling. If it is generating or validating files headlessly, it uses Python. That seems small until you realize it keeps the system aligned with the runtime instead of pretending one language fits every context.

That is a subtle but important form of governance. It avoids awkward tool misuse, keeps the workflow deterministic, and makes the output path visible. In finance, that matters as much as model quality.

The junior-analyst chores this automates

If you have ever reconciled a pitch deck, you know the pain. Slide 5 says one number. Slide 12 says another. Somewhere in the appendix, a percentage is off by a few basis points. The repo’s deck tooling, including extract_numbers.py, attacks exactly that job by parsing numbers from markdown-style deck content and checking consistency across the document.

TaskManual analyst workflowRepo workflow
Deck number reconciliationRead every slide and hunt for mismatchesParse all numeric claims and compare them automatically
Model checkingSpot-check formulas and scan for broken linksValidate formulas, errors, and impossible assumptions
File generationRebuild decks and workbooks by handGenerate structured outputs with enforcement rules
Tie-outsCross-reference tables manuallyFlag inconsistent figures before export

This is where the repo starts to feel less like a demo and more like labor automation. It does not replace the analyst’s judgment. It removes the repetitive policing that sits around the judgment.

Why this is not just another agent framework

Generic agent stacks optimize for flexibility. This repo optimizes for workflow fidelity. The target is not any task with a tool attached. The target is a finance deliverable that can survive review, revision, and audit scrutiny. That difference explains why the stack is built around grounded data, live formulas, and validation gates instead of open-ended autonomy.

DimensionFinancial-services-pluginsGeneric agent frameworkTraditional finance tooling
Primary goalGoverned finance outputBroad task orchestrationNarrow domain workflows
Data accessMCP-grounded and source-drivenUsually developer-definedBuilt into the product
ValidationExplicit and finance-specificOptionalStrong but not LLM-aware
Output styleWorkbook, deck, memoAny artifactUsually bounded formats
Best strengthTrustworthy executionBreadth and flexibilityEstablished control

That is the deeper takeaway. The future of enterprise AI is not only about better answers. It is about runtime rules that make output trustworthy enough to use.

What this project implies about the future of enterprise AI

The next useful enterprise systems will probably look less like chatbots and more like governed workstations. They will pull data from approved sources, enforce business logic, preserve formatting, and refuse to ship broken output. This repo is valuable because it shows that pattern in a domain where the cost of being sloppy is immediately visible.