Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Description from the maker (original English)
MCP server for Ghostfolio portfolio management and financial data access
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
GHOSTFOLIO_URL, GHOSTFOLIO_TOKEN, GHOSTFOLIO_VERIFY_SSL, GHOSTFOLIO_TIMEOUT, READ_ONLY_MODE, GHOSTFOLIO_DISABLED_TAGS, LOG_LEVEL, RATE_LIMIT_ENABLED, RATE_LIMIT_MAX_REQUESTS, RATE_LIMIT_WINDOW_MINUTES, TOOL_SEARCH_ENABLED, TOOL_SEARCH_STRATEGY, TOOL_SEARCH_MAX_RESULTSValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"ghostfolio": {
"command": "uvx",
"args": [
"ghostfolio-mcp"
],
"env": {
"GHOSTFOLIO_URL": "your-value",
"GHOSTFOLIO_TOKEN": "your-value",
"GHOSTFOLIO_VERIFY_SSL": "your-value",
"GHOSTFOLIO_TIMEOUT": "your-value",
"READ_ONLY_MODE": "your-value",
"GHOSTFOLIO_DISABLED_TAGS": "your-value",
"LOG_LEVEL": "your-value",
"RATE_LIMIT_ENABLED": "your-value",
"RATE_LIMIT_MAX_REQUESTS": "your-value",
"RATE_LIMIT_WINDOW_MINUTES": "your-value",
"TOOL_SEARCH_ENABLED": "your-value",
"TOOL_SEARCH_STRATEGY": "your-value",
"TOOL_SEARCH_MAX_RESULTS": "your-value"
}
}
}
}Run this in your terminal
claude mcp add ghostfolio --env GHOSTFOLIO_URL=your-value --env GHOSTFOLIO_TOKEN=your-value --env GHOSTFOLIO_VERIFY_SSL=your-value --env GHOSTFOLIO_TIMEOUT=your-value --env READ_ONLY_MODE=your-value --env GHOSTFOLIO_DISABLED_TAGS=your-value --env LOG_LEVEL=your-value --env RATE_LIMIT_ENABLED=your-value --env RATE_LIMIT_MAX_REQUESTS=your-value --env RATE_LIMIT_WINDOW_MINUTES=your-value --env TOOL_SEARCH_ENABLED=your-value --env TOOL_SEARCH_STRATEGY=your-value --env TOOL_SEARCH_MAX_RESULTS=your-value -- uvx ghostfolio-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"ghostfolio": {
"command": "uvx",
"args": [
"ghostfolio-mcp"
],
"env": {
"GHOSTFOLIO_URL": "your-value",
"GHOSTFOLIO_TOKEN": "your-value",
"GHOSTFOLIO_VERIFY_SSL": "your-value",
"GHOSTFOLIO_TIMEOUT": "your-value",
"READ_ONLY_MODE": "your-value",
"GHOSTFOLIO_DISABLED_TAGS": "your-value",
"LOG_LEVEL": "your-value",
"RATE_LIMIT_ENABLED": "your-value",
"RATE_LIMIT_MAX_REQUESTS": "your-value",
"RATE_LIMIT_WINDOW_MINUTES": "your-value",
"TOOL_SEARCH_ENABLED": "your-value",
"TOOL_SEARCH_STRATEGY": "your-value",
"TOOL_SEARCH_MAX_RESULTS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"ghostfolio": {
"type": "stdio",
"command": "uvx",
"args": [
"ghostfolio-mcp"
],
"env": {
"GHOSTFOLIO_URL": "your-value",
"GHOSTFOLIO_TOKEN": "your-value",
"GHOSTFOLIO_VERIFY_SSL": "your-value",
"GHOSTFOLIO_TIMEOUT": "your-value",
"READ_ONLY_MODE": "your-value",
"GHOSTFOLIO_DISABLED_TAGS": "your-value",
"LOG_LEVEL": "your-value",
"RATE_LIMIT_ENABLED": "your-value",
"RATE_LIMIT_MAX_REQUESTS": "your-value",
"RATE_LIMIT_WINDOW_MINUTES": "your-value",
"TOOL_SEARCH_ENABLED": "your-value",
"TOOL_SEARCH_STRATEGY": "your-value",
"TOOL_SEARCH_MAX_RESULTS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
GHOSTFOLIO_VERIFY_SSL envGHOSTFOLIO_TIMEOUT envREAD_ONLY_MODE envGHOSTFOLIO_DISABLED_TAGS envLOG_LEVEL envRATE_LIMIT_ENABLED envRATE_LIMIT_MAX_REQUESTS envRATE_LIMIT_WINDOW_MINUTES envTOOL_SEARCH_ENABLED envTOOL_SEARCH_STRATEGY envTOOL_SEARCH_MAX_RESULTS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account mhajder, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: GHOSTFOLIO_URL, GHOSTFOLIO_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.8.1) reached the registry 14 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv), Docker on your computer.
In the same category: Finance Toolkit, SolidInvoice, Korea Tax Calculator
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Let AI agents analyze and manage your Ghostfolio investment portfolio
Installation · Tools · Configuration · Security
Ghostfolio MCP Server is a Python-based Model Context Protocol (MCP) server designed to provide advanced, programmable access to Ghostfolio portfolio management and financial data. It exposes a modern API for querying, analyzing, and managing your investment portfolio through Ghostfolio's comprehensive features. The server supports both read and write operations, robust security features, and is suitable for integration with automation tools, financial dashboards, and custom portfolio management applications.
The easiest way to get started is to install from PyPI:
# Using UV (recommended)
uvx ghostfolio-mcp
pip install ghostfolio-mcp
Remember to configure the environment variables for your Ghostfolio instance before running the server:
# Create environment configuration
export GHOSTFOLIO_URL=https://domain.tld:3333 export GHOSTFOLIO_TOKEN=your-ghostfolio-token
For more details, visit: https://pypi.org/project/ghostfolio-mcp/
git clone https://github.com/mhajder/ghostfolio-mcp.git
cd ghostfolio-mcp
# Using UV (recommended)
uv sync
pip install -e .
cp .env.example .env
# Using UV (recommended)
uv run ghostfolio-mcp
ghostfolio-mcp
For development with additional tools:
# Clone and install with development dependencies
git clone https://github.com/mhajder/ghostfolio-mcp.git cd ghostfolio-mcp uv sync --group dev
uv run pytest
uv run pytest --cov=src/
uv run ruff check . uv run ruff format .
uv run ty check .
uv run prek install
A blank or whitespace-only value counts as unset and uses the default. Boolean settings accept true/false, 1/0, yes/no and on/off (any case). Any other value stops the server at startup, so a typo cannot silently turn read-only mode or TLS verification off.
# Ghostfolio Connection Details
GHOSTFOLIO_URL=https://domain.tld:3333 GHOSTFOLIO_TOKEN=your-ghostfolio-token
GHOSTFOLIO_VERIFY_SSL=true GHOSTFOLIO_TIMEOUT=30
READ_ONLY_MODE=false
GHOSTFOLIO_DISABLED_TAGS=
LOG_LEVEL=INFO
RATE_LIMIT_ENABLED=false RATE_LIMIT_MAX_REQUESTS=60 RATE_LIMIT_WINDOW_MINUTES=1
TOOL_SEARCH_ENABLED=false
TOOL_SEARCH_STRATEGY=bm25
TOOL_SEARCH_MAX_RESULTS=5
MCP_TRANSPORT=stdio
The server optionally supports Sentry for error tracking, performance monitoring, and debugging. Sentry integration is completely optional and only initialized if configured.
To enable Sentry monitoring, install the optional dependency:
# Using UV (recommended)
uv sync --extra sentry
Enable Sentry by setting the SENTRY_DSN environment variable in your .env file:
# Required: Sentry DSN for your project
SENTRY_DSN=https://your-key@o12345.ingest.us.sentry.io/6789
SENTRY_TRACES_SAMPLE_RATE=1.0
SENTRY_SEND_DEFAULT_PII=false
SENTRY_ENVIRONMENT=production
SENTRY_RELEASE=1.2.2
SENTRY_PROFILE_SESSION_SAMPLE_RATE=1.0
SENTRY_PROFILE_LIFECYCLE=trace
SENTRY_ENABLE_LOGS=true
When enabled, Sentry automatically captures:
.env fileSentry is completely optional. If you don't set SENTRY_DSN, the server will run normally without any Sentry integration, and no monitoring data will be collected.
get_accounts: Get all accounts in your portfolio including account types and balancesget_account_balances: Get account balances for a specific accountcreate_account: Create a new account in your portfoliodelete_account: Delete an existing account from your portfolio (destructive operation)get_account_details: Get details for a specific accountupdate_account: Update settings or details of an existing accounttransfer_account_balance: Transfer cash balances between two accountscreate_account_balance: Set an account's balance for a specific date in its balance history (defaults to today)delete_account_balance: Delete a single entry from an account's balance historyget_portfolio_performance: Get portfolio performance data including returns, benchmarks, and performance metricsget_portfolio_holdings: Get portfolio holdings and positions including allocations and asset breakdownsget_portfolio_details: Get comprehensive portfolio details including accounts, positions, and summaryget_position: Get position details for a specific symbol from a data sourceget_investments: Get investment data grouped by time period showing cash flows and contributionsget_dividends: Get dividend data grouped by time period showing dividend payments and yieldget_orders: Get all activities/orders from your portfolio, optionally filtered by accountcreate_activity: Create a single new transaction/activity in your portfolio (BUY, SELL, DIVIDEND, INTEREST, FEE, etc.), optionally with tagsupdate_activity: Update an existing activity/transaction, including its tags; fields you don't pass keep their current valuesdelete_activity: Delete a single activity/transaction by its ID (destructive operation)get_benchmarks: Get all configured benchmarksOnly the beginning is shown; read the rest in the repo