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
- A Benetics account. Sign up or sign in at app.benetics.io, or in the Benetics mobile app.
- To work with a project, you must be a member of it, or an owner of the organization it belongs to. The agent sees the same projects you see in Benetics.
Connect
Claude
- In Claude, open Settings → Connectors and select Browse connectors.
- Find Benetics and select Connect.
- Sign in to Benetics in the window that opens, the same way you sign in to the app.
- 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.
- Only you see your drafts. Nobody else on the project sees them until you publish them.
- Review drafts in the Benetics app, where they're marked as drafts. Publish them to apply them, or discard them.
- When the agent reads your data, it sees your drafts applied, so it can build on what it proposed earlier in the conversation.
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.
Get a document download link
get_document_download_link
Get a short-lived link to download a document's file.
Get a photo download link
get_photo_download_link
Get a short-lived link to download a photo, to look at it.
Get a plan download link
get_plan_download_link
Get a short-lived link to download a plan's current version, as a PDF.
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
- The agent acts as you. It can only reach the organizations, projects, and files you can see in Benetics, and your permissions in Benetics still apply.
- What you share with the agent is handled under its provider's terms. Benetics handles your data as described in the Benetics privacy notice.
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.