FreeAgent MCP
FreeAgent MCP
[!WARNING] Этот проект на 100% написан вайб-кодом. Я не проверял всё и не смотрел код. Что-то может работать. Используйте на свой страх и риск.
Локальный, только для чтения MCP-сервер, который отдаёт бухгалтерские данные FreeAgent AI-клиентам (Claude Desktop, настольному приложению ChatGPT и любому другому, кто умеет работать с MCP через stdio). Он позволяет спрашивать что-то вроде «почему на номинальном коде 907 стоит £4,200?» — и модель сама проваливается в лежащие под этим транзакции.
Режим только для чтения обеспечивается на уровне HTTP-клиента: клиент предоставляет метод get() и ничего больше — любая попытка вызвать другой глагол вызывает исключение. Каждый инструмент размечен как read-only и идемпотентный. В коде нет пути, который мог бы изменить бухгалтерские данные, а эндпоинты отправки VAT filing / MTD не трогаются вовсе.
Сервер построен на Laravel, поэтому если у вас не настроен локальный PHP (например, через Herd) — возможно, он окажется не особенно полезен. Хотя можно использовать, например, Laravel Sail и запустить его в Docker-контейнере вместо этого.
Настройка
Установите зависимости и выполните миграции:
composer install cp .env.example .env php artisan key:generate php artisan migrateЗарегистрируйте OAuth-приложение в FreeAgent Developer Dashboard, указав
http://localhostв качестве redirect URI — FreeAgent принимает только те redirect URI, которые точно совпадают с зарегистрированным для приложения. Потом добавьте ключи в.env:FREEAGENT_CLIENT_ID=your-client-id FREEAGENT_CLIENT_SECRET=your-client-secret FREEAGENT_SANDBOX=falseЕсли для вашего приложения уже зарегистрирован другой redirect URI, в
FREEAGENT_REDIRECT_URIукажите его, а не регистрируйте новый.Аутентификация:
php artisan freeagent:authОткройте URL из вывода, подтвердите приложение и вставьте обратно в терминал тот URL, на который вас перенаправило. Токены хранятся (в зашифрованном виде) в SQLite и обновляются автоматически с этого момента.
Проверьте, что всё работает:
php artisan freeagent:status
Related MCP server: freeagent-mcp-server
Claude Desktop
Добавьте в claude_desktop_config.json (Настройки → Разработчик → Изменить конфигурацию):
{
"mcpServers": {
"freeagent": {
"command": "php",
"args": ["/absolute/path/to/freeagent-mcp/artisan", "mcp:start", "freeagent"]
}
}
}Claude Code
Добавьте сервер из любого проекта (--scope user делает его доступным везде, удалите флаг, чтобы зарегистрировать только для текущего проекта):
claude mcp add freeagent --scope user -- php /absolute/path/to/freeagent-mcp/artisan mcp:start freeagentИли добавьте его вручную в .mcp.json проекта:
{
"mcpServers": {
"freeagent": {
"command": "php",
"args": ["/absolute/path/to/freeagent-mcp/artisan", "mcp:start", "freeagent"]
}
}
}Проверьте, что он подключился, командой /mcp внутри сессии.
Настольное приложение ChatGPT
Добавьте в ~/.codex/config.toml (или через Настройки → MCP-серверы → Добавить сервер → 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"writes автоматически одобряет read-only инструменты и запрашивает подтверждение для всего остального — поскольку каждый инструмент здесь помечен как read-only, это означает никаких запросов и жёсткую подстраховку. Обратите внимание: это работает только в настольном приложении ChatGPT; веб-версия ChatGPT это не увидит.
Инструменты
Инструменты | Что делает |
| Данные компании, конец финансового года, валюта, пользователи и субдомен FreeAgent. Ориентировочный вызов. |
| Полный план счетов с номинальными кодами, включая банковские и пользовательские субсчета. Опциональный поиск. |
| Бухгалтерский баланс на дату или начальные остатки. |
| Сводка по пробному балансу за диапазон дат или начальные остатки. |
| Сводка P&L за диапазон дат: доходы, расходы, вычеты, нераспределённая прибыль. |
| Приход/расход по месяцам с итоговым балансом. |
| Все транзакции главной книги, попавшие на номинальный код за период, с первичными документами, глубокими ссылками и нарастающим итогом — в согласовании с пробным балансом. |
| Полнотекстовый поиск по транзакциям главной книги с фильтрами по дате, сумме, банковскому счёту и номинальному коду. |
| Универсальный эндпоинт списка для batch процессов: 35 других read-only ресурсов (банкинг, документы, контакты, проекты, налоговые декларации, активы, зарплата, время). |
| Полная детализация одной записи по ресурсу и id. |
Другие команды
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 interactivelyThis server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server for Codat — companies, connections, invoices, bills and financial statements.
- BonsaveOAuthapp.bonsave
Query your real net worth, spending, transactions, budgets and portfolio from any MCP client.
Hosted MCP server exposing US hospital procedure cost data to AI assistants
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for the FreeAgent accounting API, enabling LLMs to securely access and manage accounting data including contacts, invoices, bills, bank transactions, and more.5 npm1MIT
- AlicenseBqualityCmaintenanceMCP 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.76126 npm6MIT
- AlicenseNot gradedqualityAmaintenanceA 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.126 npm10MIT
- FlicenseNot gradedqualityCmaintenanceA read-only MCP server that gives AI agents structured access to a Beancount personal finance ledger.1-