Skip to main content
Glama
duncanmcclean

FreeAgent MCP

FreeAgent MCP

[!WARNING] Dieses Projekt ist zu 100 % Vibe Coding. Ich habe nicht alles getestet und nicht in den Code gesehen. Dinge könnten nicht funktionieren. Verwendung auf eigene Gefahr.

Ein lokaler, schreibgeschützter MCP-Server, der FreeAgent-Buchhaltungsdaten an KI-Clients ausliefert (Claude Desktop, die ChatGPT-Desktop-App oder alles andere, das MCP über stdio spricht), sodass du Fragen stellen kannst wie „Warum liegen £4.200 auf Sachkonto 907?" und das Modell die zugrunde liegenden Transaktionen nachvollziehen kann.

Read-only wird bereits auf der HTTP-Client-Ebene erzwungen: Der Client stellt ausschließlich eine get()-Methode bereit und sonst nichts – jeder Aufruf eines anderen Verbs wirft einen Fehler. Jedes Tool ist als schreibgeschützt und idempotent annotiert. Es gibt keinen Codepfad, der Buchhaltungsdaten verändern kann, und die Endpunkte für die Umsatzsteuermeldung bzw. MTD-Übermittlung werden überhaupt nicht berührt.

Der Server basiert auf Laravel. Wenn du also kein PHP lokal eingerichtet hast (z.B. nebenbei about Herd oder etwas Vergleichbarem), könnte er für dich nicht so nützlich sein. Du kannst stattdessen aber etwas wie Laravel Sail verwenden, um ihn in einem Docker-Container laufen zu lassen.

Setup

  1. Installiere und migriere:

    composer install
    cp .env.example .env
    php artisan key:generate
    php artisan migrate
  2. Registriere eine OAuth-App im FreeAgent Developer Dashboard und vergib ihr http://localhost als Redirect-URI – FreeAgent akzeptiert nur Redirect-URIs, die exakt mit einer in der App registrierten URI übereinstimmen. Füge dann die Schlüssel in .env ein:

    FREEAGENT_CLIENT_ID=your-client-id
    FREEAGENT_CLIENT_SECRET=your-client-secret
    FREEAGENT_SANDBOX=false

    Falls dein App bereits anders eine andere Redirect-URI registriert hat, setze FREEAGENT_REDIRECT_URI auf diesen Wert, statt eine neue zu registrieren.

  3. Authentifiziere dich:

    php artisan freeagent:auth

    Öffne die ausgegebene URL, genehmige die App, und füge dann die URL, zu der du weitergeleitet wirst, wieder in das Terminal ein. Token werden in SQLite verschlüsselt gespeichert und danach automatisiert erneuert.

  4. Prüfe, ob es funktioniert hat:

    php artisan freeagent:status

Related MCP server: freeagent-mcp-server

Claude Desktop

Füge den Eintrag in claude_desktop_config.json (Einstellungen → Entwickler → Konfiguration bearbeiten) hinzu:

{
    "mcpServers": {
        "freeagent": {
            "command": "php",
            "args": ["/absolute/path/to/freeagent-mcp/artisan", "mcp:start", "freeagent"]
        }
    }
}

Claude Code

Füge den Server von jedem beliebigen Projekt aus hinzu (--scope user macht ihn überall verfügbar; lasse das Flag weg, um ihn nur für das aktuelle Projekt zu registrieren):

claude mcp add freeagent --scope user -- php /absolute/path/to/freeagent-mcp/artisan mcp:start freeagent

Oder füge ihn manuell in die .mcp.json des Projekts ein:

{
    "mcpServers": {
        "freeagent": {
            "command": "php",
            "args": ["/absolute/path/to/freeagent-mcp/artisan", "mcp:start", "freeagent"]
        }
    }
}

Prüfe innerhalb einer Session mit /mcp, ob die Verbindung steht.

ChatGPT-Desktop-App

Füge den Eintrag zu ~/.codex/config.toml hinzu (oder über Einstellungen → MCP-Server → Server hinzufügen → STDIO):

[mcp_servers.freeagent]
command = "php"
args = ["/absolute/path/to/freeagent-mcp/artisan", "mcp:start", "freeagent"]
cwd = "/absolute/path/to/freeagent-mcp"
startup_timeout_sec = 20
tool_timeout_sec = 120
default_tools_approval_mode = "writes"

Der Modus writes genehmigt schreibgeschützte Tools automatisch und fragt bei allem anderen nach – da hier jedes Tool als schreibgeschützt markiert ist, gibt es also keine Nachfragen, und das Ganze ist hart abgesichert. Beachte: Das funktioniert nur in der ChatGPT-Desktop-App; im ChatGPT-Web wird der Server nicht sichtbar sein.

Tools

Tool

Beschreibung

get_company_context

Unternehmensdaten, Geschäftsjahresende, Währung, Benutzer und die FreeAgent-Subdomain. Günstiger Orientierungsaufruf.

list_categories

Der vollständige Kontenplan mit Sachkonten, einschließlich Bank- und Unterkonten. Optionale Suche.

get_balance_sheet

Bilanz zu einem Stichtag oder die Eröffnungsbilanz.

get_trial_balance

Saldenliste für eine Zeitraum oder die Eröffnungssalden.

get_profit_and_loss

GuV-Zusammenfassung für einen Zeitraum: Einnahmen, Ausgaben, Abzüge, einbehaltener Gewinn.

get_cashflow

Geldeingänge und -ausgänge pro Monat mit Nettosaldo.

explain_category

Jede Hauptbuchtransaktion, die in einem Zeitraum ein Sachkonto berührt, mit Basisquellen, Deep-Links und laufender Summe – gegen die Saldenliste abgestimmt.

search_transactions

Volltextsuche über Hauptbuchtransaktionen mit Filtern nach Datum, Betrag, Bankkonto und Sachkonto.

list_records

Allgemeiner Listenendpunkt für 35 weitere schreibgeschützte Ressourcen (Banking, Dokumente, Kontakte, Projekte, Steuererklärungen, Anlagen, Lohn und Zeit).

get_record

Voller Detaill eines einzelnen Datensatzes anhand von Ressource und ID.

Weitere Befehle

php artisan freeagent:status       # auth state + connected company
php artisan freeagent:clear-cache  # drop cached API responses
php artisan mcp:inspector freeagent # debug the server interactively

Antworten werden in der Datenbank zwischengespeichert (eine Stunde für Berichte und Referenzdaten, 15 Minuten für Transaktionen), sodass ein Neustart des MCP-Clients nicht die Ratelimite von FreeAgent auf die normale Nutzung der Timer herrührt (120 Anfragen/Minute, 3.600/Stunde).

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for the FreeAgent accounting API, enabling LLMs to securely access and manage accounting data including contacts, invoices, bills, bank transactions, and more.
    5
    1
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    MCP server that provides 76 tools for the FreeAgent accounting API, enabling management of invoices, expenses, contacts, projects, timeslips, banking, bills, estimates, credit notes, and accounting reports through natural language.
    76
    21
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server for the FreeAgent accounting API, enabling LLMs to manage contacts, invoices, estimates, bills, expenses, timeslips, projects, tasks, bank accounts, and more.
    21
    9
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A read-only MCP server that gives AI agents structured access to a Beancount personal finance ledger.
    1

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.

  • Hosted MCP server exposing US hospital procedure cost data to AI assistants

  • Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.

View all MCP Connectors

Latest Blog Posts

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/duncanmcclean/freeagent-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server