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
5 tools: 3 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
The input schema at properties.flow.items.anyOf[5].properties.outcomes.items.$ref contains a 56-character base64 string.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[5].properties.outcomes.items.$ref: "#/properties/flow/items/anyOf/2/properties/outcomes/items"
The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref contains a 68-character base64 string.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/source"
The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref contains a 77-character base64 string.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/provid..."
- Warnexport_app
The input schema at properties.flow.items.anyOf[5].properties.outcomes.items.$ref contains a 56-character base64 string.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[5].properties.outcomes.items.$ref: "#/properties/flow/items/anyOf/2/properties/outcomes/items"
- Warnexport_app
The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref contains a 68-character base64 string.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/source"
- Warnexport_app
The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref contains a 77-character base64 string.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/provid..."
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.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[5].properties.outcomes.items.$ref: "#/properties/flow/items/anyOf/2/properties/outcomes/items"
- Warn
The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref contains a 68-character base64 string.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/source"
- Warn
The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref contains a 77-character base64 string.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/provid..."
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.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[5].properties.outcomes.items.$ref: "#/properties/flow/items/anyOf/2/properties/outcomes/items"
- Warn
The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref contains a 68-character base64 string.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.source.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/source"
- Warn
The input schema at properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref contains a 77-character base64 string.
What this check looks forMatched text
inputSchema.properties.flow.items.anyOf[12].properties.sourceB.properties.providedDataKey.$ref: "#/properties/flow/items/anyOf/12/properties/sourceA/properties/provid..."
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.