Benetics MCP server

Connect Claude, or any other AI agent that supports the Model Context Protocol (MCP), to your construction projects in Benetics.

Benetics is a construction management app for planning, tracking, and documenting work on site. With the Benetics connector, your agent can look up your projects, tasks, plans, documents, and photos, and propose new tasks and changes for you to review in Benetics.

Requirements

Connect

Claude

  1. In Claude, open Settings → Connectors and select Browse connectors.
  2. Find Benetics and select Connect.
  3. Sign in to Benetics in the window that opens, the same way you sign in to the app.
  4. Review what Claude may do, and select Allow. Claude can then read your Benetics data, and propose changes that stay drafts until you publish them.

Other MCP clients

Add a remote MCP server with this URL:

https://mcp.benetics.io/mcp

The server uses Streamable HTTP and OAuth 2.1. Clients can register themselves through dynamic client registration or a client ID metadata document, so you don't need a client ID or API key. Your client opens the Benetics sign-in when it first connects.

How proposed changes work

The agent can't change anything in Benetics directly. Tools whose names start with propose_ create drafts of entities in Benetics, e.g. tasks or project members.

Proposing changes needs your permission, which Benetics asks for when you connect.

Example prompts

Which tasks on the Seefeld project are still open, and which of them are overdue?

The agent finds the project with list_projects, lists its open tasks with list_tasks, and compares their due dates with today.

Here are my notes from today's site walk. Create a task for each defect, and assign the electrical ones to Marco.

The agent looks up the project's members with list_project_members and proposes one task per defect with propose_task. You review the draft tasks in Benetics and publish them.

Which plans and documents does the Hauptstrasse project have, and which floors do the plans cover?

The agent lists plans and documents with list_plans and list_documents, and looks up each plan's floors with get_plan.

Move every open task assigned to Anna on the school project to next Friday, and add Lukas to the project.

The agent proposes the new due dates with propose_task_changes and the new member with propose_project_member, ready for you to review.

Tools

Read tools

These only read data you can already see in Benetics.

List organizations

list_organizations

List the organizations the user belongs to, a page at a time.

List organization members

list_organization_members

List the members of one of the user's organizations, a page at a time.

External collaborators of the organization aren't members, and aren't listed.

List projects

list_projects

List the user's construction projects in Benetics, a page at a time.

These are the projects the user is a member of, and those of the organizations they own. Use a project's project_id with the other tools.

Get project

get_project

Get a construction project in Benetics, with the organizations owning it and the labels its tasks may have.

List project members

list_project_members

List the people on a construction project, a page at a time.

List tasks

list_tasks

List the tasks of a construction project, a page at a time.

Tasks are issues and work items on site, such as defects to fix. Use get_task for a task's description, labels, checklist, and plan.

Tasks show the user's pending drafts applied, and include tasks they have only drafted; tasks they've proposed to delete are left out.

Get task

get_task

Get a task on a construction project, with its details.

The task shows the user's pending draft applied, including a proposal to delete it.

List documents

list_documents

List the documents of a construction project, a page at a time.

Documents show the user's pending drafts applied, and include documents they have only drafted.

Get document

get_document

Get a document of a construction project, with its labels and uploader.

The document shows the user's pending draft applied.

List photos

list_photos

List the photos of a construction project, a page at a time.

Photos are ordered by when they were added to Benetics, and include the photos the user has drafted.

List plans

list_plans

List the construction plans of a project, a page at a time.

Get plan

get_plan

Get a construction plan, with its floors, types, and labels.

Propose tools

These create drafts that only you see until you publish them in Benetics. They never change live data.

Propose an organization member

propose_organization_member

Propose adding a person to one of the user's organizations, as a participant.

The addition is a draft that only the user sees, until they review and publish it in the Benetics app.

Propose a project member

propose_project_member

Propose adding a person to a construction project, as a participant.

The addition is a draft that only the user sees, until they review and publish it in the Benetics app.

Propose a task

propose_task

Propose a new task in a construction project.

The task is a draft that only the user sees, until they review and publish it in the Benetics app.

Propose task changes

propose_task_changes

Propose changes to a task. Only the given fields change.

The changes are a draft that only the user sees, until they review and publish it in the Benetics app; proposing again edits the same draft.

Propose deleting a task

propose_task_deletion

Propose deleting a task.

The deletion is a draft that only the user sees, until they review and publish it in the Benetics app. For a task the user has only drafted, the draft is discarded instead.

Propose a document

propose_document

Propose a new document in a construction project, from an uploaded file.

The document is a draft that only the user sees, until they review and publish it in the Benetics app.

Propose a photo

propose_photo

Propose a new photo in a construction project, from an uploaded JPEG or PNG image.

The photo is a draft that only the user sees, until they review and publish it in the Benetics app.

Propose a plan

propose_plan

Propose a new construction plan in a project, from an uploaded PDF.

The plan is a draft that only the user sees, until they review and publish it in the Benetics app.

Request a file upload

request_file_upload

Request an upload, to propose a document, photo, or plan from a file you can read, such as one the user attached.

Run upload_command in a shell to upload the file, then pass file_upload_id to propose_document, propose_photo, or propose_plan. An upload is used once.

The command runs where you run commands, not on the user's device, and connects to this server's host and its storage's host (see hosts). Where network access is limited to allowed domains, such as in a code execution sandbox, it fails until the user allows both hosts in their client's settings. If you know your network is limited, say so before uploading. If the upload fails, tell the user which hosts to allow, or that they can add the file in the Benetics app instead. Don't give them the command or its links: they only work from a shell.

Here, those hosts are testing-mcp.benetics.io and s3.eu-central-1.amazonaws.com.

Data and privacy

Disconnect

In Claude, open Settings → Connectors, select Benetics, and select Disconnect. In other clients, remove the Benetics server from the client's settings. Drafts the agent proposed stay in Benetics until you publish or discard them.

Troubleshooting

“Not enabled for your account”

You're signed in through a shared link, which can't be connected. Sign in with your own Benetics account.

A project or task is missing

The agent only sees projects you're a member of, or that belong to an organization you own. Check that you can see the project in the Benetics app with the same account.

Proposed changes don't show up for my team

Proposed changes are drafts that only you see. Open them in the Benetics app and publish them.

The agent can read but can't propose changes

The connection was allowed to read only. Disconnect Benetics, connect it again, and allow it to propose changes.

Support

Questions or problems? Email support@benetics.ai. Developers can also read the Benetics API reference.