Universal Firefly III AI Bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for HTTP/SSE mode (default: 3000) | |
| FIREFLY_URL | Yes | The URL of your Firefly III instance, e.g. http://your-host:PORT | |
| FIREFLY_TOKEN | Yes | Your personal access token from Firefly III |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_aboutB | Get system information from Firefly III. |
| list_accountsC | List all accounts. |
| get_accountA | Get a single account by ID. |
| create_accountC | Create a new account. |
| update_accountD | Update an existing account. |
| delete_accountC | Permanently delete an account. |
| list_transactionsC | List recent transactions. |
| get_transactionA | Get a single transaction by ID. |
| create_transactionC | Create a simple withdrawal, deposit, or transfer. |
| create_split_transactionB | Create a single transaction divided into multiple splits (e.g., one receipt with different categories). |
| update_transactionB | Update an existing transaction. Supports updating description, category_name, and other fields. |
| delete_transactionC | Permanently delete a transaction. |
| search_transactionsC | Search for transactions. |
| list_budgetsA | List all budgets. |
| get_budgetC | Get a single budget by ID. |
| create_budgetC | Create a new budget. |
| update_budgetC | Update a budget. |
| delete_budgetC | Delete a budget. |
| list_budget_limitsB | List monetary limits for a budget. |
| create_budget_limitC | Set a monetary limit for a budget period. |
| delete_budget_limitC | Delete a budget limit. |
| list_rulesA | List all automation rules. |
| get_ruleB | Get a single rule. |
| create_ruleC | Store a new rule. |
| update_ruleC | Update a rule. |
| delete_ruleD | Delete a rule. |
| list_rule_groupsB | List all rule groups. |
| get_rule_groupB | Get a single rule group. |
| trigger_rule_groupC | Manually run rule group. |
| list_webhooksB | List webhooks. |
| create_webhookD | Create a webhook. |
| delete_webhookC | Delete a webhook. |
| list_currenciesA | List all currencies. |
| get_currencyA | Get a single currency by code. |
| create_currencyC | Store a new currency. |
| update_currencyC | Update an existing currency. |
| delete_currencyC | Delete a currency. |
| list_preferencesB | List all user preferences. |
| get_preferenceC | Get a specific preference. |
| update_preferenceC | Update a specific preference. |
| list_attachmentsB | List all files. |
| get_attachmentC | Get attachment metadata. |
| upload_attachmentB | Upload a file and attach it to a Firefly III object (e.g. a transaction). Requires two steps internally: creates the attachment record, then uploads the file content. |
| delete_attachmentC | Delete an attachment. |
| get_account_overview_chartC | Get balance trend charts. |
| get_net_worth_summaryB | Get pre-calculated net worth summary over time. |
| get_spending_summaryA | Get expense totals per category for a date range. |
| list_categoriesA | List all categories. |
| create_categoryC | Create a new category. |
| list_tagsA | List all tags. |
| create_tagC | Create a new tag. |
| list_billsB | List all bills. |
| create_billC | Create a new bill. |
| delete_billC | Delete a bill. |
| list_piggy_banksA | List all piggy banks. |
| create_piggy_bankC | Create a new piggy bank. |
| update_piggy_bankC | Add/remove money from goal. |
| delete_piggy_bankC | Delete a piggy bank. |
| list_object_groupsA | List all object groups (used for organizing accounts/piggy banks). |
| create_object_groupC | Create a new object group. |
| list_recurringA | List all recurring transaction rules. |
| get_recurringA | Get a single recurring transaction by ID. |
| create_recurringC | Create a new recurring transaction rule. |
| update_recurringC | Update an existing recurring transaction. |
| delete_recurringC | Delete a recurring transaction rule. |
| trigger_exportC | Trigger a data export from Firefly III. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 66 tools
Every tool maps to a distinct resource and action, and similar-sounding tools like get_account vs get_account_overview_chart are clearly separated by descriptions. Even create_transaction and create_split_transaction are differentiated as simple vs split creation.
Tool names consistently follow a lowercase snake_case verb_noun pattern such as list_accounts, get_account, create_account, update_account, and delete_account. Minor exceptions like get_about and create_split_transaction do not undermine the overall predictable convention.
With 66 tools, the surface is far too large for an AI-facing server; even though Firefly III has a broad API, this feels like an uncurated endpoint dump rather than a focused bridge. The volume creates significant context overhead and tool-selection burden for agents.
Core resources like accounts, transactions, budgets, rules, and recurring transactions have full CRUD coverage, but many secondary resources are notably incomplete: categories only have list/create, bills lack get/update, rule groups have no create/update/delete, and webhooks/object groups are partial. These gaps will cause frequent agent dead ends.