Klarefi

Complete regulated intake work and retrieve cited case files without deciding the case.

Should I use this

Quality & Safety

A
Description quality
98%
Schema completeness
78%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'answer_fields' description lacks action verbin answer_fields

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,665Tokens (tool definitions)
~946 BTypical response size
Significant attention impact (2.08% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "command": "npx",
      "args": [
        "@klarefi/mcp"
      ]
    }
  }
}

Runnable packages

npm@klarefi/mcp0.3.0stdio

Remote endpoints

https://www.klarefi.com/mcpstreamable-http

What it can do

Tool inventory

Tools (20)

๐ŸŸข Read-only๐ŸŸก Write๐Ÿ”ด Deleteโšช Unknown
๐Ÿ”ดcreate_connector_from_openapi(connector_key, openapi_url, label, base_url)

Import a public OpenAPI JSON URL as a Klarefi verification connector. JSON specs only (convert YAML first). The result reports whether the configuration is active or staged for operator approval.

Input Schema

{
  "type": "object",
  "properties": {
    "connector_key": {
      "type": "string"
    },
    "openapi_url": {
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "base_url": {
      "type": "string"
    }
  },
  "required": [
    "connector_key",
    "openapi_url"
  ]
}
๐Ÿ”ดcreate_connector

Create or update a Klarefi verification connector manifest. The result reports whether the configuration is active or staged for operator approval.

Input Schema

{
  "type": "object",
  "required": [
    "connector_key",
    "label",
    "connector_type",
    "transport",
    "functions"
  ],
  "additionalProperties": true
}
๐Ÿ”ดdelete_connector(connector_key)

Delete a configured Klarefi connector by key or stage its deletion for operator approval.

Input Schema

{
  "type": "object",
  "properties": {
    "connector_key": {
      "type": "string"
    }
  },
  "required": [
    "connector_key"
  ]
}
๐ŸŸกcreate_intake_session(case_type_id, external_case_id, external_applicant_id, external_customer_id, return_url, ...)

Create a hosted Klarefi intake session.

Input Schema

{
  "type": "object",
  "properties": {
    "case_type_id": {
      "type": "string"
    },
    "external_case_id": {
      "type": "string"
    },
    "external_applicant_id": {
      "type": "string"
    },
    "external_customer_id": {
      "type": "string"
    },
    "return_url": {
      "type": "string"
    },
    "ttl_hours": {
      "type": "number"
    },
    "locale": {
      "type": "string"
    },
    "prefill": {
      "type": "object",
      "additionalProperties": true,
      "description": "Prefill payload passed through to the session; schema owned by the prefill feature"
    }
  },
  "required": [
    "case_type_id"
  ]
}
๐ŸŸขget_case(case_id)

Retrieve a Klarefi case and resolved facts.

Input Schema

{
  "type": "object",
  "properties": {
    "case_id": {
      "type": "string"
    }
  },
  "required": [
    "case_id"
  ]
}
๐ŸŸขlist_operator_queue(limit)

List the bounded Klarefi operator queue for this API key's environment. Requires cases:review.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 200
    }
  }
}
๐ŸŸขget_case_workspace(case_id)

Inspect a case workspace with facts, cited evidence, blockers, ownership, and timeline. This does not mutate the case.

Input Schema

{
  "type": "object",
  "properties": {
    "case_id": {
      "type": "string"
    }
  },
  "required": [
    "case_id"
  ]
}
๐ŸŸขget_case_package(case_id)

Get the cited case_package.v1 artifact and a signed read-only case-file URL.

Input Schema

{
  "type": "object",
  "properties": {
    "case_id": {
      "type": "string"
    }
  },
  "required": [
    "case_id"
  ]
}
๐Ÿ”ดsubmit_case_review(case_id, command_type, payload, rationale, idempotency_key, ...)

Submit an auditable intake-review command. Allowed commands review or correct facts, request clarification, update evidence, or escalate. This tool cannot complete or reopen a case.

Input Schema

{
  "type": "object",
  "properties": {
    "case_id": {
      "type": "string"
    },
    "command_type": {
      "type": "string",
      "enum": [
        "approve_fact",
        "correct_fact",
        "request_applicant_info",
        "add_custom_evidence",
        "update_fact_evidence",
        "escalate"
      ]
    },
    "payload": {
      "type": "object",
      "additionalProperties": true
    },
    "rationale": {
      "type": "string"
    },
    "idempotency_key": {
      "type": "string"
    },
    "trace_id": {
      "type": "string"
    }
  },
  "required": [
    "case_id",
    "command_type",
    "payload"
  ]
}
๐ŸŸขget_review_command(case_id, command_id)

Poll the status and result of an intake-review command.

Input Schema

{
  "type": "object",
  "properties": {
    "case_id": {
      "type": "string"
    },
    "command_id": {
      "type": "string"
    }
  },
  "required": [
    "case_id",
    "command_id"
  ]
}
๐ŸŸขlist_workflows

List versioned Form ยท Fact ยท Verify workflow declarations.

Input Schema

{
  "type": "object",
  "properties": {}
}
๐Ÿ”ดsave_workflow_draft(workflow)

Validate and save a workflow declaration as a draft. This tool cannot publish or activate the workflow.

Input Schema

{
  "type": "object",
  "properties": {
    "workflow": {
      "type": "object",
      "additionalProperties": true
    }
  },
  "required": [
    "workflow"
  ]
}
๐ŸŸขopen_intake(url, session_id, access_token, api_base_url)

Read an applicant intake from a signed URL or from session_id plus access_token. No Klarefi API key is required. On the hosted MCP endpoint, include the same intake credential in each later intake tool call.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint."
    },
    "session_id": {
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "Applicant access token. Use it with session_id instead of url."
    },
    "api_base_url": {
      "type": "string",
      "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override."
    }
  }
}
๐ŸŸขget_intake_state(url, session_id, access_token, api_base_url)

Get the current applicant intake state. Pass url, or session_id with access_token, on the hosted MCP endpoint.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint."
    },
    "session_id": {
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "Applicant access token. Use it with session_id instead of url."
    },
    "api_base_url": {
      "type": "string",
      "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override."
    }
  }
}
๐Ÿ”ดanswer_question(url, session_id, access_token, api_base_url, text, ...)

Answer the active applicant question with free text, optionally targeting a task_id.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint."
    },
    "session_id": {
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "Applicant access token. Use it with session_id instead of url."
    },
    "api_base_url": {
      "type": "string",
      "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override."
    },
    "text": {
      "type": "string"
    },
    "task_id": {
      "type": "string"
    }
  },
  "required": [
    "text"
  ]
}
๐Ÿ”ดanswer_fields(url, session_id, access_token, api_base_url, fields, ...)

Answer structured requested facts by fact_id. Values must be strings; yes_no fields take "yes" or "no", and date fields use YYYY-MM-DD.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint."
    },
    "session_id": {
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "Applicant access token. Use it with session_id instead of url."
    },
    "api_base_url": {
      "type": "string",
      "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override."
    },
    "fields": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "String values keyed by fact_id."
    },
    "task_id": {
      "type": "string"
    }
  },
  "required": [
    "fields"
  ]
}
๐ŸŸกupload_document(url, session_id, access_token, api_base_url, file_path, ...)

Upload a requested applicant document. Use content_base64 on the hosted MCP endpoint. Local stdio clients can use file_path. Inline content is limited to 5MB decoded; local files can be up to 25MB.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint."
    },
    "session_id": {
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "Applicant access token. Use it with session_id instead of url."
    },
    "api_base_url": {
      "type": "string",
      "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override."
    },
    "file_path": {
      "type": "string"
    },
    "content_base64": {
      "type": "string"
    },
    "filename": {
      "type": "string",
      "description": "Required with content_base64. Defaults to the basename of file_path."
    },
    "mime_type": {
      "type": "string"
    },
    "task_id": {
      "type": "string"
    }
  }
}
๐Ÿ”ดsubmit_intake(url, session_id, access_token, api_base_url, field_values)

Submit the applicant intake. Returns submitted, blockers, and the fresh intake state.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint."
    },
    "session_id": {
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "Applicant access token. Use it with session_id instead of url."
    },
    "api_base_url": {
      "type": "string",
      "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override."
    },
    "field_values": {
      "type": "object",
      "additionalProperties": true,
      "description": "Optional final field values; each value must be string or null."
    }
  }
}
๐Ÿ”ดsave_intake_draft(url, session_id, access_token, api_base_url, fields)

Save applicant form draft fields without submitting. Field values must be strings or null.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint."
    },
    "session_id": {
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "Applicant access token. Use it with session_id instead of url."
    },
    "api_base_url": {
      "type": "string",
      "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override."
    },
    "fields": {
      "type": "object",
      "additionalProperties": true,
      "description": "Draft field values keyed by field_id."
    }
  },
  "required": [
    "fields"
  ]
}
๐ŸŸขwait_for_next_action(url, session_id, access_token, api_base_url, timeout_seconds)

Poll until the intake leaves processing or the timeout expires. If timed_out is true, call wait_for_next_action again.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint."
    },
    "session_id": {
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "Applicant access token. Use it with session_id instead of url."
    },
    "api_base_url": {
      "type": "string",
      "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override."
    },
    "timeout_seconds": {
      "type": "number",
      "default": 60,
      "maximum": 120
    }
  }
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded20 tools
verifiedversion not recorded20 tools