# Forewit by Surfside Software: agent guide

Forewit by Surfside Software organizes electrical panel schedules by project. You can edit circuits and loads in the app or ask an agent to do it. Both use the same saved data and calculations.

[Open Forewit](https://surfside-software.com/forewit) · [Documentation](https://surfside-software.com/docs)

## Connect your agent

When asked to connect Forewit, identify the current MCP client and use its setup instructions below. Add the server as forewit, preserving other servers and settings. If it is already configured correctly, reuse it. Verify the connection by calling list_projects without changing project data. If you cannot edit the client configuration, or a restart or approval is required, explain the exact next step. Report the connection as verified only after the tool call succeeds.

Remote MCP URL: https://mcp.surfside-software.com/mcp

Transport: Streamable HTTP. Authentication: none for this demo. Everyone using the demo can read and change its projects. Use fictional data. Other visitors will see your changes.

### Claude Code

Run this command from your project directory to add the demo server to Claude Code.

```shell
claude mcp add --transport http forewit https://mcp.surfside-software.com/mcp
```

Run /mcp in Claude Code to check the connection. If Forewit is missing, start a new session.

[Client documentation](https://code.claude.com/docs/en/mcp)

### Codex

Run this command in your terminal to add the demo server to Codex.

```shell
codex mcp add forewit --url https://mcp.surfside-software.com/mcp
```

Start a new Codex session and run /mcp to see the server and its tools.

[Client documentation](https://developers.openai.com/codex/mcp)

### Cursor

Add this entry to .cursor/mcp.json in your project. If the file already has servers, merge the forewit entry into mcpServers.

```json
{
  "mcpServers": {
    "forewit": {
      "url": "https://mcp.surfside-software.com/mcp"
    }
  }
}
```

Open Cursor Settings, then Tools & MCP, and enable forewit. Use an Agent chat to try the first prompt below.

[Client documentation](https://cursor.com/docs/mcp)

### Other clients

In a client that supports remote MCP servers, add a server named Forewit. Choose Streamable HTTP and paste this URL.

```text
https://mcp.surfside-software.com/mcp
```

Choose no authentication. Leave API keys and authorization headers empty, then enable the server for your conversation. Connector availability depends on your client and plan.

[Client documentation](https://modelcontextprotocol.io/docs/develop/connect-remote-servers)

## Prompts to try

### List demo projects

Read only. Read a project and get links to its panels.

List the projects in Forewit. Open a project whose name starts with DEMO and summarize its panel schedules. Include links to the project and panels. Do not change any data.

### Check an existing panel

Read only. Check loads, phase balance, and sizing results without changing the panel.

Find DEMO - Lantern House in Forewit and read panel H-1. Run analyze_panel on the complete draft. Report connected VA, phase currents, imbalance, and all errors and warnings. Use search_docs to explain any blocked or not-sized conductor results. Include the panel link. Do not save changes.

### Create a demo panel

Creates demo data. Create a fictional project and save a panel with two circuits.

Create a fictional project in Forewit with a unique name starting with DEMO - Agent Trial. Use project number DEMO-AGENT, building type Single-family residence, location Example City, phase Schematic design, and description Fictional agent demo. Create panel LP-1 with a 120/240-1PH-3W system, 200 A main, 200 A bus, and 24 positions. Add two 1-pole, 20 A circuits on different phases: Lighting with 1,200 VA and Receptacles with 1,800 VA. Leave conductor sizing as not-sized because I have not supplied sizing evidence. Analyze the complete draft and fix structural errors. Save the panel, then read it again to verify the saved data. Include the project and panel links.

### Add a circuit to a copy

Creates and saves a copy. Compare phase loads before and after adding a circuit.

Find DEMO - Lantern House in Forewit. Duplicate H-1 with a unique name starting with H-1 Option, then read the complete copy. Add a 1-pole, 20 A circuit named Study receptacles with 1,200 connected VA in an available position on the least-loaded phase. Keep every existing circuit. Do not invent conductor sizing inputs. Analyze the complete draft and fix structural errors. Save the copy, then read it again to verify the saved data. Compare phase loads and imbalance with the original. Include both panel links.

## Edit and save a schedule

1. **Read the panel.** Find the project with list_projects, then use get_project to find its panels. Read the complete panel with get_panel before editing it so you can preserve existing circuits.

2. **Edit and check the draft.** Edit the draft, then call analyze_panel to check circuit positions, connected loads, phase balance, and conductor sizing. This step does not save changes.

3. **Fix errors and save.** Fix every structural error before calling save_panel. Send the complete panel and circuit list with the updatedAt from your read, since saving replaces the stored draft. For individual changes, use the focused editing tools; they save immediately. Report any warnings and missing sizing inputs.

4. **Check the saved panel.** Call get_panel again to verify the saved data. Share the returned URL so the user can review the schedule in the app.

## Tool reference

The server provides 18 tools.

- **list_projects**, read: List projects with IDs and links.

- **get_project**, read: Read a project's details and panel summaries.

- **create_project**, write: Create a project and return its link.

- **update_project**, write: Replace all editable project fields. Read the project first and include unchanged fields.

- **get_panel**, read: Read a complete panel draft, including its circuits and app link.

- **analyze_panel**, read: Check circuit positions, loads, phase balance, and conductor sizing without saving.

- **create_panel**, write: Create an empty panel. Its name must be unique within the project.

- **save_panel**, write: Replace the complete panel and circuit list. The server recalculates conductor sizing.

- **duplicate_panel**, write: Copy a panel and its circuits within the same project.

- **update_panel**, write: Change supplied panel settings while preserving its circuits.

- **add_circuit**, write: Add a load circuit or spare to a panel.

- **update_circuit**, write: Edit breaker sizes, loads, or supplied circuit fields.

- **move_circuit**, write: Move a circuit or explicitly swap matching breakers.

- **remove_circuit**, destructive: Remove a circuit and its loads and sizing.

- **autosize_panel**, write: Enable automatic conductor sizing for unsized load circuits.

- **export_panel**, read: Export the saved schedule as SVG.

- **delete_panel**, destructive: Permanently delete a panel and all its circuits.

- **search_docs**, read: Find calculation methods, sizing states, issue codes, and code references.

Project and panel results include links to the app. Write tools change the shared demo data. Your client controls whether to ask for approval. Circuit removal and panel deletion are marked destructive for client approval. Focused edits save immediately and return fresh analysis. Read the tool definitions from the server to learn which inputs each tool accepts.

## Supported calculations

Panel analysis checks circuit placement, connected loads, overloads, and phase imbalance. Supported systems are 120/240-1PH-3W, 120/208-3PH-4W, and 277/480-3PH-4W.

Conductor sizing needs a stated current basis and reviewed inputs for each circuit. Calculated connected current is for reference and cannot serve as the required sizing current. Missing required inputs leave sizing blocked. Use not-sized when you choose to omit sizing.

Use search_docs to look up calculation methods, issue codes, sizing states, and National Electrical Code references. The docs do not reproduce NEC text or tables.

Review the assumptions and unresolved checks in the saved schedule. Leave missing engineering inputs unfilled. Forewit does not yet calculate whole-building demand, voltage drop, or conduit fill.

## Troubleshooting

### My agent cannot find the tools

Enable Forewit for the current conversation and start a new session if needed. Ask the agent to call list_projects.

### My client asks me to sign in

The demo does not require a login. Remove old bearer-token headers or OAuth settings and reconnect with the full URL ending in /mcp. A 401 response means the server requires authentication. Ask the server operator to enable demo mode or provide credentials.

### The MCP URL shows an error in my browser

The /mcp address accepts requests from MCP clients. Add it in your agent's MCP settings, then ask the agent to list projects to test the connection. The /health URL confirms only that the server is reachable. If you get 500 server_misconfigured, ask the server operator to check the Worker configuration.

### The panel will not save, or sizing is blocked

Run analyze_panel and fix every issue with severity error. You can save a panel with blocked or failed conductor sizing, but those results remain unresolved. Use search_docs to look up each issue code and the inputs it requires.

### The app does not show a change the agent saved

Read the panel again with get_panel, follow the returned link, and refresh the app. Edit in one place at a time. Stale saves return PANEL_WRITE_CONFLICT; read the latest panel and reapply the intended changes.
