Fieldwire MCP by usefulapi

io.usefulapi/fieldwire

Read Fieldwire projects, tasks, plans, forms, RFIs and submittals; create and update tasks.

Yes, your AI can use this right now.Answered a live MCP handshake in 177 ms with no sign-in needed and exposes 22 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://fieldwire.usefulapi.io/mcp

22 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
fieldwire_get_accountread-only

The Fieldwire account this API token belongs to: id, company name and address, enabled modules (submittals, change orders, RFIs, specs, BIM) and the owner. GET /account on the account host.

fieldwire_list_account_usersread-only

All users on the account (and users invited to its projects) with name, company, email, account role and the number of projects each is in. User ids are what tasks use for owner and assignees. GET /account/users on the account host.

fieldwire_list_projectsread-only

Projects the token's user can access in the region chosen at login: id, name, code, address, time zone, plan and archive state. Filter by name, code, archive state or update time. Use the id in every other tool. GET /api/v3/projects.

fieldwire_get_projectread-only

One project by id: name, code, address, time zone, currency, plan, enabled features and owner email. GET /api/v3/projects/{id}.

fieldwire_list_project_usersread-only

Users on one project with name, company, job title, email and phone. The integer id is what tasks use for owner_user_id and user_ids. Filter by email, name or company. GET /api/v3/account/projects/{project_id}/users.

fieldwire_list_tasksread-only

Tasks (punch items, issues) in a project: name, status_id, team_id, location_id, floorplan_id, owner and assignee user ids, priority, dates and cost. Filter by status, team, location, plan, owner, name, tag and dates. Resolve ids with fieldwire_list_task_statuses, _list_teams, _list_locations and _list_project_users. GET /api/v3/projects/{project_id}/tasks.

fieldwire_get_taskread-only

One task by id with all its fields. GET /api/v3/projects/{project_id}/tasks/{id}.

fieldwire_list_task_statusesread-only

The task statuses of a project (id, name, order, kind open/tracked/verified, default flag). Use the id as status_id on tasks. GET /api/v3/projects/{project_id}/statuses.

fieldwire_list_teamsread-only

Teams of a project (id, name, handle). The Fieldwire app calls them 'categories' on tasks; tasks carry a team_id. GET /api/v3/projects/{project_id}/teams.

fieldwire_list_locationsread-only

Locations of a project (id, name, parent location_id). Tasks carry a location_id. GET /api/v3/projects/{project_id}/locations.

fieldwire_list_task_check_itemsread-only

Checklist items of all tasks in a project: name, checked flag, state (empty/yes/no/not_applicable) and task_id (match it to the task). GET /api/v3/projects/{project_id}/task_check_items.

fieldwire_list_floorplansread-only

Plans (floorplans) of a project: id, name, description, folder and sheet count. Filter by name, tag or dates. Set with_current_sheet to include each plan's current sheet. GET /api/v3/projects/{project_id}/floorplans.

fieldwire_list_sheetsread-only

Sheets (plan versions) of a project: id, name, file name, version, floorplan_id and file URLs. Filter by plan, folder, name or dates. GET /api/v3/projects/{project_id}/sheets.

fieldwire_list_attachmentsread-only

Files, photos, videos and 360 photos attached in a project: id, name, kind, size, capture time and file URLs. Filter by kind. GET /api/v3/projects/{project_id}/attachments.

fieldwire_list_formsread-only

Forms (inspections, daily reports, checklists) of a project: id, name, template, status, owner, dates. Forms need a Business plan. Use fieldwire_get_form_full for the filled-in values. GET /api/v3/projects/{project_id}/forms.

fieldwire_get_formread-only

One form by id (header data only, not the filled-in values). GET /api/v3/projects/{project_id}/forms/{id}.

fieldwire_get_form_fullread-only

A form with its sections, inputs and filled-in values. Two steps: call without jid to start the job (Fieldwire answers with a jid); then call again with that jid until the form comes back (answer 'pending' means not ready, retry). GET /api/v3/projects/{project_id}/forms/{id}/full.

fieldwire_list_form_templatesread-only

Form templates of a project: id, name, version, publish state. Use the id to filter forms. GET /api/v3/projects/{project_id}/form_templates.

fieldwire_list_rfisread-only

RFIs (requests for information) of a project: number, name, question, answer, status, assignee, due date. Needs the RFI module. Filter by status, assignee, text, overdue or dates. GET /api/v3/projects/{project_id}/rfis.

fieldwire_list_submittalsread-only

Submittals of a project: number, name, status, revision, key dates. Needs the submittals module. Filter by status, assignee, text, overdue or dates. GET /api/v3/projects/{project_id}/submittals.

fieldwire_create_task

WRITE: creates a new task in a project. It is sent once and never retried; if the reply is an error, check fieldwire_list_tasks before creating it again, or you may get a duplicate. owner_user_id and priority are required; creator_user_id defaults to the owner. Find user ids with fieldwire_list_project_users. POST /api/v3/projects/{project_id}/tasks.

fieldwire_update_taskcan modify

WRITE: changes fields of one task (only the fields you pass; user_ids replaces the whole assignee list; null clears a field that allows it). Use it to set the status, owner, assignees, priority or dates. It does not delete the task. Sent once, never retried. PATCH /api/v3/projects/{project_id}/tasks/{id}.

Alternatives in Productivity

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”