CCXT
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
Actual Budget, carefully: deletes preview first, and new transactions check for duplicates.
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます · ✓ コマンド確認済み 2026年11月14日
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
Actual Budget のキーが必要です(提供元のサイトで作成) · 設定を 2 項目入力 (ACTUAL_SERVER_URL, ACTUAL_BUDGET_ID) · 先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
これはプログラムの設定でキーではありません。登録は不要で、作者の説明どおりに入力します。
ACTUAL_SERVER_URL URL of your Actual Budget server, for example http://localhost:5006ACTUAL_BUDGET_ID Your budget's Sync ID, found under Settings > Show advanced settings説明は英語の原文のままです。
SettingsDeveloperEdit Config
{
"mcpServers": {
"actual-budget": {
"command": "npx",
"args": [
"-y",
"actual-budget-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "your-value",
"ACTUAL_SESSION_TOKEN": "your-value",
"ACTUAL_BUDGET_ID": "your-value",
"ACTUAL_ENCRYPTION_PASSWORD": "your-value",
"ACTUAL_ENCRYPTION_PASSWORDS": "your-value",
"ACTUAL_HTTP_TOKEN": "your-value",
"ACTUAL_HTTP_WRITE_TOKEN": "your-value"
}
}
}
}キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Actual Budget を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が Actual Budget を使っていると言うか、回答に Actual Budget のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
ACTUAL_PASSWORD Actual Budget サーバーのパスワード。ACTUAL_SESSION_TOKEN を設定している場合は不要です。 ACTUAL_BUDGET_IDS このサーバーが提供するすべての予算を、複数ある場合はカンマ区切りで指定します。各ツールは budget_id を受け取り、各予算は独自のプロセスで開かれます。 ACTUAL_BUDGET_WORKERS 同時に開いておく予算の数。デフォルトは 3 です。4 つ目の予算が開かれると、最も長く呼び出されていないものが閉じられます。 ACTUAL_WORKER_IDLE_MINUTES 未処理の作業がないまま開いた予算が開いた状態を保つ時間。既定値は 15 です。 ACTUAL_WORKER_READY_SECONDS まだ開いている途中の予算を呼び出しが待つ時間。その後、まだ開いている途中であると応答します。既定値は 45 です。 ACTUAL_READ_ONLY 1 に設定すると、すべての書き込みツールをモデルから隠し、読み取りと分析のツールのみを公開します。 ACTUAL_TOOLSET chat に設定すると、44 個すべてではなく 18 個の一般的なツールを提供します。これにより、接続ごとのツール説明は 39.7 KiB ではなく 17.4 KiB になります。既定値は full です。 ACTUAL_DATA_DIR ローカル予算キャッシュ用のディレクトリ ACTUAL_HTTP_TIMEOUT_MS サーバーが応答を開始するまで待つ時間(ミリ秒)。既定値は 60000 です。GoCardless の銀行同期が途中で切断される場合は、この値を大きくしてください。 ACTUAL_HTTP_PORT stdio の代わりにこのポートで HTTP 経由の MCP を提供します。自分で実行し、クライアントをそこに向けるサーバーでのみ使用してください。このパッケージを自分で起動するクライアントは stdio を使用するため、これを設定すると接続できなくなります。 ACTUAL_HTTP_HOST バインドするアドレス。既定値は 127.0.0.1 ですが、コンテナ内からは到達できないため、0.0.0.0 を ACTUAL_HTTP_ALLOW_REMOTE と併用します。 ACTUAL_HTTP_ALLOW_REMOTE 1 に設定すると、ループバック以外のアドレスにバインドします。ここでは TLS を終端しないため、前段に TLS を処理するものを配置してください。 ACTUAL_HTTP_ALLOWED_HOSTS Host ヘッダーで受け入れるホスト名(カンマ区切り、ポートなし)。loopback 以外にあるサーバー向けです。それ以外は 403 で応答されます。 説明は自動翻訳です。変数名は原文のままです。迷ったら原文を確認してください。
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ Actual Budget につなげません
Actual Budget はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
A · Actual Budget につなげるアプリを使う
B · 会計・財務・税務 の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
Claude Code につなげますが、先に準備が必要です
Actual Budget のキーが必要です(提供元のサイトで作成) · 設定を 2 項目入力 (ACTUAL_SERVER_URL, ACTUAL_BUDGET_ID) · 先にパソコンへ Node.js を入れてください(1 回だけ)
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
これはプログラムの設定でキーではありません。登録は不要で、作者の説明どおりに入力します。
ACTUAL_SERVER_URL URL of your Actual Budget server, for example http://localhost:5006ACTUAL_BUDGET_ID Your budget's Sync ID, found under Settings > Show advanced settings説明は英語の原文のままです。
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
claude mcp add --scope user actual-budget --env ACTUAL_SERVER_URL=your-value --env ACTUAL_SESSION_TOKEN=your-value --env ACTUAL_BUDGET_ID=your-value --env ACTUAL_ENCRYPTION_PASSWORD=your-value --env ACTUAL_ENCRYPTION_PASSWORDS=your-value --env ACTUAL_HTTP_TOKEN=your-value --env ACTUAL_HTTP_WRITE_TOKEN=your-value -- npx -y actual-budget-mcpEnter の前に「your-value」を自分のキーに書き換えてください
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Actual Budget が一覧にあり、接続済みと表示されれば OK です
Actual Budget を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が Actual Budget を使っていると言うか、回答に Actual Budget のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
ACTUAL_PASSWORD Actual Budget サーバーのパスワード。ACTUAL_SESSION_TOKEN を設定している場合は不要です。 ACTUAL_BUDGET_IDS このサーバーが提供するすべての予算を、複数ある場合はカンマ区切りで指定します。各ツールは budget_id を受け取り、各予算は独自のプロセスで開かれます。 ACTUAL_BUDGET_WORKERS 同時に開いておく予算の数。デフォルトは 3 です。4 つ目の予算が開かれると、最も長く呼び出されていないものが閉じられます。 ACTUAL_WORKER_IDLE_MINUTES 未処理の作業がないまま開いた予算が開いた状態を保つ時間。既定値は 15 です。 ACTUAL_WORKER_READY_SECONDS まだ開いている途中の予算を呼び出しが待つ時間。その後、まだ開いている途中であると応答します。既定値は 45 です。 ACTUAL_READ_ONLY 1 に設定すると、すべての書き込みツールをモデルから隠し、読み取りと分析のツールのみを公開します。 ACTUAL_TOOLSET chat に設定すると、44 個すべてではなく 18 個の一般的なツールを提供します。これにより、接続ごとのツール説明は 39.7 KiB ではなく 17.4 KiB になります。既定値は full です。 ACTUAL_DATA_DIR ローカル予算キャッシュ用のディレクトリ ACTUAL_HTTP_TIMEOUT_MS サーバーが応答を開始するまで待つ時間(ミリ秒)。既定値は 60000 です。GoCardless の銀行同期が途中で切断される場合は、この値を大きくしてください。 ACTUAL_HTTP_PORT stdio の代わりにこのポートで HTTP 経由の MCP を提供します。自分で実行し、クライアントをそこに向けるサーバーでのみ使用してください。このパッケージを自分で起動するクライアントは stdio を使用するため、これを設定すると接続できなくなります。 ACTUAL_HTTP_HOST バインドするアドレス。既定値は 127.0.0.1 ですが、コンテナ内からは到達できないため、0.0.0.0 を ACTUAL_HTTP_ALLOW_REMOTE と併用します。 ACTUAL_HTTP_ALLOW_REMOTE 1 に設定すると、ループバック以外のアドレスにバインドします。ここでは TLS を終端しないため、前段に TLS を処理するものを配置してください。 ACTUAL_HTTP_ALLOWED_HOSTS Host ヘッダーで受け入れるホスト名(カンマ区切り、ポートなし)。loopback 以外にあるサーバー向けです。それ以外は 403 で応答されます。 説明は自動翻訳です。変数名は原文のままです。迷ったら原文を確認してください。
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
Actual Budget のキーが必要です(提供元のサイトで作成) · 設定を 2 項目入力 (ACTUAL_SERVER_URL, ACTUAL_BUDGET_ID) · 先にパソコンへ Node.js を入れてください(1 回だけ)
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
これはプログラムの設定でキーではありません。登録は不要で、作者の説明どおりに入力します。
ACTUAL_SERVER_URL URL of your Actual Budget server, for example http://localhost:5006ACTUAL_BUDGET_ID Your budget's Sync ID, found under Settings > Show advanced settings説明は英語の原文のままです。
Actual Budget の設定で ACTUAL_SESSION_TOKEN, ACTUAL_ENCRYPTION_PASSWORD, ACTUAL_ENCRYPTION_PASSWORDS, ACTUAL_HTTP_TOKEN, ACTUAL_HTTP_WRITE_TOKEN, ACTUAL_SERVER_URL, ACTUAL_BUDGET_ID が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Actual Budget を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が Actual Budget を使っていると言うか、回答に Actual Budget のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
ACTUAL_PASSWORD Actual Budget サーバーのパスワード。ACTUAL_SESSION_TOKEN を設定している場合は不要です。 ACTUAL_BUDGET_IDS このサーバーが提供するすべての予算を、複数ある場合はカンマ区切りで指定します。各ツールは budget_id を受け取り、各予算は独自のプロセスで開かれます。 ACTUAL_BUDGET_WORKERS 同時に開いておく予算の数。デフォルトは 3 です。4 つ目の予算が開かれると、最も長く呼び出されていないものが閉じられます。 ACTUAL_WORKER_IDLE_MINUTES 未処理の作業がないまま開いた予算が開いた状態を保つ時間。既定値は 15 です。 ACTUAL_WORKER_READY_SECONDS まだ開いている途中の予算を呼び出しが待つ時間。その後、まだ開いている途中であると応答します。既定値は 45 です。 ACTUAL_READ_ONLY 1 に設定すると、すべての書き込みツールをモデルから隠し、読み取りと分析のツールのみを公開します。 ACTUAL_TOOLSET chat に設定すると、44 個すべてではなく 18 個の一般的なツールを提供します。これにより、接続ごとのツール説明は 39.7 KiB ではなく 17.4 KiB になります。既定値は full です。 ACTUAL_DATA_DIR ローカル予算キャッシュ用のディレクトリ ACTUAL_HTTP_TIMEOUT_MS サーバーが応答を開始するまで待つ時間(ミリ秒)。既定値は 60000 です。GoCardless の銀行同期が途中で切断される場合は、この値を大きくしてください。 ACTUAL_HTTP_PORT stdio の代わりにこのポートで HTTP 経由の MCP を提供します。自分で実行し、クライアントをそこに向けるサーバーでのみ使用してください。このパッケージを自分で起動するクライアントは stdio を使用するため、これを設定すると接続できなくなります。 ACTUAL_HTTP_HOST バインドするアドレス。既定値は 127.0.0.1 ですが、コンテナ内からは到達できないため、0.0.0.0 を ACTUAL_HTTP_ALLOW_REMOTE と併用します。 ACTUAL_HTTP_ALLOW_REMOTE 1 に設定すると、ループバック以外のアドレスにバインドします。ここでは TLS を終端しないため、前段に TLS を処理するものを配置してください。 ACTUAL_HTTP_ALLOWED_HOSTS Host ヘッダーで受け入れるホスト名(カンマ区切り、ポートなし)。loopback 以外にあるサーバー向けです。それ以外は 403 で応答されます。 説明は自動翻訳です。変数名は原文のままです。迷ったら原文を確認してください。
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
Actual Budget のキーが必要です(提供元のサイトで作成) · 設定を 2 項目入力 (ACTUAL_SERVER_URL, ACTUAL_BUDGET_ID) · 先にパソコンへ Node.js を入れてください(1 回だけ)
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
これはプログラムの設定でキーではありません。登録は不要で、作者の説明どおりに入力します。
ACTUAL_SERVER_URL URL of your Actual Budget server, for example http://localhost:5006ACTUAL_BUDGET_ID Your budget's Sync ID, found under Settings > Show advanced settings説明は英語の原文のままです。
Actual Budget の設定で ACTUAL_SESSION_TOKEN, ACTUAL_ENCRYPTION_PASSWORD, ACTUAL_ENCRYPTION_PASSWORDS, ACTUAL_HTTP_TOKEN, ACTUAL_HTTP_WRITE_TOKEN, ACTUAL_SERVER_URL, ACTUAL_BUDGET_ID が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Actual Budget を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が Actual Budget を使っていると言うか、回答に Actual Budget のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
ACTUAL_PASSWORD Actual Budget サーバーのパスワード。ACTUAL_SESSION_TOKEN を設定している場合は不要です。 ACTUAL_BUDGET_IDS このサーバーが提供するすべての予算を、複数ある場合はカンマ区切りで指定します。各ツールは budget_id を受け取り、各予算は独自のプロセスで開かれます。 ACTUAL_BUDGET_WORKERS 同時に開いておく予算の数。デフォルトは 3 です。4 つ目の予算が開かれると、最も長く呼び出されていないものが閉じられます。 ACTUAL_WORKER_IDLE_MINUTES 未処理の作業がないまま開いた予算が開いた状態を保つ時間。既定値は 15 です。 ACTUAL_WORKER_READY_SECONDS まだ開いている途中の予算を呼び出しが待つ時間。その後、まだ開いている途中であると応答します。既定値は 45 です。 ACTUAL_READ_ONLY 1 に設定すると、すべての書き込みツールをモデルから隠し、読み取りと分析のツールのみを公開します。 ACTUAL_TOOLSET chat に設定すると、44 個すべてではなく 18 個の一般的なツールを提供します。これにより、接続ごとのツール説明は 39.7 KiB ではなく 17.4 KiB になります。既定値は full です。 ACTUAL_DATA_DIR ローカル予算キャッシュ用のディレクトリ ACTUAL_HTTP_TIMEOUT_MS サーバーが応答を開始するまで待つ時間(ミリ秒)。既定値は 60000 です。GoCardless の銀行同期が途中で切断される場合は、この値を大きくしてください。 ACTUAL_HTTP_PORT stdio の代わりにこのポートで HTTP 経由の MCP を提供します。自分で実行し、クライアントをそこに向けるサーバーでのみ使用してください。このパッケージを自分で起動するクライアントは stdio を使用するため、これを設定すると接続できなくなります。 ACTUAL_HTTP_HOST バインドするアドレス。既定値は 127.0.0.1 ですが、コンテナ内からは到達できないため、0.0.0.0 を ACTUAL_HTTP_ALLOW_REMOTE と併用します。 ACTUAL_HTTP_ALLOW_REMOTE 1 に設定すると、ループバック以外のアドレスにバインドします。ここでは TLS を終端しないため、前段に TLS を処理するものを配置してください。 ACTUAL_HTTP_ALLOWED_HOSTS Host ヘッダーで受け入れるホスト名(カンマ区切り、ポートなし)。loopback 以外にあるサーバー向けです。それ以外は 403 で応答されます。 説明は自動翻訳です。変数名は原文のままです。迷ったら原文を確認してください。
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください
JSON 設定は下の「開発者向け」にあります
Claude Code
claude mcp add --scope user actual-budget --env ACTUAL_SERVER_URL=your-value --env ACTUAL_SESSION_TOKEN=your-value --env ACTUAL_BUDGET_ID=your-value --env ACTUAL_ENCRYPTION_PASSWORD=your-value --env ACTUAL_ENCRYPTION_PASSWORDS=your-value --env ACTUAL_HTTP_TOKEN=your-value --env ACTUAL_HTTP_WRITE_TOKEN=your-value -- npx -y actual-budget-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"actual-budget": {
"command": "npx",
"args": [
"-y",
"actual-budget-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "your-value",
"ACTUAL_SESSION_TOKEN": "your-value",
"ACTUAL_BUDGET_ID": "your-value",
"ACTUAL_ENCRYPTION_PASSWORD": "your-value",
"ACTUAL_ENCRYPTION_PASSWORDS": "your-value",
"ACTUAL_HTTP_TOKEN": "your-value",
"ACTUAL_HTTP_WRITE_TOKEN": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"actual-budget": {
"command": "npx",
"args": [
"-y",
"actual-budget-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "your-value",
"ACTUAL_SESSION_TOKEN": "your-value",
"ACTUAL_BUDGET_ID": "your-value",
"ACTUAL_ENCRYPTION_PASSWORD": "your-value",
"ACTUAL_ENCRYPTION_PASSWORDS": "your-value",
"ACTUAL_HTTP_TOKEN": "your-value",
"ACTUAL_HTTP_WRITE_TOKEN": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"actual-budget": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"actual-budget-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "your-value",
"ACTUAL_SESSION_TOKEN": "your-value",
"ACTUAL_BUDGET_ID": "your-value",
"ACTUAL_ENCRYPTION_PASSWORD": "your-value",
"ACTUAL_ENCRYPTION_PASSWORDS": "your-value",
"ACTUAL_HTTP_TOKEN": "your-value",
"ACTUAL_HTTP_WRITE_TOKEN": "your-value"
}
}
}
}ACTUAL_SERVER_URL 必須 envACTUAL_PASSWORD 秘密 envACTUAL_SESSION_TOKEN 秘密 必須 envACTUAL_BUDGET_ID 必須 envACTUAL_ENCRYPTION_PASSWORD 秘密 必須 envACTUAL_BUDGET_IDS envACTUAL_ENCRYPTION_PASSWORDS 秘密 必須 envACTUAL_BUDGET_WORKERS envACTUAL_WORKER_IDLE_MINUTES envACTUAL_WORKER_READY_SECONDS envACTUAL_READ_ONLY envACTUAL_TOOLSET envACTUAL_DATA_DIR envACTUAL_HTTP_TIMEOUT_MS envACTUAL_HTTP_PORT envACTUAL_HTTP_TOKEN 秘密 必須 envACTUAL_HTTP_WRITE_TOKEN 秘密 必須 envACTUAL_HTTP_HOST envACTUAL_HTTP_ALLOW_REMOTE envACTUAL_HTTP_ALLOWED_HOSTS env説明は自動翻訳です。変数名は原文のままです。迷ったら原文を確認してください。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月14日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント henfrydls で確認済みです
コードの最終更新:3 日前
MITを使用
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
まだレビューはありません
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ACTUAL_SESSION_TOKEN, ACTUAL_ENCRYPTION_PASSWORD, ACTUAL_ENCRYPTION_PASSWORDS, ACTUAL_HTTP_TOKEN, ACTUAL_HTTP_WRITE_TOKEN
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は3 日前、最新バージョン(0.12.0)がレジストリに届いたのは10 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.js, Dockerも必要です。
同じカテゴリには:CCXT, Finance Toolkit, AKQuant
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Write and backtest trading strategies with AKQuant: API lookup, strategy checks, backtest runs
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Talk to your budget. An MCP server that connects Actual Budget to Claude. Ask where the money went, get real analysis back, and let it write without holding your breath.
Listed in the official Actual Budget community projects.
ACTUAL_READ_ONLY=1 hides the write tools from the model entirely (Safety)repair_sync rebuilds the local sync state when @actual-app/api and your server disagree, the failure that otherwise leaves every tool erroringa1b2c3d4-..., with helpful suggestions if ambiguousYes. This is an MCP server, so it works with any client that speaks MCP, and the model behind that client is the client's business, not this server's. Claude Desktop, Claude Code, Cursor and VS Code are the ones documented below because they are the ones people ask about, but anything that can run an MCP client, including a local setup pointed at Ollama or LM Studio, talks to it the same way.
Your budget data goes to whatever model your client uses. If that matters to you, and for a lot of people running Actual it does, a local model keeps it on your machine.
No. ChatGPT's connectors only accept remote MCP servers: a public HTTPS endpoint speaking SSE or Streamable HTTP. With HTTP mode this server can be one. What we have read says their connectors sign in through OAuth or not at all and cannot send the fixed token header this version takes, and nobody here has tried it. OpenAI does offer a tunnel for local servers, but it is limited to enterprise plans.
Making it work would mean exposing your Actual server to the internet, which is the opposite of what most people running Actual want. Anything that can start a local MCP process works instead: Claude Desktop, Claude Code, Cursor, VS Code, Gemini CLI, or your own setup pointed at a local model.
If what you actually want is OpenAI's model, use Codex, which does run MCP servers locally over stdio. Option 6 is the one command it takes.
On Claude Desktop, the shortest path is the extension: no config file to edit and no command to run. Otherwise, copy this into Claude Code or Claude Desktop:
Install the actual-budget-mcp MCP server from npm (https://github.com/henfrydls/actual-budget-mcp).
Configure it with these credentials:
Claude will configure everything for you.
A packaged Desktop Extension is available: install it and Claude Desktop asks for your server URL, password and Sync ID in its own settings UI, with the password and session token stored in your operating system's keychain rather than a config file you have to edit.
[Download actual-budget-mcp.mcpb](https://github.com/henfrydls/actual-budget-mcp/releases/latest/download/actual-budget-mcp.mcpb), then open Claude Desktop, go to Settings > Extensions, and drag the file onto that screen.
On Windows, dragging is the way in: double-clicking the file opens Windows' "select an app to open this file" dialogue instead, because Claude Desktop does not register the .mcpb file type. Verified on a clean Windows 11 install with Claude Desktop 0.14.10.
The extension carries everything it needs, so the first question you ask is answered straight away rather than after an install you cannot see. It is a large download, once, with a progress bar.
You do not need Node.js installed for this route. Claude Desktop runs the extension on the Node it ships with. Checked by renaming Node out of the way on a Windows 11 machine and asking a question anyway: the server started and answered.
Earlier builds launched the package from npm instead. That made the download small and moved it to the first run, where nothing showed progress: Claude Desktop waited, decided the server was dead and said it could not connect, and the extension started working on its own a few minutes later. The bundle now includes Actual's SQLite binary for every platform it supports. They are N-API binaries, so one per platform serves every Node version, and nothing has to be chosen at startup.
Installing a new version over an old one keeps the settings you filled in, with one exception seen in practice: the saved server password was cleared when a field's title changed between versions. If Claude cannot connect after an update, open the extension's settings and check the password field before looking anywhere else.
claude mcp add actual-budget-mcp -e ACTUAL_SERVER_URL=http://localhost:5006 -e ACTUAL_PASSWORD=your-password -e ACTUAL_BUDGET_ID=your-budget-id -- npx -y actual-budget-mcp
Add this to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": { "actual-budget-mcp": { "command": "npx", "args": ["-y", "actual-budget-mcp"], "env": { "ACTUAL_SERVER_URL": "http://localhost:5006", "ACTUAL_PASSWORD": "your-password", "ACTUAL_BUDGET_ID": "your-budget-sync-id" } } } }
The button installs it with placeholder values. Open Cursor Settings > MCP afterwards and replace the three: your server URL, your password, and your budget's Sync ID. To do it all by hand instead, go to Cursor Settings > MCP > Add new MCP server and add:
{
"mcpServers": { "actual-budget-mcp": { "command": "npx", "args": ["-y", "actual-budget-mcp"], "env": { "ACTUAL_SERVER_URL": "http://localhost:5006", "ACTUAL_PASSWORD": "your-password", "ACTUAL_BUDGET_ID": "your-budget-sync-id" } } } }
Same as above: the button fills in placeholders, and you replace the three values afterwards. By hand, add this to your VS Code settings.json:
{
"mcp": { "servers": { "actual-budget-mcp": { "command": "npx", "args": ["-y", "actual-budget-mcp"], "env": { "ACTUAL_SERVER_URL": "http://localhost:5006", "ACTUAL_PASSWORD": "your-password", "ACTUAL_BUDGET_ID": "your-budget-sync-id" } } } } }
One command, and it writes the entry into ~/.codex/config.toml for you:
codex mcp add actual-budget-mcp \
--env ACTUAL_SERVER_URL=http://localhost:5006 \ --env ACTUAL_PASSWORD=your-password \ --env ACTUAL_BUDGET_ID=your-budget-sync-id \ -- npx -y actual-budget-mcp
Codex has no extension or bundle format, so this one-liner is the shortest route there is. codex mcp list shows it afterwards, and codex mcp remove actual-budget-mcp undoes it.
This is Codex the local agent, the CLI and the IDE extension. Codex in the browser runs on OpenAI's machines and cannot reach an Actual server on your network.
The image speaks stdio like every other option, so your client starts the container and owns its lifetime:
{
"mcpServers": { "actual-budget-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "--add-host=host.docker.internal:host-gateway", "-v", "actual-budget-mcp-data:/data", "-e", "ACTUAL_SERVER_URL", "-e", "ACTUAL_PASSWORD", "-e", "ACTUAL_BUDGET_ID", "ghcr.io/henfrydls/actual-budget-mcp:latest" ], "env": { "ACTUAL_SERVER_URL": "http://host.docker.internal:5006", "ACTUAL_PASSWORD": "your-password", "ACTUAL_BUDGET_ID": "your-budget-sync-id" } } } }
Two things that bite everyone once:
host.docker.internal (