MCP server
Connect an AI assistant to EngineHall. The hosted server reads your account and saved projects on enginehall.com and works in your development projects. The local servers review design files on your own computer.
Hosted server
The hosted server lets an assistant read what you can see on enginehall.com: your account and plan, your workspaces, and the saved projects of paid workspaces with their reports and findings. It also answers questions about the rules and the finding format. In development projects it reads open points, decisions, meetings and documentation, and drafts and updates them within the limits below. From a repository connected to a development project it reads text files such as firmware sources. It never receives design files and never returns binary ones.
https://enginehall.com/mcpConnected to https://pcbastudio.com/mcp before the rename? That address keeps working until 30 April 2027. Reconnect with https://enginehall.com/mcp before then.
To review a design folder, use a local server: Local servers
Connect your assistant
Every assistant uses the same URL. It registers itself, sends you to enginehall.com to sign in, and asks you to approve access.
- Claude (web and desktop)
- Settings, Connectors, Add custom connector. Paste the URL, then Connect. On Team and Enterprise plans an owner adds the connector once under Organization settings, Connectors, and each member connects their own account.
- Claude Code
- Add the server, then run /mcp in Claude Code and choose Authenticate.
claude mcp add --transport http enginehall https://enginehall.com/mcp - ChatGPT
- Settings, Apps, Advanced settings. Turn on Developer mode, then create an app with the URL and OAuth authentication.
- Codex
- Add the server, then sign in:
codex mcp add enginehall --url https://enginehall.com/mcp codex mcp login enginehall - Cursor
- Add the server to your Cursor MCP configuration: ~/.cursor/mcp.json
{ "mcpServers": { "enginehall": { "url": "https://enginehall.com/mcp" } } } - VS Code
- Add the server to the MCP configuration of your workspace: .vscode/mcp.json
{ "servers": { "enginehall": { "type": "http", "url": "https://enginehall.com/mcp" } } }
Sign-in and consent
EngineHall shows an Authorize access screen with the app's name and the full address it will send you back to. Check that the address belongs to the assistant you started from, such as claude.ai, chatgpt.com or an app on this computer. EngineHall warns you when it does not recognise the address. Approve only apps you trust.
Tools
Read tools only read. Draft tools create items that only your organisation sees, and change tools edit open points assigned to you or created by you, and internal pages. Every draft and change tool first returns a preview and changes nothing. Only when the assistant calls it again with confirm: true, after you approved the preview, is the change made.
Sharing an item with the whole project, changing its visibility, agreeing a decision, confirming a meeting, approving and inviting people have no tool. The assistant gives you a link, and you do it yourself in the browser.
| Tool | What it does | Access | Needs confirm |
|---|---|---|---|
| get_account | Your email, display name, plans, and how many unfinished saves you hold. | Read | No |
| list_workspaces | Your workspaces with plan, your role, member count, saved projects, and what a save may hold. | Read | No |
| list_saved_projects | Saved projects in your workspaces, newest first, with finding counts. Filters by workspace, name and status. | Read | No |
| get_saved_project | One saved project: author, options, finding summary, coverage, and the names and sizes of the files it was reviewed from. | Read | No |
| list_findings | Findings of a saved project in compact form, filtered by severity, rule, domain or file. | Read | No |
| get_finding | One finding in full: location, quoted evidence, consequence and recommendation. | Read | No |
| get_report | The stored report as JSON, SARIF, Markdown or text. | Read | No |
| list_rules | The review rules with severity, detector and the inputs each needs. | Read | No |
| get_rule | One rule, and why it can appear in coverage.skipped. | Read | No |
| get_schema | The JSON Schema of a finding or of a baseline file. | Read | No |
| get_local_mcp_setup | How to install and connect the local servers. | Read | No |
| list_projects | Your development projects with key, your role and organisation. | Read | No |
| project_overview | One development project: organisations, open points by kind and status, overdue items, release blockers, decisions and the latest meetings. | Read | No |
| list_open_points | Actions, questions and risks with their ids (KEY-A-12), filtered by kind, status, owner and visibility. | Read | No |
| get_open_point | One open point by id: text, owner, due date, evidence, source meeting and comments. | Read | No |
| list_decisions | Decisions and ADRs with status, agreement date and text. | Read | No |
| list_meetings | Meetings, newest first, with attendees and summary. | Read | No |
| get_page | A documentation page as Markdown, or the list of pages. | Read | No |
| search | Search the open points, decisions, meetings and pages of a project. | Read | No |
| list_repositories | The repositories connected to a project, with provider, URL and default branch. | Read | No |
| get_file | One text file from a connected repository at a branch or commit, size-capped. | Read | No |
| add_open_point | Create an action, question or risk. It is always internal to your organisation. | Draft | Yes |
| comment | Comment on an open point, decision, meeting or page. The preview says who will see it. | Draft | Yes |
| draft_page_change | Add a revision to an internal page or create a new internal page. For a shared page it only returns a proposal. | Draft | Yes |
| draft_meeting_summary | Create an internal, unconfirmed meeting with its summary. | Draft | Yes |
| propose_decision | Create an internal decision or ADR with the status proposed. | Draft | Yes |
| update_open_point | Change the title, text, owner, due date or status of an open point assigned to you or created by you. | Change | Yes |
| close_open_point | Close an open point assigned to you or created by you, with a closing note or evidence. | Change | Yes |
| apply_page_change | Replace the text of an internal page, refused if the page changed since you read it. | Change | Yes |
| list_releases | List the releases of a project with version, status, checklist progress and release date. | Read | No |
| get_release | A release with notes, commits, check run, checklist, approvals per organisation and what still blocks it. | Read | No |
| draft_release | Create an internal draft release on the latest usable check run and its commit, with the project's checklist. | Draft | Yes |
| list_check_runs | Check runs of a development project, newest first: commit, source, finding counts and coverage gaps. | Read | No |
| get_check_run | One check run: coverage and its findings with rule, severity, location and evidence. | Read | No |
| list_reviews | Design reviews with human id, status, subject, reviewer verdicts and unresolved threads. | Read | No |
| get_review | One design review: subject, reviewers and verdicts, comment threads with their anchors. | Read | No |
| comment_on_review | Start an anchored thread on a design review or reply in one. It gives no verdict; reviewers approve on the page. | Draft | Yes |
Safety model
- The app acts as you. Every query runs with your own permissions on enginehall.com, so it sees exactly the workspaces and saved projects you can open in the browser, and nothing of other customers.
- The tools for saved projects only read. Saving, rerunning and deleting a project, inviting members and billing stay in the browser.
- In development projects, what an assistant creates stays internal to your organisation, and nothing changes before you approve its preview. Your project role still applies: a viewer cannot write, and a reviewer only updates open points assigned to them.
- Design files never pass through the hosted server. A saved project is described by the names and sizes of its files, never their contents. A design folder is reviewed by a local server. get_file returns text files of a connected repository only, read with the repository's stored token after your own access is checked; binary files such as schematics are refused.
- The token the app receives carries your account's permissions on enginehall.com, not only the MCP tools. Approve only apps you trust and revoke the ones you no longer use.
- Each tool call is logged with your account id, the app's client id and the tool name. Arguments and results are not logged.
Revoke access
Your account page lists every app you approved. Revoking one ends its sessions and refresh tokens at once, and the app has to ask you again to reconnect. Connected apps
Limits
- About 120 tool calls per minute for each account and app. A call over the limit returns an error that says how long to wait.
- Lists return at most 100 entries per call. Pass offset for the next page.
- get_report returns renderings up to 1,000,000 characters. Read larger reports with list_findings and get_finding.
- get_file returns text files up to 200,000 characters, from files of at most 5 MB.
- Access tokens are valid for one hour, and the app refreshes them while access stays approved.
Technical details
- Transport: Streamable HTTP, stateless. Each request gets one JSON response. There is no event stream, so a GET answers 405.
- Authorization: OAuth 2.1 with PKCE and dynamic client registration. Discovery: https://enginehall.com/.well-known/oauth-protected-resource/mcp.
- Protocol versions: 2025-11-25, 2025-06-18 and 2025-03-26.
Local servers
Schematics, CubeMX files and firmware are reviewed on your computer, and the command line and the VS Code extension send no design content anywhere. Their MCP servers are programs your assistant starts on your computer. Install enginehall first and activate its virtual environment, or give the client the full path to the enginehall program. Install
- enginehall mcpmacOS, Linux, Windows
- Reviews a project folder: finds the schematic, the .ioc and the firmware, runs every rule, and returns findings with evidence and coverage. Tools: pcba_project_inspect, pcba_review_run, pcba_review_get_finding, pcba_altium_pinmap, pcba_cubemx_inspect, pcba_cubemx_validate. .mcp.json
{ "mcpServers": { "enginehall": { "command": "enginehall", "args": ["mcp"] } } } - enginehall altium mcpWindows, with Altium Designer running
- Creates and edits Altium projects with typed operations. Every write is planned and previewed, applied with the plan's hash after you approve it, and verified against the netlist. .mcp.json
{ "mcpServers": { "enginehall-altium": { "command": "enginehall", "args": ["altium", "mcp"] } } } - enginehall-extensionVS Code and Cursor
- Comes with the VS Code extension. Reads one .SchDoc sheet (schdoc_* tools) and maintains the Markdown project tracker (tracker_* tools). Register it with the command "EngineHall: Set up MCP server for AI chat".
In Claude Code, add the review server like this:
claude mcp add enginehall -- enginehall mcpAgent skills teach an assistant which enginehall command to run and how to read the result. Download them on these pages: Altium, Fusion
Support
For questions or a connection that does not work, write to us. Never send an access token or design files. software@newmatik.com