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:
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:
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"
}
Related¶
- Overview — MCP purpose and architecture
- Quick Start — Setup instructions
- Webhook Setup Guide — Configure webhooks in the Developer Portal
- Session Lifecycle — Session states and transitions
- Errors — Error codes and handling