Firefly III MCP Server
Firefly III MCP Server
Dies ist ein Model Context Protocol (MCP)-Server für Firefly III, einen freien und quelloffenen persönlichen Finanzmanager. Über diesen MCP-Server können Nutzer KI-Tools nutzen, um ihre Firefly-III-Konten und -Transaktionen zu verwalten und so KI-Assistenten für persönliche Finanzen und Buchhaltung zu erstellen.
Projektstruktur
Dieses Projekt verwendet eine mit Turborepo verwaltete Monorepo-Struktur, die die folgenden Hauptpakete enthält:
@firefly-iii-mcp/core – Kernfunktionsmodul, das die Grundlage für die Interaktion mit einer Firefly-III-API bereitstellt
@firefly-iii-mcp/local – Befehlszeilentool zum lokalen Ausführen des MCP-Servers
@firefly-iii-mcp/cloudflare-worker – Implementierung für die Bereitstellung auf Cloudflare Workers
@firefly-iii-mcp/server – Express-basierte Serverimplementierung mit Streamable-HTTP- und SSE-Unterstützung
Related MCP server: Firefly III MCP Server
Funktionen
Interaktion mit Firefly-III-Instanzen über KI
Programmgesteuerte Verwaltung von Konten und Transaktionen
Erweiterbares Toolset für verschiedene Finanzoperationen
Unterstützung sowohl für lokale als auch für Cloud-Bereitstellungen
Kompatibel mit dem Model Context Protocol-Standard
Filterung der Tools über Presets oder benutzerdefinierte Tags, um den Tokenverbrauch zu reduzieren
Voraussetzungen
Eine laufende Firefly III-Instanz
Ein Cloudflare-Konto, wenn Sie die Bereitstellung über den „Deploy to Cloudflare“-Button planen
Erste Schritte
1. Firefly-III-Personal-Access-Token (PAT) erhalten
Damit der MCP-Server mit Ihrer Firefly-III-Instanz interagieren kann, müssen Sie ein Personal Access Token (PAT) erstellen:
Melden Sie sich bei Ihrer Firefly-III-Instanz an.
Gehen Sie zu Optionen > Profil > OAuth.
Klicken Sie im Abschnitt „Personal Access Tokens“ auf „Create new token“.
Geben Sie Ihrem Token einen beschreibenden Namen (z. B. „MCP-Server-Token“).
Klicken Sie auf „Erstellen“.
Wichtig: Kopieren Sie das generierte Token sofort. Sie werden es später nicht mehr sehen können.
Weitere Details finden Sie in der offiziellen Firefly III-Dokumentation zu Personal Access Tokens.
2. Den MCP-Server konfigurieren
Sie müssen dem MCP-Server den Firefly-III-PAT sowie die URL Ihrer Firefly-III-Instanz zur Verfügung stellen. Dies ist auf mehreren Arten möglich:
Anfrage-Header (Empfohlen)
Geben Sie diese Werte in den Headern jeder Anfrage an den MCP-Server an. Dies ist im Allgemeinen die sicherste Methode:
X-Firefly-III-Url: Die URL Ihrer Firefly III-Instanz (z. B.https://firefly.yourdomain.com)Authorization: Das Personal Access Token, in der Regel mit dem PräfixBearer(z. B.Bearer YOUR_FIREFLY_III_PAT)
Bitte konsultieren Sie die Dokumentation des von Ihnen verwendeten KI-Tools oder Clients, um die genauen Header-Namen herauszufinden, die dort erwartet werden.
Anfrageparameter (Mit Vorsicht verwenden)
Alternativ können Sie diese Werte in den Abfrageparameter jeder Anfrage an den MCP-Server angeben:
baseUrl: Die URL Ihrer Firefly III-Instanzpat: Ihr Firefly III-Personal-Access-Token
Beachten Sie, dass URLs einschließlich Abfrageparametern an verschiedenen Stellen protokolliert werden können und so möglicherweise vertrauliche Informationen offengelegt werden.
Umgebungsvariablen (Hauptsächlich für Selfhosting/lokale Entwicklung, geeignet)
Führen Sie immer die folgenden Umgebungsvariablen aus, bevor Sie den Server starten:
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"Den MCP-Server ausführen
Methode 1: Lokaler Modus
Diese Methode eignet sich für Clients, die MCP-Tools über die Standard-Eingabe/Ausgabe (stdio) aufrufen kann, wie z. B. Claude Desktop.
Grundlegender Befehle:
npx @firefly-iii-mcp/local --pat YOUR_PAT --baseUrl YOUR_FIREFLY_III_URLSie können auch die Tool-Auswahl einschränken, um den Tokenverbrauch zu reduzieren:
# 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,categoriesSie können sich für die Konfiguration im JSON-Format auch am offiziellen Tutorial orientieren.
{
"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"
]
}
}
}Methode 2: Express Server (Empfehlung für Web-Apps)
Diese Methode bietet einen auf HTTP basierenden Server mit Streamable HTTP- und SSE-Unterstützung und ist damit ideal für Webanwendungen.
Als Kommandozeilen-Tool
npx @firefly-iii-mcp/server --pat YOUR_PAT --baseUrl YOUR_FIREFLY_III_URLOptionen der Kommandozeile:
-p, --pat <token>– Firefly III Personal Access Token-b, --baseUrl <url>– Firefly III Basis-URL-P, --port <number>– Zu überwachende Port (Standard: 3000)-l, --logLevel <level>– Protokoll-stufe: debug, info, warn, error (Standard: info)-s, --preset <name>– Tool-Preset, das verwendet werden soll (default, full, basic, budget, reporting, admin, automation)-t, --tools <list>– Komma und die zu aktivierenden Tool-Tags
Als Bibliothek
npm install @firefly-iii-mcp/serverGrundlegende Verwendung:
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');
});Weitere Details findnen Sie in der Dokumentation von @firefly-iii-mcp/server.
Methode 3: Deploy nach Cloudflare Workers (Empfohlen für Produktion)
Sie können diesen MCP-Server ganz einfach mit dem unten stehenden Button auf Cloudflare Workers bereitstellen:
Hinweis: Nach der Bereitstellung müssen Sie die Umgebungsvariablen in den Settings Ihres Cloudflare-Workers konfigurieren:
Gehen Sie zu Ihrem Cloudflare-Dashboard.
Navigieren Sie zu Workers & Pages.
Wählen Sie Ihren bereitgestellten Worker aus.
Gehen Sie zu Settings > Variablen.
Fügen Sie die folgenden Variablen hinzu:
Erforderlich:
FIREFLY_III_BASE_URLundFIREFLY_III_PATOptional:
FIREFLY_III_PRESEToderFIREFLY_III_TOOLS
Methode 4: Lokal aus dem Quellcode ausführen
[!NOTE] Für den Produktivbetrieb empfiehlt sich die Verwendung des NPM-Pakets oder die Bereitstellung auf Cloudflare Workers.
Klonen Sie das Repository:
git clone https://github.com/etnperlong/firefly-iii-mcp.git cd firefly-iii-mcpInstallieren Sie die Abhängigkeiten:
npm installErstellen Sie eine
.env-Datei: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"Bauen Sie das Projekt:
npm run buildStarten Sie den Entwicklungsserver:
npm run dev
Optionen zur Tool-Filterung
Sie können festlegen, welche Tools dem MCP-Client verfübar sind, um den Tokenverbrauch zu reduzieren und sich auf bestimmte Funktionen zu konzentrieren:
Verfügbare Presets
default: Standard-Werkzeugestand für den täglichen Gebrauch (Konten, Rechnungen, Kategorien, Tags, Transaktionen, Suche, Zusammenfassung)full: Alle verfügbaren Werkzeugebasic: Kernwerkzeuge für die Finanzverwaltungbudget: Budget-Werkzeugereporting: Werkzeuge für Berichte und Analysenadmin: Verwaltungswerkzeugeautomation: Automatisierungswertbezogene Werkzeuge
Entwicklungsleitfaden
Dieses Projekt verwendet Turborepo zur Verwaltung des Monorepo-Workflows und Changesets für das Versioning und die Veröffentlichung.
Häufige Befehle
Alle Pakete erstellen:
npm run buildBestimmte Pakete erstellen:
npm run build:coreodernpm run build:localBereinigen der Build-Artefakte:
npm run clean)Entwicklungsmodus:
npm run devPakete veröffentlichen:
npm run publish-packages
Detaillierte Entwicklungsrichtlinien finden Sie im Contribution Guide.
Danksagungen
Dieses Projekt verwendet und modifiziert Generatorskripte von harsha-iiiv/openapi-mcp-generator. Vielen Dank an die ursprünglichen Autoren für ihre Arbeit.
Beiträge
Beiträge sind willkommen! Dieses Projekt verwendet Turborepo zur Verwaltung des Monorepo-Workflows. Bitte beachten Sie die CONTRIBUTING.md für detaillierte Richtlinien, wie Sie beitragen können.
Lizenz
Dieses Projekt unterliegt der MIT-Lizenz.
This server cannot be deployed
Maintenance
Related MCP Connectors
- Era ContextOAuthapp.era
Personal finance, bank account, and shared memory connector for Claude, ChatGPT, Gemini Spark & more
Personal-finance workspace for AI agents: accounts, spending, budgets, goals, and investments.
- ManiloOAuthapp.manilo
Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.
- BankSyncOAuthio.banksync
Connect AI agents to bank accounts, transactions, balances, and investments.
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.17 npm-
- 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.17 npmISC
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage Firefly III personal finance accounts and transactions through the Model Context Protocol.17 npm86MIT
- 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