Skip to main content
Glama

Unseen MCP Server (unseen-mcp)

The official Model Context Protocol (MCP) server for Unseen (unseendocs.in).

Turn messy operational documents, standard operating procedures (SOPs), incident playbooks, spreadsheets, and business communications into faithful, source-grounded visual workflows directly inside Claude Desktop, Cursor, Zed, Windsurf, or any MCP-compatible agent.


Capabilities

The unseen-mcp server provides 3 primary tools:

  1. compile_workflow: Compiles raw text, SOPs, or multi-page documents into a structured, verifiable VisualSpec workflow graph, accompanied by production-ready SVG and Mermaid syntax.

    • Arguments: content (string, required), title (string, optional).

  2. revise_workflow: Applies focused revisions or node additions/modifications to an existing workflow graph while preserving citation integrity.

    • Arguments: visualSpec (object, required), instructions (string, required).

  3. get_workflow: Retrieves the full structured representation of an existing visual artifact by its ID.

    • Arguments: id (string, required).


Related MCP server: obscuraai-mcp

1-Click Installation (Smithery)

If you use Smithery.ai:

npx -y @smithery/cli install unseen-mcp --client claude

Or for Cursor:

npx -y @smithery/cli install unseen-mcp --client cursor

Claude Desktop Configuration

Add the following to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "unseen": {
      "command": "npx",
      "args": ["-y", "unseen-mcp"],
      "env": {
        "OPENROUTER_API_KEY": "sk-or-v1-your-openrouter-key",
        "TYPESAFE_API_KEY": "your-optional-typesafe-key"
      }
    }
  }
}

Cursor IDE Configuration

In Cursor Settings -> Features -> MCP:

  1. Click + Add New MCP Server.

  2. Name: unseen

  3. Type: command

  4. Command: npx -y unseen-mcp

  5. Add environment variables:

    • OPENROUTER_API_KEY: Your OpenRouter API key


Environment Variables

Variable

Description

Required?

OPENROUTER_API_KEY

OpenRouter API key for LLM-assisted document compilation

Recommended for rich natural language compilation (falls back to deterministic heuristics if absent)

TYPESAFE_API_KEY

TypeSafe API key for Jev semantic audits and missing branch recovery

Optional


Running Locally

To run the stdio server directly from the command line:

npx -y unseen-mcp

Or build from source in the unseen repository:

git clone https://github.com/eyeinthesky6/unseen.git
cd unseen
npm install
npm run build:mcp
node dist-mcp/index.cjs

License

MIT © Unseen

Available Tools

9 tools
auth_loginSign In with Email + PasswordInspect

Authenticate an existing Unseen account using email and password (or create one if register: true), returning { token: 'utok_...', user } for use in Authorization: Bearer <token> or authToken.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional display name when registering.
emailYesThe user's email address.
passwordYesAccount password (min 8 characters).
registerNoSet to true to register a new Email + Password account if it does not exist yet.
auth_request_otpRequest Agent & Human Login OTP (Email + OTP)Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe user's email address to receive the 6-digit Login OTP.
auth_verify_otpVerify Agent & Human Login OTPInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
otpYesThe 6-digit Login OTP read from the user's email (`UNSEEN_LOGIN_OTP`) or supplied by the user.
emailYesThe user's email address.
autofix_workflowAutofix & Re-Render Workflow ($0 Free)A
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYesThe VisualSpec JSON object to deterministically heal and re-render into SVG, Mermaid, and Excalidraw.
authTokenNoOptional session token (`utok_...`) if not passed via Authorization header.
orientationNoOptional layout orientation (defaults to portrait).

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotent, non-destructive and closed-world; the description adds real context beyond that: deterministic healing of orphan nodes and broken/missing decision branches, layout recomputation, zero compute cost/unlimited calls, and that a fresh spec is returned rather than mutating in place. It stops short of describing failure behavior on invalid specs or whether caller-supplied layout is discarded.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action before the return values and the usage trigger. Slightly diluted by promotional framing ('$0 compute cost, instant, unlimited') that partially duplicates the title and the parenthetical.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating the exact returned artifacts, and for a three-parameter healing tool it covers purpose, triggers and side effects. Nothing an agent needs to invoke it correctly appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all three parameters, so spec/authToken/orientation are already documented in the schema. The description only loosely restates that spec is the object to heal and implies layout options via 'recomputes deterministic orthogonal layout', adding little parameter-level meaning. Baseline 3 applies when the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action set: deterministic connector healing plus full re-rendering, and enumerates the returned artifacts (spec, svg, mermaid, excalidraw, studioUrl). It is distinct from compile/revise/enhance by being a heal-and-rerender pass, but the description never names those siblings explicitly, so differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives two concrete triggers: after direct structural edits to VisualSpec nodes/edges, or when a user asks to autofix connectors. That is a clear when-to-use statement. It does not say when *not* to use it or which sibling (compile_workflow, revise_workflow, enhance_workflow) handles the adjacent cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compile_workflowCompile Workflow DiagramInspect

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). 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoOptional raw document or user text. If provided when `sources` is omitted or empty, Unseen automatically segments `text` into faithful `sources[]` chunks.
jobIdNoOptional job ID when resuming a workflow after clarification
sourcesYesArray of faithful source excerpts with locators from the input document (1..60 chunks, <=2000 chars each). Preserve exact thresholds, actors, and IF/ELSE branches.
userGoalYesThe overarching operational goal or process description (e.g. 'Driver Onboarding SOP' or 'Vendor Risk Assessment')
authTokenNoOptional session token (`utok_...`) obtained from `auth_verify_otp` or `auth_login` if not already supplied in the HTTP `Authorization: Bearer` header.
requestIdNoOptional client request correlation ID
hostContextNoOptional advisory context observed by the host agent
priorAnswersNoAnswers to prior Unseen clarification questions when resuming a compilation
desiredOutputNo
schemaVersionYesProtocol envelope version (must be '0.1')
detect_workflowsDetect Candidate Workflows in Document
Read-onlyIdempotent
Inspect

Discover distinct operational workflows from multi-section documents or raw text before compiling. Returns candidate workflows (id, title, description, sourceIds) audited by TypeSafe Jev.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoOptional raw document text if `sources` is not pre-segmented.
sourcesNoArray of source excerpts `{id, locator, excerpt}` from the document.
authTokenNoOptional session token (`utok_...`) if not passed via Authorization header.
enhance_workflowAI Enhance Workflow (TypeSafe Jev Audit & Repair)Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYesThe current VisualSpec JSON object (including its `sources` array) to audit and enhance.
visualIdNoThe `jobId` or `visualId` returned when the workflow was compiled.
authTokenNoOptional session token (`utok_...`) if not passed via Authorization header.
get_workflowGet Compiled Workflow
Read-onlyIdempotent
Inspect

Retrieve an existing VisualSpec workflow by jobId or visualId, returning the spec, SVG layout, and Mermaid diagram.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe jobId or visualId of the workflow to retrieve
authTokenNoOptional session token (`utok_...`) if not passed via Authorization header.
revise_workflowRevise Workflow Diagram
Idempotent
Inspect

Apply targeted delta revisions to an existing VisualSpec workflow diagram (e.g. modify node labels, adjust roles like step vs decision, add/remove edges, or heal connections) while preserving Visual Contract v0.1 validity and source grounding.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYesThe existing VisualSpec object to revise
authTokenNoOptional session token (`utok_...`) if not passed via Authorization header.
instructionYesClear revision instruction (e.g. 'Change node-2 role to decision and label to Finance Approval?', 'Remove orphan node-4', 'Autofix layout connections')
additionalSourcesNoOptional additional source evidence excerpts to support the revision

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv1.0.0
    • First observedauth_login
    • First observedauth_request_otp
    • First observedauth_verify_otp
    • First observedautofix_workflow
    • First observedcompile_workflow
    • First observeddetect_workflows
    • First observedenhance_workflow
    • First observedget_workflow
    • First observedrevise_workflow

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Obsidian-backed knowledge graph with semantic search, entity extraction, and cross-session memory. 11 MCP tools. Works with Claude Code, Cursor, Windsurf, and any MCP-compatible editor.
    54 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables building and running visual workflows conversationally inside Claude, orchestrating your existing connector tools step-by-step without storing credentials or owning integrations.
    8 npm
    MIT