{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "category": "",
    "endpoint": "https://www.klarefi.com/mcp",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/klarefi-mcp.json",
    "kind": "mcp",
    "listed": "indexed",
    "liveUrl": "https://www.anchorterminal.com/api/v1/live/klarefi-mcp.json",
    "markdownUrl": "https://www.anchorterminal.com/tools/klarefi-mcp.md",
    "mcpTools": {
      "check": {
        "checker": "anchor-check/1.0",
        "totalTokens": 3120,
        "counts": {
          "error": 5,
          "note": 1,
          "warn": 23
        },
        "findings": [
          {
            "rule": "TC09",
            "severity": "error",
            "tool": "create_connector",
            "message": "required names \"connector_key\", which isn't a property",
            "fix": "Add the property or take it out of required."
          },
          {
            "rule": "TC09",
            "severity": "error",
            "tool": "create_connector",
            "message": "required names \"label\", which isn't a property",
            "fix": "Add the property or take it out of required."
          },
          {
            "rule": "TC09",
            "severity": "error",
            "tool": "create_connector",
            "message": "required names \"connector_type\", which isn't a property",
            "fix": "Add the property or take it out of required."
          },
          {
            "rule": "TC09",
            "severity": "error",
            "tool": "create_connector",
            "message": "required names \"transport\", which isn't a property",
            "fix": "Add the property or take it out of required."
          },
          {
            "rule": "TC09",
            "severity": "error",
            "tool": "create_connector",
            "message": "required names \"functions\", which isn't a property",
            "fix": "Add the property or take it out of required."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "answer_fields",
            "message": "2 parameters without a description: session_id, task_id",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "answer_question",
            "message": "3 parameters without a description: session_id, task_id, text",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "create_connector_from_openapi",
            "message": "none of its 4 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "create_intake_session",
            "message": "7 parameters without a description: case_type_id, external_applicant_id, external_case_id, external_customer_id, locale, return_url and 1 more",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "delete_connector",
            "message": "its one parameter, connector_key, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_case",
            "message": "its one parameter, case_id, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_case_package",
            "message": "its one parameter, case_id, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_case_workspace",
            "message": "its one parameter, case_id, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_intake_state",
            "message": "1 parameter without a description: session_id",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_review_command",
            "message": "none of its 2 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "list_operator_queue",
            "message": "its one parameter, limit, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "open_intake",
            "message": "1 parameter without a description: session_id",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "save_intake_draft",
            "message": "1 parameter without a description: session_id",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "save_workflow_draft",
            "message": "its one parameter, workflow, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "submit_case_review",
            "message": "none of its 6 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "submit_intake",
            "message": "1 parameter without a description: session_id",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "upload_document",
            "message": "5 parameters without a description: content_base64, file_path, mime_type, session_id, task_id",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "wait_for_next_action",
            "message": "2 parameters without a description: session_id, timeout_seconds",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC13",
            "severity": "warn",
            "tool": "create_intake_session",
            "message": "prefill (object with no properties)",
            "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
          },
          {
            "rule": "TC13",
            "severity": "warn",
            "tool": "save_intake_draft",
            "message": "fields (object with no properties)",
            "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
          },
          {
            "rule": "TC13",
            "severity": "warn",
            "tool": "save_workflow_draft",
            "message": "workflow (object with no properties)",
            "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
          },
          {
            "rule": "TC13",
            "severity": "warn",
            "tool": "submit_case_review",
            "message": "payload (object with no properties)",
            "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
          },
          {
            "rule": "TC13",
            "severity": "warn",
            "tool": "submit_intake",
            "message": "field_values (object with no properties)",
            "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
          },
          {
            "rule": "TC24",
            "severity": "note",
            "message": "20 of 20 tools have no outputSchema",
            "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
          }
        ]
      },
      "checkedAt": "2026-10-04T22:23:12Z",
      "count": 20,
      "schemaTokens": 3120,
      "status": "ok",
      "tools": [
        {
          "name": "create_connector_from_openapi",
          "title": "Import connector from OpenAPI",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "base_url": {
                "type": "string"
              },
              "connector_key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "openapi_url": {
                "type": "string"
              }
            },
            "required": [
              "connector_key",
              "openapi_url"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          }
        },
        {
          "name": "create_connector",
          "title": "Create or update connector",
          "description": "Create or update a Klarefi verification connector manifest. The result reports whether the configuration is active or staged for operator approval.",
          "inputSchema": {
            "additionalProperties": true,
            "required": [
              "connector_key",
              "label",
              "connector_type",
              "transport",
              "functions"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": false,
            "readOnlyHint": false
          }
        },
        {
          "name": "delete_connector",
          "title": "Delete connector",
          "description": "Delete a configured Klarefi connector by key or stage its deletion for operator approval.",
          "inputSchema": {
            "properties": {
              "connector_key": {
                "type": "string"
              }
            },
            "required": [
              "connector_key"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": false,
            "readOnlyHint": false
          }
        },
        {
          "name": "create_intake_session",
          "title": "Create intake session",
          "description": "Create a hosted Klarefi intake session.",
          "inputSchema": {
            "properties": {
              "case_type_id": {
                "type": "string"
              },
              "external_applicant_id": {
                "type": "string"
              },
              "external_case_id": {
                "type": "string"
              },
              "external_customer_id": {
                "type": "string"
              },
              "locale": {
                "type": "string"
              },
              "prefill": {
                "additionalProperties": true,
                "description": "Prefill payload passed through to the session; schema owned by the prefill feature",
                "type": "object"
              },
              "return_url": {
                "type": "string"
              },
              "ttl_hours": {
                "type": "number"
              }
            },
            "required": [
              "case_type_id"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": false,
            "openWorldHint": false,
            "readOnlyHint": false
          }
        },
        {
          "name": "get_case",
          "title": "Get case",
          "description": "Retrieve a Klarefi case and resolved facts.",
          "inputSchema": {
            "properties": {
              "case_id": {
                "type": "string"
              }
            },
            "required": [
              "case_id"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true
          }
        },
        {
          "name": "list_operator_queue",
          "title": "List operator queue",
          "description": "List the bounded Klarefi operator queue for this API key's environment. Requires cases:review.",
          "inputSchema": {
            "properties": {
              "limit": {
                "maximum": 200,
                "minimum": 1,
                "type": "number"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true
          }
        },
        {
          "name": "get_case_workspace",
          "title": "Get case workspace",
          "description": "Inspect a case workspace with facts, cited evidence, blockers, ownership, and timeline. This does not mutate the case.",
          "inputSchema": {
            "properties": {
              "case_id": {
                "type": "string"
              }
            },
            "required": [
              "case_id"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true
          }
        },
        {
          "name": "get_case_package",
          "title": "Get case package",
          "description": "Get the cited case_package.v1 artifact and a signed read-only case-file URL.",
          "inputSchema": {
            "properties": {
              "case_id": {
                "type": "string"
              }
            },
            "required": [
              "case_id"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true
          }
        },
        {
          "name": "submit_case_review",
          "title": "Submit case review command",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "case_id": {
                "type": "string"
              },
              "command_type": {
                "enum": [
                  "approve_fact",
                  "correct_fact",
                  "request_applicant_info",
                  "add_custom_evidence",
                  "update_fact_evidence",
                  "escalate"
                ],
                "type": "string"
              },
              "idempotency_key": {
                "type": "string"
              },
              "payload": {
                "additionalProperties": true,
                "type": "object"
              },
              "rationale": {
                "type": "string"
              },
              "trace_id": {
                "type": "string"
              }
            },
            "required": [
              "case_id",
              "command_type",
              "payload"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": false,
            "readOnlyHint": false
          }
        },
        {
          "name": "get_review_command",
          "title": "Get review command",
          "description": "Poll the status and result of an intake-review command.",
          "inputSchema": {
            "properties": {
              "case_id": {
                "type": "string"
              },
              "command_id": {
                "type": "string"
              }
            },
            "required": [
              "case_id",
              "command_id"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true
          }
        },
        {
          "name": "list_workflows",
          "title": "List workflows",
          "description": "List versioned Form · Fact · Verify workflow declarations.",
          "inputSchema": {
            "properties": {},
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true
          }
        },
        {
          "name": "save_workflow_draft",
          "title": "Save workflow draft",
          "description": "Validate and save a workflow declaration as a draft. This tool cannot publish or activate the workflow.",
          "inputSchema": {
            "properties": {
              "workflow": {
                "additionalProperties": true,
                "type": "object"
              }
            },
            "required": [
              "workflow"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": false,
            "readOnlyHint": false
          }
        },
        {
          "name": "open_intake",
          "title": "Open intake",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "access_token": {
                "description": "Applicant access token. Use it with session_id instead of url.",
                "type": "string"
              },
              "api_base_url": {
                "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override.",
                "type": "string"
              },
              "session_id": {
                "type": "string"
              },
              "url": {
                "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true
          }
        },
        {
          "name": "get_intake_state",
          "title": "Get intake state",
          "description": "Get the current applicant intake state. Pass url, or session_id with access_token, on the hosted MCP endpoint.",
          "inputSchema": {
            "properties": {
              "access_token": {
                "description": "Applicant access token. Use it with session_id instead of url.",
                "type": "string"
              },
              "api_base_url": {
                "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override.",
                "type": "string"
              },
              "session_id": {
                "type": "string"
              },
              "url": {
                "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true
          }
        },
        {
          "name": "answer_question",
          "title": "Answer intake question",
          "description": "Answer the active applicant question with free text, optionally targeting a task_id.",
          "inputSchema": {
            "properties": {
              "access_token": {
                "description": "Applicant access token. Use it with session_id instead of url.",
                "type": "string"
              },
              "api_base_url": {
                "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override.",
                "type": "string"
              },
              "session_id": {
                "type": "string"
              },
              "task_id": {
                "type": "string"
              },
              "text": {
                "type": "string"
              },
              "url": {
                "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint.",
                "type": "string"
              }
            },
            "required": [
              "text"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": false,
            "readOnlyHint": false
          }
        },
        {
          "name": "answer_fields",
          "title": "Answer intake fields",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "access_token": {
                "description": "Applicant access token. Use it with session_id instead of url.",
                "type": "string"
              },
              "api_base_url": {
                "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override.",
                "type": "string"
              },
              "fields": {
                "additionalProperties": {
                  "type": "string"
                },
                "description": "String values keyed by fact_id.",
                "type": "object"
              },
              "session_id": {
                "type": "string"
              },
              "task_id": {
                "type": "string"
              },
              "url": {
                "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint.",
                "type": "string"
              }
            },
            "required": [
              "fields"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": false,
            "readOnlyHint": false
          }
        },
        {
          "name": "upload_document",
          "title": "Upload intake document",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "access_token": {
                "description": "Applicant access token. Use it with session_id instead of url.",
                "type": "string"
              },
              "api_base_url": {
                "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override.",
                "type": "string"
              },
              "content_base64": {
                "type": "string"
              },
              "file_path": {
                "type": "string"
              },
              "filename": {
                "description": "Required with content_base64. Defaults to the basename of file_path.",
                "type": "string"
              },
              "mime_type": {
                "type": "string"
              },
              "session_id": {
                "type": "string"
              },
              "task_id": {
                "type": "string"
              },
              "url": {
                "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": false,
            "openWorldHint": false,
            "readOnlyHint": false
          }
        },
        {
          "name": "submit_intake",
          "title": "Submit intake",
          "description": "Submit the applicant intake. Returns submitted, blockers, and the fresh intake state.",
          "inputSchema": {
            "properties": {
              "access_token": {
                "description": "Applicant access token. Use it with session_id instead of url.",
                "type": "string"
              },
              "api_base_url": {
                "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override.",
                "type": "string"
              },
              "field_values": {
                "additionalProperties": true,
                "description": "Optional final field values; each value must be string or null.",
                "type": "object"
              },
              "session_id": {
                "type": "string"
              },
              "url": {
                "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": false,
            "readOnlyHint": false
          }
        },
        {
          "name": "save_intake_draft",
          "title": "Save intake draft",
          "description": "Save applicant form draft fields without submitting. Field values must be strings or null.",
          "inputSchema": {
            "properties": {
              "access_token": {
                "description": "Applicant access token. Use it with session_id instead of url.",
                "type": "string"
              },
              "api_base_url": {
                "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override.",
                "type": "string"
              },
              "fields": {
                "additionalProperties": true,
                "description": "Draft field values keyed by field_id.",
                "type": "object"
              },
              "session_id": {
                "type": "string"
              },
              "url": {
                "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint.",
                "type": "string"
              }
            },
            "required": [
              "fields"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": false,
            "readOnlyHint": false
          }
        },
        {
          "name": "wait_for_next_action",
          "title": "Wait for next intake action",
          "description": "Poll until the intake leaves processing or the timeout expires. If timed_out is true, call wait_for_next_action again.",
          "inputSchema": {
            "properties": {
              "access_token": {
                "description": "Applicant access token. Use it with session_id instead of url.",
                "type": "string"
              },
              "api_base_url": {
                "description": "Optional Klarefi deployment URL for local stdio use. The hosted MCP endpoint does not accept this override.",
                "type": "string"
              },
              "session_id": {
                "type": "string"
              },
              "timeout_seconds": {
                "default": 60,
                "maximum": 120,
                "type": "number"
              },
              "url": {
                "description": "Signed hosted intake URL. Include it in every call to the hosted MCP endpoint.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true
          }
        }
      ]
    },
    "name": "Klarefi",
    "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
    "packages": [
      {
        "registryType": "npm",
        "identifier": "@klarefi/mcp",
        "version": "0.3.0",
        "transport": "stdio"
      }
    ],
    "pageJsonUrl": "https://www.anchorterminal.com/tools/klarefi-mcp.json",
    "popularity": {
      "githubStars": 0,
      "npmWeekly": 27
    },
    "registryName": "com.klarefi/mcp",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://www.klarefi.com/mcp"
      }
    ],
    "repository": "https://github.com/jmqcooper-ai/klarefi-mcp",
    "reviewed": false,
    "slug": "klarefi-mcp",
    "source": "the official MCP registry",
    "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=com.klarefi/mcp",
    "summary": "Complete regulated intake work and retrieve cited case files without deciding the case.",
    "updatedAt": "2026-08-10T13:19:39Z",
    "url": "https://www.anchorterminal.com/tools/klarefi-mcp",
    "vendor": "klarefi.com",
    "vendorUrl": "https://klarefi.com",
    "version": "0.3.0",
    "websiteUrl": "",
    "where": "both",
    "why": [
      "vendor"
    ]
  }
}
