Firefly III MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIREFLY_API_URL | No | Your Firefly III API base URL | https://firefly.dev.nlocal/api/v1 |
| FIREFLY_API_TOKEN | Yes | Personal Access Token from Firefly III | |
| FIREFLY_LOG_LEVEL | No | Logging level (DEBUG, INFO, WARNING, ERROR) | INFO |
| FIREFLY_DIRECT_MODE | No | Enable individual tools for each operation | false |
| FIREFLY_ENABLED_ENTITIES | No | Comma-separated list of entities to enable | account |
| FIREFLY_DISABLE_SSL_VERIFY | No | Disable SSL verification for development | false |
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 | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| firefly_executeC | Execute any Firefly III operation dynamically. Args: entity: Entity type (account, transaction, budget, etc.) operation: Operation name (list, get, create, update, delete, etc.) params: Operation parameters as dictionary |
| firefly_list_operationsB | List all available Firefly III operations. Args: entity: Optional entity filter (account, transaction, etc.) |
| firefly_get_schemaA | Get parameter schema for a specific operation. Args: entity: Entity type (account, transaction, etc.) operation: Operation name (list, get, etc.) |
| get_versionB | Get the version of the Firefly MCP server |
| echoA | Echo a message back to the user |
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 5 tools
Tools have distinct purposes: echo for testing, get_version for server info, and the firefly_ tools for dynamic API access. However, firefly_execute is a broad catch-all that could be confused with many specific operations, but its name clearly indicates dynamic execution.
Three tools follow a consistent firefly_ prefix pattern, but echo and get_version break this convention. This inconsistency could confuse agents expecting uniform naming.
Five tools is well-scoped for a dynamic API wrapper. The single executor tool reduces the need for many individual endpoints, making the set compact and manageable.
The dynamic firefly_execute tool can perform any Firefly III operation, ensuring full coverage. Supporting meta-tools for schema and operation listing compensate for the lack of explicit endpoints.