Skip to content

MCP Tools Reference

All tools exposed by the Moveris MCP server. Implemented tools are available today; planned tools are documented from the development specification and will be available in future releases.

In plain terms

Tools are functions the AI agent can call. Each tool has a name, parameters, and a return value. The agent chooses when to call them based on context (e.g., before a wire transfer, call verify_human_presence).

Tools Overview

Tool Status Description
health-check Implemented Check server health and uptime
greet Implemented Greet a user by name (example/demo tool)
verify_human_presence Implemented Start a liveness verification session
check_verification_status Planned Poll session status
get_verification_result Planned Get full attestation for completed session
revoke_session Planned Cancel a pending session

Implemented Tools

health-check

Check the MCP server health status and uptime. Use this to confirm the server is running and responsive.

Parameters: None.

Returns:

Field Type Description
status string "ok" when healthy
uptime string Server uptime (e.g., "42s")
timestamp string ISO 8601 timestamp
version string Server version (e.g., "0.1.0")

Example:

{
  "status": "ok",
  "uptime": "42s",
  "timestamp": "2026-02-25T12:00:00.000Z",
  "version": "0.1.0"
}

greet

Greet a user by their name in a specified language. Demo/example tool for testing the MCP integration.

Parameters:

Parameter Type Required Description
name string Yes The name of the person to greet
language enum No "en", "es", "fr", "de", "pt". Default: "en"

Returns: A greeting string (e.g., "Hello, Maria!").

Example:

// Input
{ "name": "Maria", "language": "es" }

// Output
"Hola, Maria!"

verify_human_presence

Creates a new liveness verification session. This is the primary tool agents call before high-stakes actions. The agent surfaces the returned verification_url to the user; after the user completes the check in their browser, the agent can poll or receive a webhook. Uses API v2 alias-based model resolution (X-Model-Version: latest + frame_count).

Parameters:

Parameter Type Required Description
action_description string Yes Human-readable description of the action being authorized (e.g., "Wire transfer of $50,000 to Acme Corp")
risk_level enum No standard (default), high. Maps to modelVersion: "latest" with default frame counts.
frame_count integer No Override frame count (10, 30, 60, 90, 120). Defaults based on risk_level (standard → 10, high → 30).
timeout integer No Session validity in seconds. Default: 300 (5 min). Max: 600.

Risk level mapping:

Risk Level model_version frame_count Use Case
standard latest 10 Routine approvals, low-value actions, quick re-verification
high latest 30 Financial transactions, document signing, admin access

The API resolves the concrete model (e.g. mixed-10-v2, mixed-30-v2) via the alias index. Pass frame_count to override the default (e.g. frame_count: 60 for higher security).

Returns:

Field Type Description
session_id string Session UUID
verification_url string URL for the user to complete liveness
status string "pending"
expires_at string ISO 8601 expiry
action_description string Echo of input
risk_level string Echo of input
model string Resolved frame count as string (e.g. "10", "30")
model_version string Alias used for resolution (e.g. "latest")
frame_count number Frame count used for resolution (e.g. 10, 30)
{
  "session_id": "550e8400-e29b-41d4-a716-446655440000",
  "verification_url": "https://verify.moveris.com/s/550e8400-e29b-41d4-a716-446655440000",
  "status": "pending",
  "expires_at": "2026-02-10T15:30:00Z",
  "action_description": "Wire transfer of $50,000 to Acme Corp",
  "risk_level": "high",
  "model": "30",
  "model_version": "latest",
  "frame_count": 30
}

Agent behavior: Present verification_url to the user, then poll check_verification_status or await the webhook callback. Configure webhooks in the Developer Portal.


Planned Verification Tools

The following tools will be available in a future release.


check_verification_status

Polls the status of a pending verification session. Use when the user has opened the verification URL and the agent is waiting for completion.

Parameters:

Parameter Type Required Description
session_id UUID Yes Session ID returned by verify_human_presence

Returns:

{
  "session_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "verdict": "live",
  "completed_at": "2026-02-10T15:26:42Z"
}

Status values: pending, in_progress, completed, failed, expired, cancelled


get_verification_result

Returns the full signed attestation for a completed session. Use this when the agent needs to decide whether to proceed (e.g., execute the wire transfer) and may need to persist the attestation for audit.

Parameters:

Parameter Type Required Description
session_id UUID Yes Session ID for a completed verification

Returns:

{
  "session_id": "550e8400-e29b-41d4-a716-446655440000",
  "attestation": {
    "verdict": "live",
    "confidence": 0.94,
    "score": 94.0,
    "risk_level": "high",
    "model_used": "mixed-30-v2",
    "frames_processed": 30,
    "processing_ms": 845,
    "action_description": "Wire transfer of $50,000 to Acme Corp",
    "verified_at": "2026-02-10T15:26:42Z",
    "expires_at": "2026-02-10T15:31:42Z",
    "user_identifier": "usr_abc123",
    "facemesh_comparison": {
      "match_found": true,
      "similarity_score": 0.92,
      "comparison_count": 5
    }
  },
  "signature": "eyJhbGciOiJFUzI1NiIs...",
  "audit_trail": {
    "session_created": "2026-02-10T15:25:00Z",
    "user_opened_url": "2026-02-10T15:25:18Z",
    "capture_started": "2026-02-10T15:25:22Z",
    "capture_completed": "2026-02-10T15:25:28Z",
    "verdict_issued": "2026-02-10T15:26:42Z"
  }
}

The signature field is a JWT (ES256) signed by Moveris. Relying parties can verify it independently without calling the Moveris API—enabling offline or cached verification.


revoke_session

Cancels a pending or in-progress verification session. Use when the user abandons the flow or the agent no longer needs verification.

Parameters:

Parameter Type Required Description
session_id UUID Yes Session to cancel
reason string No Optional reason for cancellation

Returns:

{
  "session_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "cancelled",
  "reason": "User requested cancellation"
}