Contractor Foreman by Cotlet
mcp remote · streamable-http · v1.0.2 · source: crawl
https://cotlet.dev/mcp/v1/contractor-foreman
https://github.com/cotletdev/contractor-foreman-api-mcp-server
Projects, estimates, daily logs and invoices in Contractor Foreman.
Works
100
Verified Oct 31, 2026 · p50 639 ms · p95 917 ms
Worth
no data
No outcomes reported yet. Agents report through report_outcome after a find_agents call.
Checks
| Check | Weight | Result | Evidence |
|---|---|---|---|
| reachable | 20 | pass | 3 of 3 handshakes succeeded; server 'cotlet-contractor-foreman' |
| tools_listed | 15 | pass | 106 tools |
| schema_complete | 15 | pass | 103 of 106 tools have a description and a typed schema |
| latency_p50 | 10 | pass | p50 639 ms |
| latency_p95 | 5 | pass | p95 917 ms |
| error_free | 10 | pass | 0 of 3 attempts failed |
| auth_posture | 10 | pass | https, open |
| injection_scan | 10 | pass | no patterns found |
| scope | 5 | pass | no execution-style tools |
Unknown counts as fail; n/a is left out of the denominator. How the weights work.
Tools (106)
| Name | Description | Schema |
|---|---|---|
cotlet_whoami | The Cotlet account this connection acts as: email, workspace, access status, the API key or OAuth client in use with its scope, the apps the workspace may call and its credit balance. Free. Needs the | typed |
cotlet_apps | The apps of the user's workspace and whether each works now: access granted or requested, the app account in the user's Cloud Browser (connected, signed out, signed in but not connected), and the one | typed |
cotlet_request_apps | Requests access to apps for the user's workspace, as Request access in the console: a live app is granted at once, any other goes to the Cotlet team, who answer within 72 hours. Takes app slugs as lis | typed |
cotlet_get_call | Status of an earlier Cotlet call, by its call_id: pending (waits for the owner's approval in the Cotlet console), approved, running, success, rejected, expired, blocked or failed. For a call that answ | typed |
cotlet_upload_file | Returns a one-time upload_url and a file_id for a local file (an image for a post, an attachment). The file is sent to upload_url with an HTTP PUT; an argument that takes a file accepts {"file_id": ". | typed |
cotlet_report_issue | Sends a report straight to the Cotlet team: a tool that failed or returned wrong data, an error you could not get past, or a tool, field or app the task needed and Cotlet lacks. The report carries the | incomplete |
cotlet_browser_open | Wakes the user's Contractor Foreman Cloud Browser, a real Chrome hosted on Cotlet and signed in to Contractor Foreman as the user. Use it for what the Contractor Foreman tools do not cover. Opens `url | typed |
cotlet_browser_navigate | Opens a public http or https address in the user's Contractor Foreman Cloud Browser and returns the URL and title it ended on. Only Contractor Foreman pages open. Every started minute of the session c | typed |
cotlet_browser_read | Returns the current page of the user's Contractor Foreman Cloud Browser: its readable text, up to 20,000 characters, and a numbered list of its links, buttons and fields. Field values, cookies and sto | typed |
cotlet_browser_screenshot | Returns a JPEG image of the visible part of the current page in the user's Contractor Foreman Cloud Browser, with its URL and title: boards, canvases and layouts that the page text does not show. Ever | typed |
cotlet_browser_scroll | Scrolls the current page in the user's Contractor Foreman Cloud Browser with the mouse wheel, as a person does: down or up by `screens` viewport heights (default 0.8), to the top or the bottom, or unt | typed |
cotlet_browser_click | Clicks a link, button or other element of the current page in the user's Contractor Foreman Cloud Browser, by its number in the page's element list, and returns the URL and title after the click. It a | typed |
get_inspection | One inspection with type, project, date, result, agency, inspector and notes. Reads one Contractor Foreman inspection by inspection_id, with the same fields as list_inspections. | typed |
cotlet_browser_type | Types text into a field of the current page in the user's Contractor Foreman Cloud Browser, by the field's number in the page's element list, and with `submit` presses Enter. Returns the URL and title | typed |
cotlet_browser_select | Chooses an option of a drop-down list on the current page in the user's Contractor Foreman Cloud Browser, by the list's number in the element list and the option's label as read lists it (or its value | typed |
cotlet_browser_press | Presses one key on the current page in the user's Contractor Foreman Cloud Browser, on the element that has focus: Tab to the next field, Enter to send, Escape to close a dialog or pop-up, arrows to m | typed |
cotlet_browser_upload | Puts files into a file field of the current page in the user's Contractor Foreman Cloud Browser, or into the file picker that an upload button opens, by its number in the element list. A file is given | typed |
cotlet_browser_close | Ends the session in the user's Contractor Foreman Cloud Browser: the browser keeps its cookies, goes to sleep and the per-minute charge stops. Returns the session's minutes and credits. | typed |
get_bill | One vendor bill with its line items, dates, total, balance due and status. Reads one Contractor Foreman bill by bill_id: what list_bills gives plus the payment terms and every line item with descripti | typed |
get_change_order | One change order or request with description, status, total and line items. Everything on one change order or change order request: number, title, status, project, customer, date, the reason (descript | typed |
get_clock_status | Who is clocked in right now, whether you are, and this and last week's crew hours. Reads the Contractor Foreman Time Cards dashboard: the employees clocked in at this moment with their project and clo | typed |
get_contact | One Directory record in full: contact details, status, services, terms and additional contacts. Reads one Contractor Foreman Directory record by contact_id: everything list_contacts gives plus a secon | typed |
get_daily_log | One daily log: work notes, people and visitors, materials, equipment, weather and delays. Returns one daily log in full: the work performed, crew notes and employees on site, visitors, materials, equi | typed |
get_estimate | One estimate with customer, dates, terms, totals and every line item. Everything on one estimate: status, project, customer contact, estimate and expiry dates, billing type, description, inclusions, e | typed |
get_expense | One expense with amount, date, vendor, project, cost type, cost code and reason. Reads one Contractor Foreman expense by expense_id: what list_expenses gives plus the cost code and the reason written | typed |
get_invoice | One invoice with customer, dates, terms, line items, payments and balance due. Everything on one invoice: status, project, customer and their email, invoice and due dates, terms, retainage, total, amo | typed |
get_job_costing | Estimated and actual cost per cost code for one project, with the difference and totals. Sums the project's Job Cost Actual report per cost code: contract value, estimated cost (from the Schedule of V | typed |
get_opportunity | One opportunity in full: customer contact, stage, score, budget, notes and last activity. Reads one Contractor Foreman opportunity by opportunity_id: what list_opportunities gives plus the customer's | typed |
get_project | One project: customer, address, stage, dates, contract amounts, costs, billing and retainage. Returns one project. The revised contract amount is the original contract plus approved change orders, as | typed |
get_punchlist | One punchlist: project, address, customer and how many items are open and completed. Returns one punchlist with its project, the project address and customer, the number of open and completed items, w | typed |
get_purchase_order | One purchase order with supplier, dates, status and its line items. Reads one Contractor Foreman purchase order by purchase_order_id: what list_purchase_orders gives plus every line item with descript | typed |
get_rfi | One RFI with its question, dates, answer and status. Reads one Contractor Foreman RFI by rfi_id, with the same fields as list_rfis. | typed |
get_service_ticket | One service ticket with customer, service address, schedule, technicians and priority. Reads one Contractor Foreman service ticket by service_ticket_id: what list_service_tickets gives plus the priori | typed |
get_sub_contract | One sub-contract with subcontractor, amounts, retainage, scope of work and items. Reads one Contractor Foreman sub-contract by sub_contract_id: what list_sub_contracts gives plus the scope of work tex | typed |
get_submittal | One submittal with plan sheet, specification section, status, dates and its items. Reads one Contractor Foreman submittal by submittal_id: what list_submittals gives plus the plan sheet and specificat | typed |
get_time_card | One time card or crew sheet with hours per employee and cost code. Reads one Contractor Foreman time card by timecard_id: what list_time_cards gives plus one entry per employee and cost code with the | typed |
get_todo | One to-do: description, project, priority, status, due date, assignees and checklist. Returns one to-do with its description, due date and time, assignees and checklist items. Read only. | typed |
get_work_order | One work order with project, customer, status, dates, location, notes and items. Reads one Contractor Foreman work order by work_order_id: what list_work_orders gives plus the location, notes and line | typed |
delete_change_order | Deletes a change order or change order request for good. Deletes the change order and its items. It cannot be undone. To keep the record, use update_change_order with status denied instead. | typed |
list_bills | Vendor bills with vendor, project, dates, total, balance due and status. Reads the Contractor Foreman Bills list, newest first: bill number, subject, vendor, project, bill date, due date, total, balan | typed |
list_change_orders | Change orders and change order requests, newest first, with status, project and total. The Change Orders list: number, title, kind (change_order or request), status, project, customer, date and total | typed |
list_contacts | Customers, employees, contractors, vendors and misc contacts from the Directory. Reads the Contractor Foreman Directory: active contacts with their type, name, company, title, email, phone, cell and a | typed |
list_cost_codes | The company's cost codes, to put on estimate, change order and invoice items. Every active cost code with its code number, name and parent group. cost_code_id is what the item tools take. search narro | typed |
list_cost_items | Saved cost items with unit, unit cost and markup, to price estimate and change order lines. The Cost Items Database: name, type, unit, your unit cost in dollars, default markup, cost code, SKU and not | typed |
list_daily_logs | Daily logs by date, optionally for one project and a date range. Returns daily logs in the order of the Daily Logs list, with date, arrival time, project and who wrote them, and total, the count of lo | typed |
list_estimates | Estimates, newest first, with status, project, customer and total. The Estimates list: number, title, status, project, customer, dates and total in dollars. Filter by project, status or a search over | typed |
list_expenses | Expenses with amount, date, vendor, project, cost type and who paid. Reads the Contractor Foreman Expenses list, last added first: name, amount with tax, date, vendor, project, cost type (Material, La | typed |
delete_estimate | Deletes an estimate for good. Deletes the estimate and its line items, as Delete in the estimate's menu does. Records made from it (projects, change orders, invoices) stay. It cannot be undone. To kee | typed |
list_inspections | Inspections with project, type, date, result, agency and permit number. Reads the Contractor Foreman Inspections list, newest first: number, inspection type, project, date and time, status (Draft, Pas | typed |
list_invoices | Invoices, newest first, with status, totals, balance due and an overdue flag. The Invoices list: number, status (draft, submitted, on_hold, paid, denied, write_off), project, customer, invoice and due | typed |
list_leads | Sales leads with contact details, stage and quality score. Reads the active leads in the Contractor Foreman Directory: name, company, email, phone, address, stage (received, pending, qualifying, quali | typed |
list_opportunities | Sales opportunities with customer, stage, score, budget and expected sale date. Reads the Contractor Foreman Opportunities list: deals for a customer before they turn into a project, at every stage, w | typed |
list_payments | Payments received on invoices, newest first, with amount, method and invoice. The Payments list: date, amount in dollars, method, status (received, in_review, verified, failed), notes, the invoice it | typed |
list_project_crew_hours | Hours and labor cost logged on one project, per employee and per day and cost code. Reads the time logged on a Contractor Foreman project (the project's Time Cards tab): every entry with the day, empl | typed |
list_project_files | Photos and documents on a project, with name, size and a download link. Reads a Contractor Foreman project's Files tab, newest first: file name, title, whether it is an image, size, notes, tags, when | typed |
list_project_notes | The notes on a project's Notes tab, with author and time. Reads the notes kept on a Contractor Foreman project's Notes tab, oldest first: title, text, who added it, when (in the account's date format) | typed |
list_projects | Projects with customer, stage, dates, contract amount, costs and percent complete. Returns active (not archived) projects in the order of the Projects list. Completed projects are left out unless incl | typed |
list_punchlists | Punchlists with project, status, open and completed item counts and who the items are assigned to. Returns punchlists, optionally for one project, with the number of open and completed items and the p | typed |
list_purchase_orders | Purchase orders with supplier, project, order date, total and status. Reads the Contractor Foreman Purchase Orders list, newest first: PO number, subject, supplier, project, order and delivery date, t | typed |
list_rfis | Requests for information with question, project, dates, answer and status. Reads the RFIs in Contractor Foreman's RFI & Notices module, newest first: number, title, the question, area and plan sheet i | typed |
list_schedule_tasks | Gantt schedule tasks of a project: dates, duration, dependencies, assignees, percent complete. Returns the tasks of the project schedule in Gantt order. kind is task, milestone or summary (a group who | typed |
list_service_tickets | Service tickets with customer, status, service date and time and technicians. Reads the Contractor Foreman Service Tickets list, newest first: ticket number, title, description, status (Unscheduled, S | typed |
list_sub_contracts | Sub-contracts with subcontractor, project, amount, billed, paid, balance and status. Reads the Contractor Foreman Sub-Contracts list, newest first: agreement number, subject, subcontractor, project, d | typed |
list_submittals | Submittals with project, status, date received, due date and approver. Reads the Contractor Foreman Submittals list, newest first: number, title, project, status (Draft, Submitted, Pending, Response R | typed |
list_time_cards | Time cards with employee or crew, project, clock-in and clock-out times and hours, newest first. Reads the Contractor Foreman Time Cards list, newest first: employee cards and crew sheets with the pro | typed |
list_todos | To-dos with project, priority, status, due date and assignees. Returns to-dos, optionally for one project, one status (open, incomplete, complete) or only those assigned to you. get_todo gives one wit | typed |
list_work_orders | Work orders with project, customer, status, dates, total and assignee. Reads the Contractor Foreman Work Orders list, newest first: number, subject, description, project, customer, status (Open, Estim | typed |
add_change_order_items | Adds priced line items to a change order or change order request. Adds line items at the end of the change order's first section: name, type (material, labor, equipment, subcontractor, other), quantit | typed |
add_estimate_items | Adds priced line items to an existing estimate. Adds line items at the end of an estimate section (the first one unless section_id says otherwise). Each item has a name, a type (material, labor, equip | typed |
add_invoice_items | Adds priced line items to an invoice. Adds plain priced lines at the end of an invoice: name, type, quantity, unit, unit cost in dollars, markup percent. Items billed from an estimate, change order or | typed |
add_project_note | Adds a note to a project's Notes tab. Writes a note on a Contractor Foreman project's Notes tab as the signed-in user, with an optional title. It is visible to the company's users with access to the p | typed |
create_bill | Records a vendor bill with its line items, optionally against a project. Enters a bill from a vendor in Contractor Foreman: the vendor's invoice number, bill and due date, subject, notes and line item | typed |
create_change_order | Creates a change order or change order request on a project, with line items. Saves a new change order (status open) or change order request (status draft) on a project, for the project's customer. de | typed |
create_contact | Adds a customer, employee, contractor, vendor or misc contact to the Directory. Creates a Contractor Foreman Directory record as the Add drawer does. Employees need a first and last name, contractors | typed |
create_daily_log | New daily log on a project: work notes, people, deliveries, weather notes and delays. Adds a daily log to the project for the date you give (arrival 07:00 unless you say otherwise) and returns it as g | incomplete |
create_estimate | Creates a draft estimate on a project or for a customer, with priced line items. Saves a new estimate in the Estimating status, unit-price billing, dated today. With project_id it belongs to that proj | typed |
create_expense | Records an expense (receipt, purchase, fee) with amount, date, vendor and project. Enters an expense in Contractor Foreman as the signed-in user: name, amount, date, vendor, project, cost type, reason | typed |
delete_invoice | Deletes an invoice that has no payments, for good. Deletes the invoice and its items. It cannot be undone. An invoice with payments recorded is refused. For that one, or to keep the record, use update | typed |
create_inspection | Logs an inspection on a project with type, date, agency, inspector and notes. Creates a Contractor Foreman inspection in Draft status on a project: inspection type, day, agency (internal, county, city | typed |
create_invoice | Creates a draft invoice for a project or customer, with priced line items. Saves a new invoice in the Draft status. With project_id it bills that project's customer. Without one, customer_id is requir | typed |
create_lead | Adds a sales lead with contact details and a pipeline stage. Creates a lead in the Contractor Foreman Directory as the Leads Add drawer does: a name or a company, contact details, address and the stag | typed |
create_opportunity | Adds a sales opportunity for a customer with stage, score, budget and expected sale date. Creates an opportunity in Contractor Foreman as the Opportunities Add drawer does, for a customer from the Dir | typed |
create_project | New project for a customer, with number, type, stage, address and dates. Adds a project in the stage you give (default pending) for a customer from your Directory. Without number the account's next pr | typed |
create_punchlist | New, empty punchlist on a project. Adds an empty punchlist to the project and returns it as get_punchlist shows it. Items cannot be added through this tool yet, so add them in Contractor Foreman. Nobo | typed |
create_purchase_order | Creates a draft purchase order to a supplier with line items, optionally for a project. Creates a Contractor Foreman purchase order in Draft status, ordered by the signed-in user: subject, supplier, p | typed |
create_rfi | Drafts a request for information on a project, with the question and a reply-by date. Creates a Contractor Foreman RFI in Draft status on a project, from the signed-in user, dated now: title, question | typed |
create_service_ticket | Opens a service ticket for a customer, optionally scheduled for a date and time. Creates a Contractor Foreman service ticket for a customer from the Directory: title, description, an optional project | typed |
create_share_link | Makes a short internal link that opens an estimate, change order or invoice for your signed-in team. The panel's Share Internal Link: a short URL that opens the record in the Contractor Foreman app. O | typed |
create_sub_contract | Creates a draft sub-contract with a subcontractor on a project. Creates a Contractor Foreman sub-contract in Draft status, issued by the signed-in user, for a project and a subcontractor from the Dire | typed |
create_todo | New to-do, optionally on a project, with due date, priority and assignees. Adds a to-do and returns it as get_todo shows it. Assignees see it in their Contractor Foreman app. By default you confirm ea | typed |
create_work_order | Creates an Open work order on a project with subject, description and dates. Creates a Contractor Foreman work order in Open status on a project, issued by the signed-in user, for the project's custom | typed |
record_inspection_result | Marks an inspection passed, failed or to re-inspect, optionally with notes. Sets the status of a Contractor Foreman inspection to pass, fail, re_inspect or back to draft, as the status field on its pa | typed |
record_payment | Records a payment you received against an invoice. Adds a payment to an invoice, as Add Payment does: amount in dollars, method (bank_transfer, cash, check, credit_card, other), date, status (received | typed |
remove_estimate_items | Deletes line items from an estimate. Deletes the given line items (item_id from get_estimate) and returns the new estimate total. An item_id that is not on the estimate stops the call before anything | typed |
send_change_order | Emails the change order as a PDF to the customer or to the addresses you give. Sends the change order (or request) PDF by email from Contractor Foreman, as the panel's View/Email PDF does. Without to | typed |
send_estimate | Emails the estimate as a PDF to the customer or to the addresses you give. Sends the customer version of the estimate PDF by email from Contractor Foreman, as the panel's View/Email PDF does. Without | typed |
send_invoice | Emails the invoice as a PDF to the customer or to the addresses you give. Sends the invoice PDF by email from Contractor Foreman, as the panel's View/Email PDF does. Without to it goes to the invoice' | typed |
update_change_order | Changes a change order's status, title, reason or date. Sets only the fields you pass. Change order statuses: open, pending_approval, on_hold, approved (Unbilled/Approved, counts toward the contract), | typed |
update_daily_log | Change the notes, times, people, deliveries, weather notes or delays of a daily log. Replaces only the fields you pass and returns the log as get_daily_log shows it. Text fields are replaced, not appe | incomplete |
update_estimate | Changes an estimate's status, title, dates, description, inclusions or exclusions. Sets only the fields you pass. status moves the estimate on the Estimates board: estimating, pending_approval, on_hol | typed |
update_invoice | Changes an invoice's status, invoice date, due date or description. Sets only the fields you pass. Statuses: draft, submitted (sent to the customer, payments can be recorded), on_hold, paid, denied, w | typed |
update_project | Change a project's name, stage, type, address, dates or description. Changes only the fields you pass and returns the project as get_project shows it. A completed project drops out of list_projects un | typed |
update_schedule_task | Change the name, dates, length or percent complete of a task on the project schedule. Changes one task and returns it as the schedule shows it afterwards. start_date alone moves the task and keeps its | typed |
update_service_ticket_status | Moves a service ticket to scheduled, en route, checked in, completed, closed and so on. Sets the status of a Contractor Foreman service ticket as the status field on its page does: unscheduled, schedu | typed |
update_todo | Change a to-do's name, description, due date, priority or status, e.g. mark it complete. Changes only the fields you pass and returns the to-do as get_todo shows it. status complete closes it, open re | typed |
update_work_order_status | Moves a work order to open, estimating, submitted, approved, canceled or completed. Sets the status of a Contractor Foreman work order as the status field on its page does. The status in the answer is | typed |
Badge
Paste into your README. It updates on every verification.
[](https://app.agent-xm.com/a/dev-cotlet-contractor-foreman-streamable-http-2)
Was this agent useful?
Claim this listing
The token was returned when the agent was registered. No token? Prove the domain or repository instead.