DocsIntegrations

MCP server

Configure the connection

Veta exposes its own MCP server for external clients. This is separate from adding tools to Veta's chat.

  1. Create access through Share, scoped to the project or workshop with the required permissions.
  2. In your MCP client, add a remote Streamable HTTP server at https://veta.ruso.dev/api/mcp.
  3. Set Authorization: Bearer <access code> using your client's secret store. Do not publish the code.
  4. Connect and request a read of capabilities and accessible projects.

Invitation permissions defining the external agent's access

A project ID does not replace the access code.

Available tools

ToolPurpose
veta_read_stateRead snapshots, available editor drafts, entities and jobs.
veta_inspect_sceneInspect faces, machining and orientation in world, local or plane coordinates.
veta_calculateCompute deterministic arithmetic, units, vectors and angles.
veta_measureMeasure placed solids, bounds and angles on a snapshot.
veta_check_requirementsCheck dimensions, clearances and placement with explicit tolerances.
veta_preview_changeValidate atomic changes and inspect their effects before saving.
veta_apply_changeSave the exact proposal with revision, fingerprint and operation ID.
veta_exportExport files pinned to a revision or saved plan.

MCP reads saved geometry without a browser. source:editor inspects drafts from any section. Discover with collection:editors; choose editorId for multiple drafts. Retain editorId and sceneRef: changes/disconnections invalidate references without replacing drafts. Camera/visibility require a viewer. Contact does not establish joinery; partial results never establish compliance.

On conflict, read the current revision and prepare a fresh proposal.

Diagnose access

A curl GET does not complete the MCP protocol. Use a client that initializes the connection and lists tools. A 401 indicates rejected access; 403 means insufficient permissions. Revoking or expiring an invitation prevents further use.

A terminal-only client needs an adapter; this URL is neither a stdio command nor an OAuth flow.