{"name":"io.github.OxygenBubbles/freeagent-mcp-server","slug":"oxygenbubbles-freeagent-mcp-server","title":null,"description":"FreeAgent accounting MCP: bank reconciliation, expenses, mileage claims and receipts.","url":"https://mcp.market/server/oxygenbubbles-freeagent-mcp-server","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"finance","tags":["finance"],"presence":{"score":26,"stars":1,"forks":2,"downloads_week":40,"last_push_at":"2026-08-27T11:58:00.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/OxygenBubbles/freeagent-mcp-server","website":null,"version":"3.2.0","remotes":[],"packages":[{"registryType":"npm","identifier":"@oxygenbubbles/freeagent-mcp-server","version":"3.2.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"FreeAgent OAuth app client ID (from dev.freeagent.com)","isRequired":true,"format":"string","isSecret":true,"name":"FREEAGENT_CLIENT_ID"},{"description":"FreeAgent OAuth app client secret","isRequired":true,"format":"string","isSecret":true,"name":"FREEAGENT_CLIENT_SECRET"},{"description":"FreeAgent long-lived OAuth refresh token","isRequired":true,"format":"string","isSecret":true,"name":"FREEAGENT_REFRESH_TOKEN"},{"description":"JSON map of vendor name to FreeAgent category URL (extends built-in mappings)","format":"string","name":"VENDOR_CATEGORIES"},{"description":"Default pence-per-mile rate (overrides HMRC 45p/25p)","format":"string","name":"MILEAGE_RATE_PENCE"},{"description":"OpenRouteService API key for driving distance calculation","format":"string","isSecret":true,"name":"ORS_API_KEY"},{"description":"Google Maps API key (alternative to ORS for distance calculation)","format":"string","isSecret":true,"name":"GOOGLE_MAPS_API_KEY"}]}],"tools":[{"name":"freeagent_aged_creditors","description":"Aged creditors — unpaid supplier bills bucketed by how overdue they are.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_aged_debtors","description":"Aged debtors — unpaid customer invoices bucketed by how overdue they are","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_company_summary","description":"FreeAgent company details — name, type, company registration number,","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_create_bill","description":"Record a supplier bill (an invoice the company has received and owes).","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_create_contact","description":"Create a contact in FreeAgent — a client to invoice or a supplier to record bills against.","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_create_expense","description":"Create an expense in FreeAgent — for purchases on a personal card or cash that need claiming back.","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_create_invoice","description":"Raise an invoice in FreeAgent. Created as a DRAFT — it is not sent to the client.","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_create_mileage_expense","description":"Create a mileage expense in FreeAgent.","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_create_project","description":"Create a FreeAgent project against a client contact.","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_create_task","description":"Create a task on a FreeAgent project. Tasks carry the billing rate that","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_create_timeslip","description":"Log time against a FreeAgent project task.","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_delete_bill","description":"Permanently delete a FreeAgent bill.","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_delete_contact","description":"Permanently delete a FreeAgent contact. FreeAgent refuses if anything is filed against them —","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_delete_expense","description":"Permanently delete a FreeAgent expense. Use this for a duplicate or a claim filed in error —","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_delete_invoice","description":"Permanently delete a FreeAgent invoice. Only draft invoices can normally be deleted —","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_delete_project","description":"Permanently delete a FreeAgent project. FreeAgent refuses if anything is booked against it —","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_delete_task","description":"Delete a FreeAgent project task. FreeAgent refuses if time is logged against it —","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_delete_timeslip","description":"Delete a logged timeslip from FreeAgent.","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_explain_transaction","description":"Approve or update a FreeAgent bank transaction explanation. Use this to:","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_get_bill","description":"Fetch one FreeAgent bill in full, including its line items and each line's own URL.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_get_invoice","description":"Fetch a single FreeAgent invoice in full, including its line items.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_list_bank_accounts","description":"List all bank accounts on the FreeAgent account. Returns account name, currency, current balance and status. Use this to find the bank account ID before listing transactions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_list_bills","description":"List FreeAgent bills — money the company owes to suppliers (accounts payable).","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_list_categories","description":"List FreeAgent expense categories (chart of accounts).","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_list_contacts","description":"List FreeAgent contacts (clients and suppliers).","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_list_expenses","description":"List FreeAgent expense claims for a date range, with what each one is tagged and rebilled to.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_list_invoices","description":"List FreeAgent invoices with their status and outstanding balance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_list_projects","description":"List FreeAgent projects. Returns project URL, name, status and contact.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_list_tasks","description":"List project tasks in FreeAgent. Time is always logged against a task,","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_list_timeslips","description":"List logged time in FreeAgent for a date range.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_list_transactions","description":"List bank account transactions from FreeAgent. By default returns unexplained (unreconciled) transactions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_profit_and_loss","description":"FreeAgent profit and loss summary — income, expenses, operating profit,","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_tax_timeline","description":"Upcoming tax and filing deadlines from FreeAgent — VAT returns, corporation tax,","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_trial_balance","description":"FreeAgent trial balance — the balance on every nominal account.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freeagent_update_bill","description":"Update a FreeAgent bill — correct the reference, dates or VAT status, allocate it to a project,","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_update_contact","description":"Update a FreeAgent contact — correct the name or address, add the VAT registration number","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_update_expense","description":"Update an existing FreeAgent expense: attach or replace its receipt, set the rebill treatment,","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_update_invoice","description":"Edit a FreeAgent invoice — change its dates, reference, project, VAT status, discount or comments,","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_update_invoice_status","description":"Change an invoice's status in FreeAgent: mark_as_sent (issue it), mark_as_draft","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_update_project","description":"Update a FreeAgent project — rename it, change its budget or billing rate, move it to a","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_update_task","description":"Update a FreeAgent project task — rename it, change its billing rate or period, make it","write_action":true,"price_micros":0,"input_schema":null},{"name":"freeagent_update_timeslip","description":"Correct a logged timeslip — change the hours, the date, the task it sits under, or its comment.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":80,"grade":"B","scanned_at":"2026-09-21T05:10:04.783Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-21T05:10:04.802Z","components":{"code":{"score":25,"max":25,"notes":["51 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 25 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@oxygenbubbles/freeagent-mcp-server","version":"3.2.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-08-27T11:52:10.885Z","repositoryUrl":"git+https://github.com/OxygenBubbles/freeagent-mcp-server.git","weeklyDownloads":40}],"repo":{"found":true,"owner":"OxygenBubbles","repo":"freeagent-mcp-server","archived":false,"pushedAt":"2026-08-27T11:58:00Z","stars":1,"forks":2,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/267015019?v=4","ownerCreatedAt":"2026-03-10T11:12:26Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":1,"forks":2,"downloadsWeek":40,"license":"MIT","lastPushAt":"2026-08-27T11:58:00.000Z","score":26}}}},"grade_history":[],"reviews":[]}