Compile SOPs, policies, and playbooks into source-grounded visual flowcharts (SVG, Mermaid, JSON).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Legacy sign-in for an existing password account. Account creation and password setup require verified browser sign-in. ChatGPT/Codex plugin connections use browser OAuth instead of this tool.
The user's email address.
Account password (min 8 characters).
Optional display name when registering.
Deprecated. Registration through this tool is rejected; use verified browser sign-in.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Legacy sign-in for an existing password account. Account creation and password setup require verified browser sign-in. ChatGPT/Codex plugin connections use browser OAuth instead of this tool.
| Argument | Type | Description |
|---|---|---|
| name | string | Optional display name when registering. |
| email* | string | The user's email address. |
| password* | string | Account password (min 8 characters). |
| register | boolean | Deprecated. Registration through this tool is rejected; use verified browser sign-in. |
{
"type": "object",
"required": [
"email",
"password"
],
"properties": {
"name": {
"type": "string",
"description": "Optional display name when registering."
},
"email": {
"type": "string",
"description": "The user's email address."
},
"password": {
"type": "string",
"description": "Account password (min 8 characters)."
},
"register": {
"type": "boolean",
"description": "Deprecated. Registration through this tool is rejected; use verified browser sign-in."
}
}
}Step 1 of Agent & Human Login (Email + OTP): Sends a 6-digit Login OTP (`UNSEEN_LOGIN_OTP`) to the user's email address. This is a passwordless Login OTP (NOT a password reset). Once called, the agent can either read the 6-digit `UNSEEN_LOGIN_OTP` directly from the user's email (when the user has granted email access) or ask the user in chat for the 6-digit code, then call `auth_verify_otp`.
| Argument | Type | Description |
|---|---|---|
| email* | string | The user's email address to receive the 6-digit Login OTP. |
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "The user's email address to receive the 6-digit Login OTP."
}
}
}Step 2 of Agent & Human Login (Email + OTP): Verifies the 6-digit Login OTP sent to `email` and returns `{ token: 'utok_...', user }` (30 free credits / 3 visuals per month on new accounts). Pass the returned `token` as `Authorization: Bearer <token>` or in the `authToken` argument of subsequent MCP tool calls.
| Argument | Type | Description |
|---|---|---|
| otp* | string | The 6-digit Login OTP read from the user's email (`UNSEEN_LOGIN_OTP`) or supplied by the user. |
| email* | string | The user's email address. |
{
"type": "object",
"required": [
"email",
"otp"
],
"properties": {
"otp": {
"type": "string",
"description": "The 6-digit Login OTP read from the user's email (`UNSEEN_LOGIN_OTP`) or supplied by the user."
},
"email": {
"type": "string",
"description": "The user's email address."
}
}
}Deterministic connector healing and full visual re-rendering ($0 compute cost, instant, unlimited). Rescues orphan nodes, heals broken or missing decision branches, recomputes deterministic orthogonal layout, and returns fresh `spec`, `svg`, `mermaid`, `excalidraw`, and `studioUrl`. Use this tool after making direct structural edits to `VisualSpec` JSON (`nodes` / `edges`), or when a user asks to autofix connectors.
| Argument | Type | Description |
|---|---|---|
| spec* | object | The VisualSpec JSON object to deterministically heal and re-render into SVG, Mermaid, and Excalidraw. |
| authToken | string | Optional session token (`utok_...`) if not passed via Authorization header. |
| orientation | string | Optional layout orientation (defaults to portrait). |
{
"type": "object",
"required": [
"spec"
],
"properties": {
"spec": {
"type": "object",
"description": "The VisualSpec JSON object to deterministically heal and re-render into SVG, Mermaid, and Excalidraw."
},
"authToken": {
"type": "string",
"description": "Optional session token (`utok_...`) if not passed via Authorization header."
},
"orientation": {
"enum": [
"portrait",
"landscape"
],
"type": "string",
"description": "Optional layout orientation (defaults to portrait)."
}
}
}Turn supplied document evidence or raw operational text into a publication-ready workflow diagram with source references, clean vector SVG, Mermaid, Excalidraw scene, and interactive Studio deep link (`studioUrl`). INPUT SCOPE: Use reviewed written procedures only. Do not interpret scans, images, chart/diagram geometry or unlabeled arrows, and do not certify business procedures. Ask for reviewed written process text or source-backed clarification. HOW TO STRUCTURE TEXT INPUTS: Either pass `sources` (array of 1..60 verbatim chunks `{id, locator, excerpt}` where each excerpt is <= 2000 chars with exact numbers/actors/thresholds preserved) OR pass raw `text` and Unseen will automatically segment it into source chunks. EDITING GUIDANCE: For cosmetic/styling/annotation edits, edit the returned `<svg>` XML directly. For structural/topological edits (adding/removing nodes or rerouting branches), edit `spec` (VisualSpec JSON) and call `autofix_workflow` ($0 deterministic connector healing + fresh SVG/Mermaid/Excalidraw) or `revise_workflow`.
| Argument | Type | Description |
|---|---|---|
| text | string | Optional raw document or user text. If provided when `sources` is omitted or empty, Unseen automatically segments `text` into faithful `sources[]` chunks. |
| jobId | string | Optional job ID when resuming a workflow after clarification |
| sources* | array | Array of faithful source excerpts with locators from the input document (1..60 chunks, <=2000 chars each). Preserve exact thresholds, actors, and IF/ELSE branches. |
| userGoal* | string | The overarching operational goal or process description (e.g. 'Driver Onboarding SOP' or 'Vendor Risk Assessment') |
Discover distinct operational workflows from multi-section documents or raw text before compiling. Returns candidate workflows (`id`, `title`, `description`, `sourceIds`) audited by TypeSafe Jev.
| Argument | Type | Description |
|---|---|---|
| text | string | Optional raw document text if `sources` is not pre-segmented. |
| sources | array | Array of source excerpts `{id, locator, excerpt}` from the document. |
| authToken | string | Optional session token (`utok_...`) if not passed via Authorization header. |
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Optional raw document text if `sources` is not pre-segmented."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"locator",
"excerpt"
],
"properties": {
"id": {
"type": "string"
},
"excerpt": {
"type": "string"
},
"locator": {
"type": "string"
}
}
},
"description": "Array of source excerpts `{id, locator, excerpt}` from the document."
},
"authToken": {
"type": "string",
"description": "Optional session token (`utok_...`) if not passed via Authorization header."
}
}
}Bundled free semantic verification and repair powered by TypeSafe Jev. Audits the VisualSpec against its cited `sources[]` for unsupported claims, missing decision branches, and role accuracy, applies targeted repair if actionable issues are found, and returns the enhanced `spec`, `svg`, `mermaid`, `excalidraw`, `studioUrl`, and Jev quality metrics.
| Argument | Type | Description |
|---|---|---|
| spec* | object | The current VisualSpec JSON object (including its `sources` array) to audit and enhance. |
| visualId | string | The `jobId` or `visualId` returned when the workflow was compiled. |
| authToken | string | Optional session token (`utok_...`) if not passed via Authorization header. |
{
"type": "object",
"required": [
"spec"
],
"properties": {
"spec": {
"type": "object",
"description": "The current VisualSpec JSON object (including its `sources` array) to audit and enhance."
},
"visualId": {
"type": "string",
"description": "The `jobId` or `visualId` returned when the workflow was compiled."
},
"authToken": {
"type": "string",
"description": "Optional session token (`utok_...`) if not passed via Authorization header."
}
}
}Retrieve an existing VisualSpec workflow by jobId or visualId, returning the spec, SVG layout, and Mermaid diagram.
| Argument | Type | Description |
|---|---|---|
| id* | string | The jobId or visualId of the workflow to retrieve |
| authToken | string | Optional session token (`utok_...`) if not passed via Authorization header. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The jobId or visualId of the workflow to retrieve"
},
"authToken": {
"type": "string",
"description": "Optional session token (`utok_...`) if not passed via Authorization header."
}
}
}Apply explicit node label/role changes or node removal using node IDs, or request connector autofix. For other changes, including new steps or edges, edit the returned spec with confirmed source evidence and call autofix_workflow. Unsupported instructions return an error; this tool does not perform general natural-language rewrites.
| Argument | Type | Description |
|---|---|---|
| spec* | object | The existing VisualSpec object to revise |
| authToken | string | Optional session token (`utok_...`) if not passed via Authorization header. |
| instruction* | string | Clear revision instruction (e.g. 'Change node-2 role to decision and label to Finance Approval?', 'Remove orphan node-4', 'Autofix layout connections') |
| additionalSources | array | Optional additional source evidence excerpts to support the revision |
{
"type": "object",
"required": [
"spec",
"instruction"
],
"properties": {
"spec": {
"type": "object",
"description": "The existing VisualSpec object to revise"
},
"authToken": {
"type": "string",
"description": "Optional session token (`utok_...`) if not passed via Authorization header."
},
"instruction": {
"type": "string",
"description": "Clear revision instruction (e.g. 'Change node-2 role to decision and label to Finance Approval?', 'Remove orphan node-4', 'Autofix layout connections')"
},
"additionalSources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"locator",
"excerpt"
],
"properties": {
"id": {
"type": "string",
"description": "Unique chunk ID"
},
"excerpt": {
"type": "string",
"description": "Faithful document excerpt"
},
"locator": {
"type": "string",
"description": "Heading or section locator"
}
}
},
"description": "Optional additional source evidence excerpts to support the revision"
}
}
}| authToken |
| string |
| Optional session token (`utok_...`) obtained from `auth_verify_otp` or `auth_login` if not already supplied in the HTTP `Authorization: Bearer` header. |
| requestId | string | Optional client request correlation ID |
| hostContext | object | Optional advisory context observed by the host agent |
| priorAnswers | array | Answers to prior Unseen clarification questions when resuming a compilation |
| desiredOutput | object |
| schemaVersion* | string | Protocol envelope version (must be '0.1') |
{
"type": "object",
"required": [
"schemaVersion",
"userGoal",
"sources"
],
"properties": {
"text": {
"type": "string",
"description": "Optional raw document or user text. If provided when `sources` is omitted or empty, Unseen automatically segments `text` into faithful `sources[]` chunks."
},
"jobId": {
"type": "string",
"description": "Optional job ID when resuming a workflow after clarification"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"locator",
"excerpt"
],
"properties": {
"id": {
"type": "string",
"description": "Unique chunk ID (e.g. 's1', 's2')"
},
"name": {
"type": "string",
"description": "Document or file name"
},
"excerpt": {
"type": "string",
"description": "Faithful document excerpt (do not rewrite)"
},
"locator": {
"type": "string",
"description": "Heading, page, or section locator"
}
}
},
"description": "Array of faithful source excerpts with locators from the input document (1..60 chunks, <=2000 chars each). Preserve exact thresholds, actors, and IF/ELSE branches."
},
"userGoal": {
"type": "string",
"description": "The overarching operational goal or process description (e.g. 'Driver Onboarding SOP' or 'Vendor Risk Assessment')"
},
"authToken": {
"type": "string",
"description": "Optional session token (`utok_...`) obtained from `auth_verify_otp` or `auth_login` if not already supplied in the HTTP `Authorization: Bearer` header."
},
"requestId": {
"type": "string",
"description": "Optional client request correlation ID"
},
"hostContext": {
"type": "object",
"properties": {
"actors": {
"type": "array",
"items": {
"type": "string"
}
},
"ambiguities": {
"type": "array",
"items": {
"type": "string"
}
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"userContext": {
"type": "array",
"items": {
"type": "string"
}
},
"contradictions": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Optional advisory context observed by the host agent"
},
"priorAnswers": {
"type": "array",
"items": {
"type": "object",
"required": [
"questionId",
"answer",
"source"
],
"properties": {
"answer": {
"description": "User's answer to the clarification question"
},
"source": {
"enum": [
"user",
"document",
"host-context"
],
"type": "string"
},
"questionId": {
"type": "string"
}
}
},
"description": "Answers to prior Unseen clarification questions when resuming a compilation"
},
"desiredOutput": {
"type": "object",
"properties": {
"depth": {
"enum": [
"macro",
"detailed",
"choose"
],
"type": "string",
"description": "Desired workflow abstraction depth"
},
"orientation": {
"enum": [
"portrait",
"landscape",
"choose"
],
"type": "string",
"description": "Desired visual orientation"
}
}
},
"schemaVersion": {
"enum": [
"0.1"
],
"type": "string",
"description": "Protocol envelope version (must be '0.1')"
}
}
}