Skip to content

ai.facesign/facesign-mcp

by facesign.ai · remote · no sign-in to list tools · v0.1.0 · published by ai.facesign

Build and test FaceSign step-up verification flows from your AI coding tool

Changes · 3

5 tools: 3 change things and 2 only read.

Scanned Oct 21, 2026

6 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http facesign https://mcp.facesign.ai/mcp

Findings

Matches of fixed checks, with the text they matched.

6 warn
  • The input schema at properties.flow.items.anyOf[5].properties.outcomes.items.$ref contains a 56-character base64 string.

    Matched text

    inputSchema.properties.flow.items.anyOf[5].properties.outcomes.items.$ref: "#/properties/flow/items/anyOf/2/properties/outcomes/items"

    What this check looks for
  • The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref contains a 68-character base64 string.

    Matched text

    inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/source"

    What this check looks for
  • The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref contains a 77-character base64 string.

    Matched text

    inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/provid..."

    What this check looks for
  • The input schema at properties.flow.items.anyOf[5].properties.outcomes.items.$ref contains a 56-character base64 string.

    Matched text

    inputSchema.properties.flow.items.anyOf[5].properties.outcomes.items.$ref: "#/properties/flow/items/anyOf/2/properties/outcomes/items"

    What this check looks for
  • The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref contains a 68-character base64 string.

    Matched text

    inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/source"

    What this check looks for
  • The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref contains a 77-character base64 string.

    Matched text

    inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/provid..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

5 tools

Changes things 3Claude Code: ask
  • export_appExport the current FaceSign session configuration as a standalone, deployable Next.js application.3 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Warn

      The input schema at properties.flow.items.anyOf[5].properties.outcomes.items.$ref contains a 56-character base64 string.

      Matched text

      inputSchema.properties.flow.items.anyOf[5].properties.outcomes.items.$ref: "#/properties/flow/items/anyOf/2/properties/outcomes/items"

      What this check looks for
    • Warn

      The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref contains a 68-character base64 string.

      Matched text

      inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/source"

      What this check looks for
    • Warn

      The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref contains a 77-character base64 string.

      Matched text

      inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/provid..."

      What this check looks for
    Description, as the server wrote it
    Export the current FaceSign session configuration as a standalone, deployable Next.js application. You MUST supply `landingHtml` (pre-session page), `recapHtml` (results page), and `uiStrings` (per-language dictionary whose keys are invented by you to match placeholders in the HTML). The exported app ships NO default chrome — every visible string comes from you. Run with `npm install && npm run dev` or deploy to Vercel after setting FACESIGN_API_KEY.
  • launch_session_uiREQUIRES set_api_key to be called first.3 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Warn

      The input schema at properties.flow.items.anyOf[5].properties.outcomes.items.$ref contains a 56-character base64 string.

      Matched text

      inputSchema.properties.flow.items.anyOf[5].properties.outcomes.items.$ref: "#/properties/flow/items/anyOf/2/properties/outcomes/items"

      What this check looks for
    • Warn

      The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref contains a 68-character base64 string.

      Matched text

      inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/source"

      What this check looks for
    • Warn

      The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref contains a 77-character base64 string.

      Matched text

      inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/provid..."

      What this check looks for
    Description, as the server wrote it
    REQUIRES set_api_key to be called first. Launch a local web page in the browser for a FaceSign session. You MUST supply `landingHtml` (the pre-session page shown before the iframe), `recapHtml` (the results page shown after the session finishes), and `uiStrings` (a per-language dictionary whose keys are invented by you to match placeholders in the HTML). The MCP server provides NO default chrome — every visible string comes from you. Each page load / refresh creates a fresh session.
  • set_api_keySet your FaceSign API key for this session.No findings

    Why it is in this group

    • The name "set_api_key" says "set": a word for a change.
    Description, as the server wrote it
    Set your FaceSign API key for this session. This must be called before any other FaceSign tools. Get your API key from the FaceSign dashboard. The key starts with sk_live_... or sk_test_... Optionally override the API server URL via `serverUrl` — intended for FaceSign developers pointing the SDK at a non-production backend (e.g. a dev server). Leave unset to use the default production API.
Only reads 2Claude Code: allow
  • get_sessionRetrieve detailed information about a FaceSign session including status, transcript, AI analysis, node reports, video AI analysis, and asynchronous analysis lifecycle states.No findings

    Why it is in this group

    • The name "get_session" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve detailed information about a FaceSign session including status, transcript, AI analysis, node reports, video AI analysis, and asynchronous analysis lifecycle states.
  • list_sessionsList FaceSign sessions with optional filtering by status, date range, and search term.No findings

    Why it is in this group

    • The name "list_sessions" says "list": a word for reading.
    Description, as the server wrote it
    List FaceSign sessions with optional filtering by status, date range, and search term. Supports pagination via cursor.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http facesign https://mcp.facesign.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__facesign__get_session",
      "mcp__facesign__list_sessions"
    ],
    "ask": [
      "mcp__facesign__set_api_key",
      "mcp__facesign__launch_session_ui",
      "mcp__facesign__export_app"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as facesign. Review it before you use it.