Skip to main content

finpy-mcp

Finpy MCP Server — Manage cap tables, deals, holdings, and financials through AI conversation.

Connect your favorite AI tool (Claude Desktop, Cursor, VS Code, Claude Code) to the Finpy platform and work with your financial data through natural language.

Features

  • 76 asset management tools plus 14 Factor Markets tools (90 total)
  • Cap table management — stakeholders, funding rounds, securities, transactions
  • Deal flow — create deals, express interest, execute fundraising rounds
  • Portfolio tracking — holdings, valuations, performance metrics (IRR, MOIC, TVPI)
  • Financial reporting — income statements, balance sheets, cash flow statements
  • Secure — OAuth device flow login, credentials stored locally, no passwords sent to AI

Quick Start

1. Install

pip install finpy-mcp

Or with uv:

# Install uv (if not already installed)
brew install uv

# Add uv tools to PATH (one-time setup)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

# Install finpy-mcp
uv tool install finpy-mcp

Already installed? Update:

pip install --upgrade finpy-mcp
# or
uv tool upgrade finpy-mcp

2. Login

finpy-cli login

Opens your browser automatically. Sign in on the Finpy web app, then return to your terminal.

3. Configure your AI client

Claude Desktop — Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "finpy": {
      "command": "finpy-mcp"
    }
  }
}

Cursor — Edit .cursor/mcp.json:

{
  "mcpServers": {
    "finpy": {
      "command": "finpy-mcp"
    }
  }
}

Claude Code:

claude mcp add finpy -- finpy-mcp

Restart your AI client after configuring.

4. Start talking

Open a new conversation and say:

  • "List my entities"
  • "Show me the cap table for Nexotype"
  • "Create a stakeholder John Doe as limited partner with 8% preferred return"
  • "Create an income statement for 2026 with $1M revenue"

Available Tools (89)

Asset Manager tools are stateless: discover IDs with list_organizations() / list_entities(), then pass entity_id (and organization_id for create_entity) explicitly to each tool. There is no set_context — scope is an argument on every call. Every write tool also accepts an optional organization_id, the organization you are acting as: pass it when you belong to more than one, since a shared entity can grant you a different role per organization. For the full per model capability map (which operations are exposed, and why some are web only), see documentation/capability-matrix.md.

Category Tools
Context list_organizations, list_entities, get_entity_details
Entity create_entity, update_entity
Cap Table list_stakeholders, create_stakeholder, update_stakeholder, list_funding_rounds, create_funding_round, list_securities, create_security, list_transactions, create_transaction, reverse_transaction, get_cap_table, list_commitments, list_positions, list_distributions
Deals list_deals, create_deal, update_deal, update_deal_status, list_deal_commitments, express_interest, execute_deal
Holdings list_holdings, create_holding, update_holding, list_valuations, create_valuation, update_valuation, delete_valuation, list_holding_cash_flows, create_holding_cash_flow, reverse_holding_cash_flow, list_deal_pipeline, create_pipeline_entry, update_pipeline_entry, delete_pipeline_entry, get_entity_performance, get_holdings_performance, get_stakeholder_returns
Financials create_income_statement, update_income_statement, delete_income_statement, create_balance_sheet, update_balance_sheet, delete_balance_sheet, create_cash_flow_statement, update_cash_flow_statement, delete_cash_flow_statement, create_financial_metrics, update_financial_metrics, delete_financial_metrics, list_kpis, create_kpi, update_kpi, list_kpi_values, create_kpi_value, update_kpi_value, delete_kpi_value
Fees list_fees, create_fee, update_fee, delete_fee
Audit list_audit_trail, list_entity_audit_trail
Factor Markets list_factormarkets_valuations, get_factormarkets_valuation, list_factormarkets_income_statements, list_factormarkets_balance_sheets, list_factormarkets_cash_flow_statements, list_backtest_results, list_backtest_vintages, and 7 more backtest tools

CLI Commands

finpy-cli login          # Login via browser (OAuth device flow)
finpy-cli login --basic  # Login with email/password (headless fallback)
finpy-cli logout         # Delete stored credentials
finpy-cli status         # Show auth status

Security

  • Passwords never reach the AI — login happens in your browser
  • Credentials stored locally in ~/.finpy/credentials.json (chmod 600)
  • Automatic token refresh on expiry
  • Delete is a soft delete only: the row is kept and can be restored from the web Trash page. MCP exposes delete on 8 leaf records without side effects (destructiveHint set); ledgers are reversed, never deleted. See documentation/capability-matrix.md.
  • All API validations, permissions, and audit logging apply

Requirements

  • Python 3.12+
  • A Finpy account

Metadata

Release files for finpy-mcp 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for finpy-mcp 0.8.0
File Size Uploaded
finpy_mcp-0.8.0.tar.gz 45.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for finpy-mcp 0.8.0
File Interpreter ABI Platform
finpy_mcp-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 105.1 kB

Release files / finpy_mcp-0.8.0.tar.gz

Download URL finpy_mcp-0.8.0.tar.gz
Size 45.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8a2f49f5e5a654570af216d24947cae29e34d913e9594ac73ac09e1547949abf
BLAKE2b-256 checksum
How to use checksums
1edc84c1745f4431cef92cae3e4f0f5f791809e429563d3aab085b34c1e1f03e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / finpy_mcp-0.8.0-py3-none-any.whl

Download URL finpy_mcp-0.8.0-py3-none-any.whl
Size 59.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09076ba26c4237c648cf7aa5652651e0db36e7a3801cf2683e6bd7305688cd53
BLAKE2b-256 checksum
How to use checksums
09b4e5be828e33dfbd04afbe75ee9dc0bd9e0a0faaae7b105b0e330849c01d33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

This release

0.8.0 This release

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page