openFTTH
FeaturesHow it worksDocsChangelogGitHub

Docs/Crew and tools

MCP link for AI apps

Let Claude Desktop, Claude Code, Cursor, VS Code or any MCP client drive openFTTH through one local link.

2 min read

openFTTH has an MCP server. Turn it on, and any MCP client can use openFTTH through one link:

text
http://127.0.0.1:3920/mcp

Claude Desktop, Claude Code, Cursor, VS Code or any other MCP client can then open a project, import data, design automatically, check, trace, steer, ask the crew and pull the deliverables. The engine still makes every decision, and you still approve every risky step in the app.

Turning it on

Open Connect AI apps on the start page, in the Crew or Help menu, or from the MCP link indicator in the status bar, and flip the switch on. The link is the same every time openFTTH starts, so an app added once keeps working. openFTTH must be running for any app to reach it.

Adding it to an app

AppHow
Claude DesktopInstall: openFTTH writes openftth.mcpb (an MCP Bundle) and opens it; Claude Desktop shows its install prompt.
Claude CodeCopy gives one command (below).
CursorOpen follows Cursor's install link; Cursor asks to add the server.
VS CodeOpen follows VS Code's install link; VS Code asks to add the server.
Anything elsePaste the link where the app asks for an MCP server URL (Streamable HTTP).
bash
claude mcp add --transport http openftth "http://127.0.0.1:3920/mcp"

The Claude Desktop bundle reads the link from openFTTH's settings every time it connects, so a new key or another port needs no reinstall.

  • It answers on this computer only (127.0.0.1). Requests whose Host or Origin is not local are refused, so a web page in a browser cannot drive it.
  • Require a key adds ?key=... to the link: still one link to paste, and requests without it are refused. New key locks out every app that has the old link.
  • add_trench, route_outside_ducts, rewind_design and post_work_order are not offered. export_for_construction is, but it opens an approval card in the app and waits for you.
  • Everything an outside app does is noted in the project conversation.

Settings live in mcp.json in the data folder (~/.openftth/mcp.json for the installed app): enabled, port (default 3920), requireKey, key.

Tools, resources and prompts

  • status, list_projects, list_rulebooks, list_import_profiles
  • inspect_data, save_import_profile, open_project
  • design_automatically (engine only, no cost), check_design, steer (move_site, exclude_building or forbid_street, with a reason)
  • design_summary, versions, list_assumptions, explain_element, trace_fibre
  • ask_crew (runs the crew's AI engine, which may cost money), list_deliverables, export_for_construction (risky)

Resources: openftth://project/status, openftth://deliverables/{name} (BOQ, splice schedule, validation, summary, map and GeoPackage, up to 20 MB each) and openftth://design/{name} (the design layers as GeoJSON). Prompts: design_area, review_design, explain_costs.

Full reference: docs/MCP.md.