Firefly III MCP Server
Firefly III MCP Server
これは、無料のオープンソース個人財務管理ソフトウェアである Firefly III 用の Model Context Protocol(MCP)サーバーです。この MCP サーバーを通じて、ユーザーは AI ツールを活用して Firefly III のアカウントや取引を管理し、個人財務・会計向けの AI アシスタントを作成できます。
プロジェクト構成
このプロジェクトは Turborepo で管理されるモノレポ構成を採用しており、以下の主要パッケージが含まれています。
@firefly-iii-mcp/core - Firefly III API とやり取りするための基盤を提供するコア機能モジュール
@firefly-iii-mcp/local - MCP サーバーをローカルで実行するためのコマンドラインツール
@firefly-iii-mcp/cloudflare-worker - Cloudflare Workers へのデプロイ用実装
@firefly-iii-mcp/server - Streamable HTTP と SSE をサポートする Express ベースのサーバー実装
Related MCP server: Firefly III MCP Server
機能
AI を介して Firefly III インスタンスを操作できる
アカウントと取引をプログラムから管理できる
さまざまな財務操作に対応した拡張可能なツールセット
ローカルとクラウドの両方でデプロイ可能
Model Context Protocol 標準に準拠
プリセットやカスタムタグによるツールのフィルタリングでトークン使用量を削減
前提条件
稼働中の Firefly III インスタンス
"Deploy to Cloudflare" ボタンでデプロイする場合は Cloudflare アカウント
はじめに
1. Firefly III パーソナルアクセストークン(PAT)を取得する
MCP サーバーが Firefly III インスタンスを操作できるようにするには、パーソナルアクセストークン(PAT)を生成する必要があります。
Firefly III インスタンスにログインします
オプション > プロフィール > OAuth に移動します
「Personal access tokens」セクションで「Create new token」をクリックします
トークンにわかりやすい名前を付けます(例: "MCP Server Token")
「Create」をクリックします
重要: 生成されたトークンはすぐにコピーしてください。後で再表示することはできません。
詳細は、公式 Firefly III ドキュメントの Personal Access Tokens を参照してください。
2. MCP サーバーを設定する
MCP サーバーには、Firefly III の PAT と Firefly III インスタンスの URL を指定する必要があります。これにはいくつかの方法があります。
リクエストヘッダー(推奨)
MCP サーバーへの各リクエストのヘッダーに次の値を指定します。これが最も安全な方法です。
X-Firefly-III-Url: Firefly III インスタンスの URL(例:https://firefly.yourdomain.com)Authorization: パーソナルアクセストークン。通常はBearerを前置します(例:Bearer YOUR_FIREFLY_III_PAT)
使用する AI ツールやクライアントが期待する正確なヘッダー名については、そのツールのドキュメントを確認してください。
クエリパラメータ(注意して使用)
あるいは、MCP サーバーへの各リクエストのクエリパラメータに次の値を指定することもできます。
baseUrl: Firefly III インスタンスの URLpat: Firefly III のパーソナルアクセストークン
クエリパラメータを含む URL はさまざまな場所でログに記録される可能性があり、機密情報が露出する恐れがあることに注意してください。
環境変数(主にセルフホスティング/ローカル開発向け)
サーバーを実行する前に、以下の環境変数を設定してください。
FIREFLY_III_BASE_URL="YOUR_FIREFLY_III_INSTANCE_URL" # e.g., https://firefly.yourdomain.com
FIREFLY_III_PAT="YOUR_FIREFLY_III_PAT"
# Optional: Filter tools using preset or custom tags
FIREFLY_III_PRESET="default" # Available: default, full, basic, budget, reporting, admin, automation
# Or specify custom tool tags (overrides preset if both are set)
FIREFLY_III_TOOLS="accounts,transactions,categories"MCP サーバーの実行
方法 1: ローカルモード
この方法は、標準入出力(stdio)を介して MCP ツールを呼び出すことができるクライアント(Claude Desktop など)に適しています。
基本的な実行コマンド:
npx @firefly-iii-mcp/local --pat YOUR_PAT --baseUrl YOUR_FIREFLY_III_URL利用可能なツールをフィルタリングしてトークン使用量を減らすこともできます:
# Using a preset
npx @firefly-iii-mcp/local --pat YOUR_PAT --baseUrl YOUR_FIREFLY_III_URL --preset budget
# Using custom tool tags
npx @firefly-iii-mcp/local --pat YOUR_PAT --baseUrl YOUR_FIREFLY_III_URL --tools accounts,transactions,categoriesJSON 形式での設定については、公式チュートリアル も参照してください。
{
"mcpServers": {
"firefly-iii": {
"command": "npx",
"args": [
"@firefly-iii-mcp/local",
"--pat",
"<Your Firefly III Personal Access Token>",
"--baseUrl",
"<Your Firefly III Base URL>",
"--preset",
"default"
]
}
}
}方法 2: Express サーバー(Web アプリに推奨)
この方法では、Streamable HTTP と SSE をサポートする HTTP ベースのサーバーを提供するため、Web アプリケーションに適しています。
コマンドラインツールとして使う
npx @firefly-iii-mcp/server --pat YOUR_PAT --baseUrl YOUR_FIREFLY_III_URLコマンドラインオプション:
-p, --pat <token>- Firefly III パーソナルアクセストークン-b, --baseUrl <url>- Firefly III のベース URL-P, --port <number>- リッスンするポート番号(デフォルト: 3000)-l, --logLevel <level>- ログレベル: debug、info、warn、error(デフォルト: info)-s, --preset <name>- 使用するツールプリセット(default、full、basic、budget、reporting、admin、automation)-t, --tools <list>- 有効にするツールタグのカンマ区切りリスト
ライブラリとして使う
npm install @firefly-iii-mcp/server基本的な使い方:
import { createServer } from '@firefly-iii-mcp/server';
const server = createServer({
port: 3000,
pat: process.env.FIREFLY_III_PAT,
baseUrl: process.env.FIREFLY_III_BASE_URL,
enableToolTags: ['accounts', 'transactions', 'categories'] // Optional: Filter available tools
});
server.start().then(() => {
console.log('MCP Server is running on http://localhost:3000');
});詳細は @firefly-iii-mcp/server のドキュメント を参照してください。
方法 3: Cloudflare Workers へのデプロイ(本番環境に推奨)
下のボタンから、この MCP サーバーを Cloudflare Workers に簡単にデプロイできます。
注意: デプロイ後、Cloudflare Worker の設定で環境変数を構成する必要があります。
Cloudflare ダッシュボードに移動します
Workers & Pages に移動します
デプロイした Worker を選択します
Settings > Variables に移動します
以下の変数を追加します:
必須:
FIREFLY_III_BASE_URLとFIRELY_III_PAT任意:
FIREFLY_III_PRESETまたはFIREFLY_III_TOOLS
方法 4: ソースからローカルで実行する
[!NOTE] 本番環境では、NPM パッケージを使用するか、Cloudflare Workers にデプロイすることを推奨します。
リポジトリをクローンします:
git clone https://github.com/etnperlong/firefly-iii-mcp.git cd firefly-iii-mcp依存関係をインストールします:
npm install.envファイルを作成します:FIREFLY_III_BASE_URL="YOUR_FIREFLY_III_INSTANCE_URL" FIREFLY_III_PAT="YOUR_FIREFLY_III_PAT" # Optional: Filter tools FIREFLY_III_PRESET="default" # Or FIREFLY_III_TOOLS="accounts,transactions,categories"プロジェクトをビルドします:
npm run build開発サーバーを起動します:
npm run dev
ツールのフィルタリングオプション
MCP クライアントに公開するツールをフィルタリングすることで、トークン使用量を減らし、特定の機能に絞り込むことができます。
利用可能なプリセット
default: 日常使いの基本ツール(アカウント、請求、カテゴリ、タグ、取引、検索、サマリー)full: すべての利用可能なツールbasic: 中核となる財務管理ツールbudget: 予算に特化したツールreporting: レポーティングと分析ツールadmin: 管理ツールautomation: 自動化関連ツール
開発ガイド
このプロジェクトは、Turborepo でモノレポのワークフローを管理し、Changesets でバージョニングと公開を行っています。
よく使うコマンド
全パッケージのビルド:
npm run build特定パッケージのビルド:
npm run build:coreまたはnpm run build:localビルド成果物のクリーンアップ:
npm run clean開発モード:
npm run devパッケージの公開:
npm run publish-packages
詳細な開発ガイドラインは コントリビューションガイド を参照してください。
謝辞
このプロジェクトは、harsha-iiiv/openapi-mcp-generator の生成スクリプトを利用し改変しています。原作者の皆様に深く感謝します。
コントリビューション
コントリビューションを歓迎します。このプロジェクトはモノレポ作業の管理に Turborepo を使用しています。貢献方法の詳細は CONTRIBUTING.md を参照してください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI tools to interact with Firefly III personal finance management instances through a cloud-deployed MCP server. Supports financial operations like account management, transactions, budgeting, and reporting with configurable tool presets.12
- AlicenseNot gradedqualityCmaintenanceEnables interaction with Firefly III personal finance management instances via the Firefly III API, deployed as a Cloudflare Worker. It allows AI tools to manage transactions, accounts, budgets, and reporting through natural language.12ISC
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage Firefly III personal finance accounts and transactions through the Model Context Protocol.1282MIT
- AlicenseBqualityFmaintenanceA Model Context Protocol server that provides programmatic access to Firefly III personal finance management. It enables AI assistants to manage accounts, transactions, budgets, and more through natural language.58AGPL 3.0
Related MCP Connectors
Connect AI agents to bank accounts, transactions, balances, and investments.
Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/IvanChurakov/firefly-iii-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server