Skip to main content
Glama
duncanmcclean

FreeAgent MCP

FreeAgent MCP

[!WARNING] Este proyecto está 100% escrito con vibe coding. No he probado todo ni he revisado el código al detalle. Puede que las cosas no funcionen. Úsalo bajo tu propia responsabilidad.

Es un servidor MCP local, de solo lectura, que expone los datos contables de FreeAgent a clientes de IA (Claude Desktop, la ChatGPT desktop app o cualquier otro que hable MCP a través de stdio), de modo que puedas hacer preguntas como "¿por qué hay £4,200 en el código nominal 907?" y tener que el modelo profundice en las transacciones subyacentes.

El solo lectura se aplica en la capa del cliente HTTP: el cliente expone un método get() y nada más: cualquier intención de invocar otro verbo falla. Todas las herramientas están marcadas como de solo lectura e idempotentes. No existe ninguna ruta de código que pueda modificar datos contables y los endpoints de presentación del IVA / envío de MTD no se tocan en absoluto.

El servidor está construido con Laravel, así que si no tienes PHP configurado localmente (con Herd o algo parecido), puede que no te resulte tan útil. Dicho esto, puedes usar algo como Laravel Sail para ejecutarlo en un contenedor de Docker.

Configuración

  1. Instala y ejecuta las migraciones:

    composer install
    cp .env.example .env
    php artisan key:generate
    php artisan migrate
  2. Crea una aplicación OAuth en el FreeAgent Developer Dashboard, con http://localhost como URI de redirección. FreeAgent solo admite URIs de redirección que coincidan exactamente con una registrada en la aplicación. Luego añade las claves a .env:

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

    Si tu aplicación ya tiene una URI de redirección distinta registrada, establece FREEAGENT_REDIRECT_URI con ese valor en lugar de registrar otra nueva.

  3. Autentícate:

    php artisan freeagent:auth

    Abre la URL impresa, aprueba la aplicación y pega la URL a la que hayas sido redirigido de vuelta en la terminal. Los tokens se almacenan (cifrados) en SQLite y se renuevan automáticamente a partir de entonces.

  4. Comprueba que funciona:

    php artisan freeagent:status

Related MCP server: freeagent-mcp-server

Claude Desktop

Añade a claude_desktop_config.json (Settings → Developer → Edit Config):

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

Claude Code

Añade el servidor desde cualquier proyecto (--scope user lo hace disponible en cualquier sitio; quíta en ese flag si quieres registrarlo solo en el proyecto actual):

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

O añádelo manualmente al .mcp.json de un proyecto:

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

Comprueba con /mcp que queda conectado dentro de una sesión.

ChatGPT desktop app

Añade a ~/.codex/config.toml (o desde Settings → MCP servers → Add server → 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"

El modo writes aprueba automáticamente las herramientas de solo lectura y pide confirmación para cualquier otra cosa. Como todas las herramientas están marcadas solo lectura, eso significa que no pedirá confirmación, con un límite estricto. Ten en cuenta que esto solo funciona en la ChatGPT desktop app; la versión web de ChatGPT no lo verá.

Herramientas

Herramienta

Qué hace

get_company_context

Datos de la empresa, final del ejercicio fiscal, moneda, usuarios y subdominio de FreeAgent. Llamada barata para orientarse.

listar_categorias

El plan completo de cuentas con códigos nominales, incluidas las subcuentas de banco y de usuario. Búsqueda opcional.

get_balance_sheet

Balance de situación a una fecha, o los saldos iniciales.

get_trial_balance

Resumen de balan de prueba para un rango de fechas, o los saldos iniciales.

get_profit_and_loss

Resumen de pérdidas y ganancias para un rango de fechas: ingresos, gastos, pagos, deducciones y beneficio retenido.

get_cashflow

Entradas y salidas de caja mensuales con el saldo neto.

explain_category

Todos los movimientos del libro diario que afectan a un código de serie igual en un rango, con documentos fuente, enlaces directos y un total acumulado; conciliado con el balance de prueba.

search_transactions

Búsqueda de texto libre en asientos del diario con filtros de fecha, importe, cuenta bancaria y código nominal.

list_records

Enlace de genérico para listar los otros 35 recursos de solo lectura (banco, documentos, contactos, proyectos, declaraciones de impuestos, activos, nóminas y tiempo).

get_record

Detalle completo de un registro individual por recurso e identificador.

Otros comandos

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

Las respuestas se guardan en caché en la base de datos (una hora para informes y datos de referencia, 15 minutos para transacciones), de forma que reiniciar el cliente MCP no agote los límites de frecuencia de FreeAgent (120 peticiones/minuto, 3.600/hora).

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