Klarefi
com.klarefi/mcpklarefi.comstreamable-httpv0.3.0Scanned
Complete regulated intake work and retrieve cited case files without deciding the case.
21 tools: 9 can delete or cancel things, 4 change things and 8 only read.
- Reads private data · 1
- Reads text others write · 6
- Can send data out · 5
- 2 findings
Sign-in required, no OAuth metadata. Remote posture
Anlyon alternative
13 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
21 tools
Deletes or cancels 9Claude Code: deny
answer_fieldsAnswer structured requested facts by fact_id.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
answer_questionAnswer the active applicant question with free text, optionally targeting a task_id.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Answer the active applicant question with free text, optionally targeting a task_id.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
create_connectorCreate or update a Klarefi verification connector manifest.No findings
Why it is in this group
- The name "create_connector" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create or update a Klarefi verification connector manifest. The result reports whether the configuration is active or staged for operator approval.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
create_connector_from_openapiImport a public OpenAPI JSON URL as a Klarefi verification connector.Reads text others writeNo findings
Why it is in this group
- The name "create_connector_from_openapi" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
delete_connectorDelete a configured Klarefi connector by key or stage its deletion for operator approval.No findings
Why it is in this group
- The name "delete_connector" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Delete a configured Klarefi connector by key or stage its deletion for operator approval.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
save_intake_draftSave applicant form draft fields without submitting.No findings
Why it is in this group
- The name "save_intake_draft" says "save": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Save applicant form draft fields without submitting. Field values must be strings or null.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
save_workflow_draftValidate and save a workflow declaration as a draft.No findings
Why it is in this group
- The name "save_workflow_draft" says "save": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Validate and save a workflow declaration as a draft. This tool cannot publish or activate the workflow.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
submit_case_reviewSubmit an auditable intake-review command.No findings
Why it is in this group
- The name "submit_case_review" says "submit": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Submit an auditable intake-review command. Allowed commands review or correct facts, update evidence, or escalate. This tool cannot complete or reopen a case.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
submit_intakeSubmit the applicant intake.No findings
Why it is in this group
- The name "submit_intake" says "submit": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Submit the applicant intake. Returns submitted, blockers, and the fresh intake state.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
Changes things 4Claude Code: ask
create_intake_sessionCreate a hosted Klarefi intake session.No findings
Why it is in this group
- The name "create_intake_session" says "create": a word for a change.
Description, as the server wrote it Create a hosted Klarefi intake session.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
give_intake_consentRecord the applicant's consent to processing.Can send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
What it can reach
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Record the applicant's consent to processing. Call it when the intake state's next_action is consent, and only after the applicant has agreed to the notice in next_action.notice. Returns the fresh intake state.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
open_intakeRead an applicant intake from a signed URL or from session_id plus access_token.Reads text others writeCan send data out2 findings
Why it is in this group
- The name "open_intake" says "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe description's first sentence says "read" and "url": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Findings
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...d MCP endpoint, include the same intake credential in each later intake tool call."
- Warn
The server marks "open_intake" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "open_intake" says "open": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
upload_documentUpload a requested applicant document.Can send data outNo findings
Why it is in this group
- The name "upload_document" says "upload": a word for a change.
What it can reach
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
Only reads 8Show 8 read-only tools
get_caseRetrieve a Klarefi case and resolved facts.No findings
Why it is in this group
- The name "get_case" says "get": a word for reading.
Description, as the server wrote it Retrieve a Klarefi case and resolved facts.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_case_packageGet the cited case_package.v1 artifact and a signed read-only case-file URL.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "get_case_package" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "get" and "file": it reads files.
- untrusted-inputThe description's first sentence says "get" and "url": it reads web pages, which anyone can write.
Description, as the server wrote it Get the cited case_package.v1 artifact and a signed read-only case-file URL. The package carries the facts, the calculated facts, and the offer or decline on the case with its files.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_case_workspaceInspect a case workspace with facts, cited evidence, blockers, ownership, and timeline.No findings
Why it is in this group
- The name "get_case_workspace" says "get": a word for reading.
Description, as the server wrote it Inspect a case workspace with facts, cited evidence, blockers, ownership, and timeline. This does not mutate the case.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_intake_stateGet the current applicant intake state.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "get_intake_state" says "get": a word for reading.
What it can reach
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Get the current applicant intake state. Pass url, or session_id with access_token, on the hosted MCP endpoint.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_review_commandPoll the status and result of an intake-review command.Reads text others writeNo findings
Why it is in this group
- The name "get_review_command" says "get": a word for reading.
What it can reach
- untrusted-inputThe name "get_review_command" says "get" and "review": it reads comments, which other people can write.
- untrusted-inputThe description's first sentence says "review": it reads comments, which other people can write.
Description, as the server wrote it Poll the status and result of an intake-review command.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_operator_queueList the bounded Klarefi operator queue for this API key's environment.No findings
Why it is in this group
- The name "list_operator_queue" says "list": a word for reading.
Description, as the server wrote it List the bounded Klarefi operator queue for this API key's environment. Requires cases:review.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_workflowsList versioned Form · Fact · Verify workflow declarations.No findings
Why it is in this group
- The name "list_workflows" says "list": a word for reading.
Description, as the server wrote it List versioned Form · Fact · Verify workflow declarations.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
wait_for_next_actionPoll until the intake leaves processing or the timeout expires.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "wait_for_next_action" says "wait": a word for reading.
What it can reach
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Poll until the intake leaves processing or the timeout expires. If timed_out is true, call wait_for_next_action again.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
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.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
30 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 private-data tool breaks every one.
- Reads private data1
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write6
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out5
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
{
"permissions": {
"deny": [
"mcp__klarefi__get_case_package"
]
}
}Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Oct 22, 2026, 14:34 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 404
- tools/list served without credentials
- no
- Tools that change things, listed without credentials
- 0
- Protocol version
- not observed
- WWW-Authenticate on 401
- not observed
- resource_metadata in WWW-Authenticate
- not observed
- RFC 9728 protected resource metadata
- not observed
- Authorization servers
- not observed
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- not observed
- Client ID metadata documents
- not observed
The probe stopped: initialize answered HTTP 404.
Findings
Matches of fixed checks, with the text they matched.
- Warnopen_intake
The server marks "open_intake" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "open_intake" says "open": a word for a change.
- Infoopen_intake
The description mentions "credential".
What this check looks forMatched text
description: "...d MCP endpoint, include the same intake credential in each later intake tool call."
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 0.3.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http klarefi https://www.klarefi.com/mcpclaude mcp add --transport http klarefi https://www.klarefi.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__klarefi__get_case",
"mcp__klarefi__list_operator_queue",
"mcp__klarefi__get_case_workspace",
"mcp__klarefi__get_case_package",
"mcp__klarefi__get_review_command",
"mcp__klarefi__list_workflows"
],
"ask": [
"mcp__klarefi__create_intake_session",
"mcp__klarefi__open_intake",
"mcp__klarefi__get_intake_state",
"mcp__klarefi__upload_document",
"mcp__klarefi__give_intake_consent",
"mcp__klarefi__wait_for_next_action"
],
"deny": [
"mcp__klarefi__create_connector_from_openapi",
"mcp__klarefi__create_connector",
"mcp__klarefi__delete_connector",
"mcp__klarefi__submit_case_review",
"mcp__klarefi__save_workflow_draft",
"mcp__klarefi__answer_question",
"mcp__klarefi__answer_fields",
"mcp__klarefi__submit_intake",
"mcp__klarefi__save_intake_draft"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as klarefi. Review it before you use it.
Capability tags behind 8 rules
- mcp__klarefi__create_connector_from_openapi untrusted-input
- mcp__klarefi__get_case_package private-data, untrusted-input
- mcp__klarefi__get_review_command untrusted-input
- mcp__klarefi__open_intake untrusted-input, outbound
- mcp__klarefi__get_intake_state untrusted-input, outbound
- mcp__klarefi__upload_document outbound
- mcp__klarefi__give_intake_consent outbound
- mcp__klarefi__wait_for_next_action untrusted-input, outbound
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/com.klarefi/mcp/verify?hash=b3072c6358e0f69e4383374c407b846b293191057683a5eed0ba6a9c3e44c5ea" | jq -e '.changed == false'Pinned hash b3072c6358e0, from Oct 21, 2026, 18:34 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/com.klarefi/mcp/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/com.klarefi/mcp)Source: MCP Registry · repository. Synced Oct 21, 2026, 17:57 UTC.