{"id":300627,"recorded_at":"2026-10-26T22:26:00.980111Z","observed_at":"2026-10-26T22:26:00.980012Z","subject_kind":"endpoint","subject":"da06cffd-046d-4b2d-a5d9-78984cdd28d0","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":20,"tools":[{"description":"Create a client or supplier contact. Give either organisation_name, or first_name and last_name. FreeAgent: POST /v2/contacts.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"address1":{"description":"Address line 1.","type":"string"},"address2":{"description":"Address line 2.","type":"string"},"address3":{"description":"Address line 3.","type":"string"},"billing_email":{"description":"Email address invoices are sent to.","type":"string"},"charge_sales_tax":{"description":"Whether to charge VAT/sales tax.","enum":["Auto","Always","Never"],"type":"string"},"contact_name_on_invoices":{"description":"Show the contact's name on invoices.","type":"boolean"},"country":{"description":"Country name, e.g. United Kingdom.","type":"string"},"default_payment_terms_in_days":{"description":"Default payment terms for invoices to this contact.","maximum":9007199254740991,"minimum":0,"type":"integer"},"email":{"description":"Email address.","type":"string"},"first_name":{"description":"Contact first name.","type":"string"},"last_name":{"description":"Contact last name.","type":"string"},"locale":{"description":"Invoice language locale, e.g. en.","type":"string"},"mobile":{"description":"Mobile number.","type":"string"},"organisation_name":{"description":"Organisation / company name.","type":"string"},"phone_number":{"description":"Phone number.","type":"string"},"postcode":{"description":"Postcode.","type":"string"},"region":{"description":"Region / county.","type":"string"},"sales_tax_registration_number":{"description":"The contact's VAT registration number.","type":"string"},"town":{"description":"Town or city.","type":"string"}},"type":"object"},"name":"freeagent_create_contact"},{"description":"Create a sales invoice in DRAFT status. Nothing is sent to the customer and nothing is posted as income until it is marked sent in FreeAgent; a draft can be edited or discarded there. FreeAgent: POST /v2/invoices.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"comments":{"description":"Comments printed on the invoice.","type":"string"},"contact":{"description":"The contact being invoiced's numeric id or full FreeAgent URL.","type":"string"},"currency":{"description":"ISO currency code, e.g. GBP (defaults to the company currency).","maxLength":3,"minLength":3,"type":"string"},"dated_on":{"description":"Invoice date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"discount_percent":{"description":"Whole-invoice discount percentage.","maximum":100,"minimum":0,"type":"number"},"due_on":{"description":"Explicit due date, if not derived from payment terms (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"exchange_rate":{"description":"Exchange rate for a foreign-currency invoice.","exclusiveMinimum":0,"type":"number"},"invoice_items":{"description":"The invoice lines.","items":{"properties":{"description":{"description":"Line description.","type":"string"},"item_type":{"description":"Unit type of the line (e.g. Hours, Days, Services, Products).","enum":["Hours","Days","Weeks","Months","Years","Products","Services","Training","Expenses","Comment","Bills","Discount","Credit","VAT","Stock"],"type":"string"},"price":{"description":"Unit price, in the invoice currency (required for non time-based items).","type":"number"},"quantity":{"description":"Quantity (default 0).","type":"number"},"sales_tax_rate":{"description":"VAT rate percentage for this line, e.g. 20.","minimum":0,"type":"number"}},"required":["description"],"type":"object"},"minItems":1,"type":"array"},"payment_terms_in_days":{"description":"Payment terms in days; 0 = due on receipt.","maximum":9007199254740991,"minimum":0,"type":"integer"},"po_reference":{"description":"The customer's purchase-order reference.","type":"string"},"project":{"description":"The project's numeric id or full FreeAgent URL.","type":"string"},"reference":{"description":"Invoice reference/number; omit to use the next in sequence.","type":"string"}},"required":["contact","dated_on","payment_terms_in_days","invoice_items"],"type":"object"},"name":"freeagent_create_draft_invoice"},{"description":"Log time against a project task for a user. Get the user from freeagent_get_current_user and the task from freeagent_list_tasks. Editable or removable in FreeAgent afterwards. FreeAgent: POST /v2/timeslips.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"comment":{"description":"What the time was spent on.","type":"string"},"dated_on":{"description":"Day the work was done (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"hours":{"description":"Hours worked, e.g. 1.5.","exclusiveMinimum":0,"maximum":24,"type":"number"},"project":{"description":"The project's numeric id or full FreeAgent URL.","type":"string"},"task":{"description":"The task's numeric id or full FreeAgent URL.","type":"string"},"user":{"description":"The user's numeric id or full FreeAgent URL.","type":"string"}},"required":["user","project","task","dated_on","hours"],"type":"object"},"name":"freeagent_create_timeslip"},{"description":"Balance sheet — capital and current assets, liabilities and owners' equity — as at a date (default today). FreeAgent: GET /v2/accounting/balance_sheet.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"as_at_date":{"description":"Balance sheet date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},"type":"object"},"name":"freeagent_get_balance_sheet"},{"description":"Fetch the FreeAgent company these credentials belong to — name, type (e.g. UkLimitedCompany), currency, start date and VAT registration status. A cheap way to confirm the setup works. FreeAgent: GET /v2/company.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"type":"object"},"name":"freeagent_get_company"},{"description":"Fetch a single contact by id or URL. FreeAgent: GET /v2/contacts/:id.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"contact":{"description":"The contact's numeric id or full FreeAgent URL.","type":"string"}},"required":["contact"],"type":"object"},"name":"freeagent_get_contact"},{"description":"Fetch the FreeAgent user the token acts as, including their URL (needed for freeagent_create_timeslip) and permission level. FreeAgent: GET /v2/users/me.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"type":"object"},"name":"freeagent_get_current_user"},{"description":"Fetch a single invoice by id or URL, with its line items, totals, due and paid values. FreeAgent: GET /v2/invoices/:id.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"invoice":{"description":"The invoice's numeric id or full FreeAgent URL.","type":"string"}},"required":["invoice"],"type":"object"},"name":"freeagent_get_invoice"},{"description":"Profit and loss summary — income, expenses, operating and retained profit — for a date range or an accounting period (defaults to the current year to date). FreeAgent: GET /v2/accounting/profit_and_loss/summary.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"accounting_period":{"description":"An accounting year instead of dates, e.g. 2025/26.","pattern":"^\\d{4}\\/\\d{2}$","type":"string"},"from_date":{"description":"Period start (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"to_date":{"description":"Period end (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},"type":"object"},"name":"freeagent_get_profit_and_loss"},{"description":"List upcoming tax deadlines and amounts due — VAT returns, corporation tax, self assessment and so on. FreeAgent: GET /v2/company/tax_timeline.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"type":"object"},"name":"freeagent_get_tax_timeline"},{"description":"List bank, credit-card and PayPal accounts with their current balances. Use an account's URL with freeagent_list_bank_transactions. FreeAgent: GET /v2/bank_accounts.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"view":{"description":"Only one kind of account.","enum":["standard_bank_accounts","credit_card_accounts","paypal_accounts"],"type":"string"}},"type":"object"},"name":"freeagent_list_bank_accounts"},{"description":"List the transactions on one bank account, e.g. view=unexplained for what still needs reconciling. FreeAgent: GET /v2/bank_transactions?bank_account=….","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"bank_account":{"description":"The bank account's numeric id or full FreeAgent URL.","type":"string"},"from_date":{"description":"Transactions dated on or after (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"last_uploaded":{"description":"Only transactions from the latest statement upload.","type":"boolean"},"page":{"description":"Page number, starting at 1.","maximum":9007199254740991,"minimum":1,"type":"integer"},"per_page":{"description":"Items per page, 1-100 (default 25).","maximum":100,"minimum":1,"type":"integer"},"to_date":{"description":"Transactions dated on or before (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"updated_since":{"description":"Only records updated since this ISO 8601 timestamp, e.g. 2026-01-01T00:00:00Z.","type":"string"},"view":{"description":"Filter (default all). unexplained = not yet reconciled.","enum":["all","unexplained","explained","manual","imported","marked_for_review"],"type":"string"}},"required":["bank_account"],"type":"object"},"name":"freeagent_list_bank_transactions"},{"description":"List supplier bills (purchases), optionally by date range, contact or project, filtered by status. FreeAgent: GET /v2/bills.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"contact":{"description":"Only for this contact — its numeric id or full FreeAgent URL.","type":"string"},"from_date":{"description":"Bills dated on or after (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"nested_bill_items":{"description":"Include each bill's line items.","type":"boolean"},"page":{"description":"Page number, starting at 1.","maximum":9007199254740991,"minimum":1,"type":"integer"},"per_page":{"description":"Items per page, 1-100 (default 25).","maximum":100,"minimum":1,"type":"integer"},"project":{"description":"Only for this project — its numeric id or full FreeAgent URL.","type":"string"},"to_date":{"description":"Bills dated on or before (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"updated_since":{"description":"Only records updated since this ISO 8601 timestamp, e.g. 2026-01-01T00:00:00Z.","type":"string"},"view":{"description":"Filter by status.","enum":["all","open","overdue","open_or_overdue","open_or_overdue_payments","open_or_overdue_refunds","paid","recurring","hire_purchase","cis"],"type":"string"}},"type":"object"},"name":"freeagent_list_bills"},{"description":"List contacts (clients and suppliers), with their account balance. FreeAgent: GET /v2/contacts.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"page":{"description":"Page number, starting at 1.","maximum":9007199254740991,"minimum":1,"type":"integer"},"per_page":{"description":"Items per page, 1-100 (default 25).","maximum":100,"minimum":1,"type":"integer"},"sort":{"description":"Sort order; a leading - means descending.","enum":["name","-name","created_at","-created_at","updated_at","-updated_at"],"type":"string"},"updated_since":{"description":"Only records updated since this ISO 8601 timestamp, e.g. 2026-01-01T00:00:00Z.","type":"string"},"view":{"description":"Filter (default active). open_clients = clients with unpaid invoices.","enum":["all","active","clients","suppliers","active_projects","completed_projects","open_clients","open_suppliers","hidden"],"type":"string"}},"type":"object"},"name":"freeagent_list_contacts"},{"description":"List expense claims (out-of-pocket spending and mileage), optionally by date range or project. FreeAgent: GET /v2/expenses.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"from_date":{"description":"Expenses dated on or after (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"page":{"description":"Page number, starting at 1.","maximum":9007199254740991,"minimum":1,"type":"integer"},"per_page":{"description":"Items per page, 1-100 (default 25).","maximum":100,"minimum":1,"type":"integer"},"project":{"description":"Only for this project — its numeric id or full FreeAgent URL.","type":"string"},"to_date":{"description":"Expenses dated on or before (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"updated_since":{"description":"Only records updated since this ISO 8601 timestamp, e.g. 2026-01-01T00:00:00Z.","type":"string"},"view":{"description":"recent or recurring expenses.","enum":["recent","recurring"],"type":"string"}},"type":"object"},"name":"freeagent_list_expenses"},{"description":"List sales invoices, optionally for one contact or project, filtered by status. FreeAgent: GET /v2/invoices.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"contact":{"description":"Only for this contact — its numeric id or full FreeAgent URL.","type":"string"},"nested_invoice_items":{"description":"Include each invoice's line items.","type":"boolean"},"page":{"description":"Page number, starting at 1.","maximum":9007199254740991,"minimum":1,"type":"integer"},"per_page":{"description":"Items per page, 1-100 (default 25).","maximum":100,"minimum":1,"type":"integer"},"project":{"description":"Only for this project — its numeric id or full FreeAgent URL.","type":"string"},"sort":{"description":"Sort order (default created_at); a leading - means descending.","enum":["created_at","-created_at","updated_at","-updated_at"],"type":"string"},"updated_since":{"description":"Only records updated since this ISO 8601 timestamp, e.g. 2026-01-01T00:00:00Z.","type":"string"},"view":{"description":"Filter: all, recent_open_or_overdue, open, overdue, open_or_overdue, draft, paid, scheduled_to_email, thank_you_emails, reminder_emails, or last_N_months (e.g. last_3_months).","pattern":"^(all|recent_open_or_overdue|open|overdue|open_or_overdue|draft|paid|scheduled_to_email|thank_you_emails|reminder_emails|last_\\d+_months)$","type":"string"}},"type":"object"},"name":"freeagent_list_invoices"},{"description":"List projects, optionally for one contact. FreeAgent: GET /v2/projects.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"contact":{"description":"Only for this contact — its numeric id or full FreeAgent URL.","type":"string"},"nested":{"description":"Embed the related contact instead of its URL.","type":"boolean"},"page":{"description":"Page number, starting at 1.","maximum":9007199254740991,"minimum":1,"type":"integer"},"per_page":{"description":"Items per page, 1-100 (default 25).","maximum":100,"minimum":1,"type":"integer"},"sort":{"description":"Sort order; a leading - means descending.","enum":["name","-name","contact_name","-contact_name","contact_display_name","-contact_display_name","created_at","-created_at","updated_at","-updated_at"],"type":"string"},"view":{"description":"Filter by status.","enum":["active","completed","cancelled","hidden"],"type":"string"}},"type":"object"},"name":"freeagent_list_projects"},{"description":"List project tasks with their billing rates, optionally for one project. A task's URL is needed for freeagent_create_timeslip. FreeAgent: GET /v2/tasks.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"page":{"description":"Page number, starting at 1.","maximum":9007199254740991,"minimum":1,"type":"integer"},"per_page":{"description":"Items per page, 1-100 (default 25).","maximum":100,"minimum":1,"type":"integer"},"project":{"description":"Only for this project — its numeric id or full FreeAgent URL.","type":"string"},"sort":{"description":"Sort order (default name).","enum":["name","project","billing_rate","created_at","updated_at"],"type":"string"},"updated_since":{"description":"Only records updated since this ISO 8601 timestamp, e.g. 2026-01-01T00:00:00Z.","type":"string"},"view":{"description":"Filter by status (default all).","enum":["all","active","completed","hidden"],"type":"string"}},"type":"object"},"name":"freeagent_list_tasks"},{"description":"List logged time, optionally by date range, user, task or project; view=unbilled for time not yet invoiced. FreeAgent: GET /v2/timeslips.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"from_date":{"description":"Timeslips dated on or after (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"nested":{"description":"Embed related user, task and project instead of URLs.","type":"boolean"},"page":{"description":"Page number, starting at 1.","maximum":9007199254740991,"minimum":1,"type":"integer"},"per_page":{"description":"Items per page, 1-100 (default 25).","maximum":100,"minimum":1,"type":"integer"},"project":{"description":"Only for this project — its numeric id or full FreeAgent URL.","type":"string"},"task":{"description":"Only for this task — its numeric id or full FreeAgent URL.","type":"string"},"to_date":{"description":"Timeslips dated on or before (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"updated_since":{"description":"Only records updated since this ISO 8601 timestamp, e.g. 2026-01-01T00:00:00Z.","type":"string"},"user":{"description":"Only for this user — its numeric id or full FreeAgent URL.","type":"string"},"view":{"description":"Filter (default all).","enum":["all","unbilled","running"],"type":"string"}},"type":"object"},"name":"freeagent_list_timeslips"},{"description":"Update fields on an existing contact; only the fields you pass change. status=Hidden hides it (reversible with Active). FreeAgent: PUT /v2/contacts/:id.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"address1":{"description":"Address line 1.","type":"string"},"address2":{"description":"Address line 2.","type":"string"},"address3":{"description":"Address line 3.","type":"string"},"billing_email":{"description":"Email address invoices are sent to.","type":"string"},"charge_sales_tax":{"description":"Whether to charge VAT/sales tax.","enum":["Auto","Always","Never"],"type":"string"},"contact":{"description":"The contact's numeric id or full FreeAgent URL.","type":"string"},"contact_name_on_invoices":{"description":"Show the contact's name on invoices.","type":"boolean"},"country":{"description":"Country name, e.g. United Kingdom.","type":"string"},"default_payment_terms_in_days":{"description":"Default payment terms for invoices to this contact.","maximum":9007199254740991,"minimum":0,"type":"integer"},"email":{"description":"Email address.","type":"string"},"first_name":{"description":"Contact first name.","type":"string"},"last_name":{"description":"Contact last name.","type":"string"},"locale":{"description":"Invoice language locale, e.g. en.","type":"string"},"mobile":{"description":"Mobile number.","type":"string"},"organisation_name":{"description":"Organisation / company name.","type":"string"},"phone_number":{"description":"Phone number.","type":"string"},"postcode":{"description":"Postcode.","type":"string"},"region":{"description":"Region / county.","type":"string"},"sales_tax_registration_number":{"description":"The contact's VAT registration number.","type":"string"},"status":{"description":"Hide or unhide the contact.","enum":["Active","Hidden"],"type":"string"},"town":{"description":"Town or city.","type":"string"}},"required":["contact"],"type":"object"},"name":"freeagent_update_contact"}]},"body_sha256":"28344c1e2a1918967415259f867d85ba9b13ec105d3fda62de1637ad0795f736","prev_id":null,"leaf":"0xb8d55a0fa8b9d5a562fd3c3e07f78de0529abb7630fe15637dbe4ec738e0f560","leaf_text":"{\"body\":\"28344c1e2a1918967415259f867d85ba9b13ec105d3fda62de1637ad0795f736\",\"id\":300627,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793053560980012,\"prev\":null,\"subject\":\"da06cffd-046d-4b2d-a5d9-78984cdd28d0\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0xb8d4db7c2d56c075b19226cb12afdf0c1627d5894ffb464e9900f1ba41ebad08","0x6c58f15a874d8058ea220bf877ecad4d2582feb9186eeea9e54a52d34b8ae2ab","0x516cddfa606e01d95cbf98848c5bc3927d4ff96e54655406e8df9eefcd2e9c32","0x0a76b22d0f05f4b57c39ba3f286ff7d6f492cbf8a0b3bec151f414c7a7037860","0xa3a18301470b7031d0b16f39c3fcbd356ebefcb167f528b27249c1a4d0b77b46","0x18987ac066ce5db8c276ab1b332e98c2d86f218cef63c9826804087b9e43a127","0x043b303a86320cc4fc6e5c8a97657fbd32da8ea8e97b11d2697098d7e5c38061","0xcfb0029c40c5ac7d0cc542853a144b9b134585d3dd58d2ae9a35beeeca4af4e4","0x37e517ac81eae3b7334c27f90ebc74468b578b4dcd792ca4638218e0f7f6daa2","0x258835beede438ebebc963b639363480e6d4ea3839ccb62aeaaad82cefc2fe04","0xcf50b54d8921f0c22877e0b8d6b8393a1954218f000f7cac374e9f40a024f700","0xb6efd79902cac6d5a402ebecb8069402f00961ab80cd71b4d647fbc686d975ec","0x2f43fe2b2533a5f40c107c114e458e226102f5f8ae91f097e964345880e30928","0xf692ce2b0a640ec9f75aa960e5fb1c2c7091a04e24881798735752c19014e519","0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1","0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452","0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40","0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}