{"apiVersion":"v1","directorySlug":"flowgo-map-mcp-480aea9658","title":"flowgo","description":"Every box in a flowgo map opens into its own full canvas, as deep as you need, in a plain-text .flowgo file you keep. Start a map with no account.","pageUrl":"https://www.mcpbundles.com/skills/flowgo-map-mcp-480aea9658","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://flowgo-map.com/api/mcp","hostedMcpUrl":null,"toolCount":22,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.flowgo-map/flowgo-map-mcp-480aea9658","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"start_workspace","description":"Create a new in-memory workspace for this session and return its workspace_id. All subsequent tool calls in this session must include workspace_id.","inputSchema":{"type":"object","properties":{}},"logicalName":"start_workspace","displayName":"start_workspace","title":"start_workspace","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"share","description":"Persist the current workspace as an immutable snapshot via the configured webhook. Returns { id, url } the agent should hand to a human.","inputSchema":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"string"}}},"logicalName":"share","displayName":"share","title":"share","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_map","description":"One-shot: turn complete .flowgo text into a public share URL. Use this when you already have (or can write) the full map in one go — skip start_workspace/add_*/share entirely. Returns { id, url }. The text must be valid .flowgo syntax (see flowgo://about); reach for the granular tools instead if you want to build a map up incrementally or read back state.","inputSchema":{"type":"object","required":["flowgo_text"],"properties":{"flowgo_text":{"type":"string"}}},"logicalName":"create_map","displayName":"create_map","title":"create_map","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"authenticate","description":"Link this session to the human's flowgo account, so maps you share or create are saved to it instead of being anonymous. First call returns a URL for them to open and approve in a browser; call it again afterwards to confirm, or any time to check who this session is signed in as. Reach for it when the user asks to save a map to their account, see it in \"my maps\", or sign in.","inputSchema":{"type":"object","properties":{"workspace_id":{"type":"string"}}},"logicalName":"authenticate","displayName":"authenticate","title":"authenticate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_state","description":"Read and return the entire flowgo graph (every map with its nodes, edges, texts, lines, and strokes). Call once at session start to learn what exists; for edits prefer granular add_/update_/delete_ tools over a get/mutate/set round-trip.","inputSchema":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"string"}}},"logicalName":"get_state","displayName":"get_state","title":"get_state","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_state","description":"Replace the entire graph with the supplied object. Heavy and validation-strict — use for bulk imports or wholesale layout swaps, not for tweaking single items. Shape: { maps: [{ path, boxes, edges, texts, lines, strokes }] } (the boxes array holds the nodes — historical field name). Entity fields match the granular add_* / update_* tools. See flowgo://about for the full field reference.","inputSchema":{"type":"object","required":["workspace_id","graph"],"properties":{"graph":{"type":"object"},"workspace_id":{"type":"string"}}},"logicalName":"set_state","displayName":"set_state","title":"set_state","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_box","description":"Add a node to the map at the given path. Returns the assigned id. Space nodes by at least 200px x / 80px y to avoid overlap. (Nodes were formerly called boxes — the tool name is historical.)","inputSchema":{"type":"object","required":["workspace_id","label","x","y"],"properties":{"h":{"type":"number"},"w":{"type":"number"},"x":{"type":"number"},"y":{"type":"number"},"font":{"type":"number"},"path":{"type":"string"},"label":{"type":"string"},"shape":{"type":"number"},"anchor":{"type":"boolean"},"palette":{"type":"number"},"workspace_id":{"type":"string"}}},"logicalName":"add_box","displayName":"add_box","title":"add_box","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_box","description":"Update a node's label, position, color, font size, shape, anchor flag, or explicit size. Pass 1 for palette or font to reset to default. Pass w=0 and h=0 to restore auto-sizing.","inputSchema":{"type":"object","required":["workspace_id","id"],"properties":{"h":{"type":"number"},"w":{"type":"number"},"x":{"type":"number"},"y":{"type":"number"},"id":{"type":"string"},"font":{"type":"number"},"path":{"type":"string"},"label":{"type":"string"},"shape":{"type":"number"},"anchor":{"type":"boolean"},"palette":{"type":"number"},"workspace_id":{"type":"string"}}},"logicalName":"update_box","displayName":"update_box","title":"update_box","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_default_shape","description":"Set the document-level default shape (the `defaultshape <n>` directive): the shape a canvas double-click creates in this file. 0=rectangle, 1=hexagon, 2=circle, 3=triangle. Document-scoped — there is no path parameter.","inputSchema":{"type":"object","required":["workspace_id","shape"],"properties":{"shape":{"type":"number"},"workspace_id":{"type":"string"}}},"logicalName":"set_default_shape","displayName":"set_default_shape","title":"set_default_shape","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_box","description":"Delete a node (and all incident edges plus its submap subtree).","inputSchema":{"type":"object","required":["workspace_id","id"],"properties":{"id":{"type":"string"},"path":{"type":"string"},"workspace_id":{"type":"string"}}},"logicalName":"delete_box","displayName":"delete_box","title":"delete_box","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_edge","description":"Add an undirected edge between two nodes in the same map. Replaces any prior edge between the same pair. Edges only connect nodes — not text, lines, or strokes. Pass 'label' to name the relationship the edge represents.","inputSchema":{"type":"object","required":["workspace_id","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"path":{"type":"string"},"label":{"type":"string"},"palette":{"type":"number"},"toHandle":{"type":"string"},"fromHandle":{"type":"string"},"workspace_id":{"type":"string"}}},"logicalName":"add_edge","displayName":"add_edge","title":"add_edge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_edge","description":"Update the edge between two nodes: re-aim a handle, set the palette, or set/clear the midpoint label. Identify the edge by 'from'/'to' in either order (edges are undirected); handle args are interpreted relative to the args' direction.","inputSchema":{"type":"object","required":["workspace_id","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"path":{"type":"string"},"label":{"type":"string"},"palette":{"type":"number"},"toHandle":{"type":"string"},"fromHandle":{"type":"string"},"workspace_id":{"type":"string"}}},"logicalName":"update_edge","displayName":"update_edge","title":"update_edge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_edge","description":"Delete the edge between two node ids in the same map.","inputSchema":{"type":"object","required":["workspace_id","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"path":{"type":"string"},"workspace_id":{"type":"string"}}},"logicalName":"delete_edge","displayName":"delete_edge","title":"delete_edge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_text","description":"Add a free-floating text annotation (header, callout, label). Use a node instead if the item should connect to other items via edges.","inputSchema":{"type":"object","required":["workspace_id","label","x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"},"font":{"type":"number"},"path":{"type":"string"},"label":{"type":"string"},"palette":{"type":"number"},"workspace_id":{"type":"string"}}},"logicalName":"add_text","displayName":"add_text","title":"add_text","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_text","description":"Update a text label's content, position, color, or font size. Pass 1 for palette or font to reset to default.","inputSchema":{"type":"object","required":["workspace_id","id"],"properties":{"x":{"type":"number"},"y":{"type":"number"},"id":{"type":"string"},"font":{"type":"number"},"path":{"type":"string"},"label":{"type":"string"},"palette":{"type":"number"},"workspace_id":{"type":"string"}}},"logicalName":"update_text","displayName":"update_text","title":"update_text","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_text","description":"Delete a free-floating text label.","inputSchema":{"type":"object","required":["workspace_id","id"],"properties":{"id":{"type":"string"},"path":{"type":"string"},"workspace_id":{"type":"string"}}},"logicalName":"delete_text","displayName":"delete_text","title":"delete_text","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_line","description":"Add a static line segment (arrow, divider, geometric shape). Use 'mids' for a polyline through control points. Use edges (not lines) to connect boxes.","inputSchema":{"type":"object","required":["workspace_id","x1","y1","x2","y2"],"properties":{"x1":{"type":"number"},"x2":{"type":"number"},"y1":{"type":"number"},"y2":{"type":"number"},"mids":{"type":"array","items":{"type":"array","items":{"type":"number"},"maxItems":2,"minItems":2}},"path":{"type":"string"},"style":{"type":"number"},"palette":{"type":"number"},"workspace_id":{"type":"string"}}},"logicalName":"add_line","displayName":"add_line","title":"add_line","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_line","description":"Update a line's endpoints, color, render style, or control points. Pass 1 for palette/style to reset to default. Pass null for 'mids' to clear all control points.","inputSchema":{"type":"object","required":["workspace_id","id"],"properties":{"id":{"type":"string"},"x1":{"type":"number"},"x2":{"type":"number"},"y1":{"type":"number"},"y2":{"type":"number"},"mids":{"type":"array","items":{"type":"array","items":{"type":"number"},"maxItems":2,"minItems":2}},"path":{"type":"string"},"style":{"type":"number"},"palette":{"type":"number"},"workspace_id":{"type":"string"}}},"logicalName":"update_line","displayName":"update_line","title":"update_line","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_line","description":"Delete a static line segment.","inputSchema":{"type":"object","required":["workspace_id","id"],"properties":{"id":{"type":"string"},"path":{"type":"string"},"workspace_id":{"type":"string"}}},"logicalName":"delete_line","displayName":"delete_line","title":"delete_line","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_stroke","description":"Add a freehand brush stroke (sketchy annotation). Provide at least two [x, y] points. Prefer 'line' for structured geometry; reach for stroke only when you want a hand-drawn look.","inputSchema":{"type":"object","required":["workspace_id","points"],"properties":{"path":{"type":"string"},"points":{"type":"array","items":{"type":"array","items":{"type":"number"},"maxItems":2,"minItems":2},"minItems":2},"palette":{"type":"number"},"workspace_id":{"type":"string"}}},"logicalName":"add_stroke","displayName":"add_stroke","title":"add_stroke","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_stroke","description":"Update a stroke's color or replace its full point list (useful for translating the whole stroke).","inputSchema":{"type":"object","required":["workspace_id","id"],"properties":{"id":{"type":"string"},"path":{"type":"string"},"points":{"type":"array","items":{"type":"array","items":{"type":"number"},"maxItems":2,"minItems":2},"minItems":2},"palette":{"type":"number"},"workspace_id":{"type":"string"}}},"logicalName":"update_stroke","displayName":"update_stroke","title":"update_stroke","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_stroke","description":"Delete a freehand brush stroke.","inputSchema":{"type":"object","required":["workspace_id","id"],"properties":{"id":{"type":"string"},"path":{"type":"string"},"workspace_id":{"type":"string"}}},"logicalName":"delete_stroke","displayName":"delete_stroke","title":"delete_stroke","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=flowgo&config=eyJ1cmwiOiAiaHR0cHM6Ly9mbG93Z28tbWFwLmNvbS9hcGkvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22flowgo%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fflowgo-map.com%2Fapi%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22flowgo%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fflowgo-map.com%2Fapi%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=flowgo&connectorUrl=https%3A%2F%2Fflowgo-map.com%2Fapi%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"flowgo\" --url \"https://flowgo-map.com/api/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/flowgo-map-mcp-480aea9658","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/flowgo-map-mcp-480aea9658/tools/{tool}","mcpServerUrl":"https://flowgo-map.com/api/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/flowgo-map-mcp-480aea9658?live=1"}