Skip to content

SwiftProbate

by swiftprobate.com · remote · no sign-in to list tools · v1.0.0 · published by com.swiftprobate

Probate help for US executors: county courts, court forms, bank guides, and your estate checklist.

Deletes · 12Changes · 4

32 tools: 12 can delete or cancel things, 4 change things and 16 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http probate https://www.swiftprobate.com/api/mcp/estate

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "log_transaction" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "log_transaction" says "log": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

32 tools

Deletes or cancels 12Claude Code: deny
  • assign_taskAssign a task to a specific estate member or the owner.No findings

    Why it is in this group

    • The name "assign_task" says "assign": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Assign a task to a specific estate member or the owner. Use get_estate_summary first to see available members and their user IDs.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • idempotentHint: false
  • complete_onboardingSet up a new estate for the signed-in user and generate their personalized probate checklist.No findings

    Why it is in this group

    • The description's first verb is "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set up a new estate for the signed-in user and generate their personalized probate checklist. Use this when list_my_estates returns no estates (or one with no deceased details yet), or the user is just getting started. Saves estate details and placeholder assets, then starts checklist generation that may research public sources and send a completion email. Refuses an already-onboarded estate. Collect the fields conversationally first, then call once; partial failures are not guaranteed safe to retry.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
    • idempotentHint: false
  • edit_taskEdit an existing task's title, description, priority, deadline, category, or helpful links.No findings

    Why it is in this group

    • The name "edit_task" says "edit": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Edit an existing task's title, description, priority, deadline, category, or helpful links. Use when the user wants to modify task details.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • idempotentHint: false
  • mark_assets_completeRecord that the user has finished telling you about the estate's assets.No findings

    Why it is in this group

    • The name "mark_assets_complete" says "mark": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Record that the user has finished telling you about the estate's assets. Call this the moment they say there is nothing else — "that's everything", "that's the only asset", "nothing else to add". This is what turns "Has real property" and the estate size in your Estate Context from "Not yet provided" into a definite answer; until you call it those facts stay unknown and you will keep having to ask about them. BEFORE calling: make sure every asset they have named is already saved with create_asset — this tool records that the LIST is finished, it does not save assets. Call it on the SAME turn the user tells you the list is complete; do NOT ask them to confirm a second time first. For a paid estate this also starts building their asset-by-asset plan, so only call it once the list really is final. Changes the asset-collection flag and derived estate facts. For eligible paid estates, this may start public-source research, add checklist tasks, and send a completion email.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
    • idempotentHint: false
  • mark_heirs_completeRecord that the user has finished telling you about the estate's heirs and family.No findings

    Why it is in this group

    • The name "mark_heirs_complete" says "mark": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Record that the user has finished telling you about the estate's heirs and family. Call this the moment they say that's everyone — "no other children", "there's no spouse", "that's all the heirs". This is what turns "Surviving spouse" and "Minor children" in your Estate Context from "Not yet provided" into a definite answer; until you call it those facts stay unknown and you will keep having to ask about them. BEFORE calling: make sure every person they have named is already saved with create_heir, including a surviving spouse. Call it on the SAME turn the user says the list is complete; do NOT ask them to confirm a second time first. Changes the heir-collection flag and derived estate facts; does not start paid checklist generation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • idempotentHint: false
  • update_assetUpdate an existing asset's details (name, value, jurisdiction, notes, etc.).No findings

    Why it is in this group

    • The name "update_asset" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update an existing asset's details (name, value, jurisdiction, notes, etc.). Use this instead of creating a duplicate when the user wants to modify an asset.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • idempotentHint: false
  • update_estateUpdate high-level estate details that the user can correct after onboarding.No findings

    Why it is in this group

    • The name "update_estate" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update high-level estate details that the user can correct after onboarding. Use this when the user mentions a fact that should be persisted (e.g. "actually there is a will", "the will is in the safe deposit box", "the case number is 2026-001234"). NOT for who the heirs are or what the estate owns — record a person with create_heir, an asset with create_asset, and when the user says the list is finished call mark_heirs_complete / mark_assets_complete. This is ALSO where you record the estate's OPERATING/checking account (the account the executor opens after death with the estate's EIN) — use estate_account_institution / estate_account_number, NOT create_asset. The operating account is not an estate asset. It is ALSO where you save the estate's IRS EIN (tax ID) — use the `ein` field, which is distinct from the court's case number (`estate_number`). Always confirm changes before calling. When changing deceased_state or deceased_county, follow the special jurisdiction-change flow described in the system prompt: explain that tasks are based on county of residence at time of death, confirm via suggest_actions, then after the update review and revise jurisdiction-affected tasks. Replaces supplied estate details. Resolving will status may remove the will-determination task and add succession tasks from local reference data.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • idempotentHint: false
  • update_heirUpdate an existing heir's details.No findings

    Why it is in this group

    • The name "update_heir" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update an existing heir's details. Use when the user wants to correct or add information to a recorded heir. Get the heir_id from the pre-loaded Heirs context block.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • idempotentHint: false
  • update_task_deadlineSet or clear a task's deadline.No findings

    Why it is in this group

    • The name "update_task_deadline" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set or clear a task's deadline. Use this when the user wants to set a due date.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • idempotentHint: false
  • update_task_notesSet or update the user notes on a task.No findings

    Why it is in this group

    • The name "update_task_notes" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set or update the user notes on a task. Use this when the user wants to add notes to a task.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • idempotentHint: false
  • update_task_statusUpdate a task's status.No findings

    Why it is in this group

    • The name "update_task_status" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update a task's status. Use this when the user asks to mark a task as completed, in progress, etc.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • idempotentHint: false
  • update_transactionCorrect an existing ledger transaction when the user wants to fix a mistake — a wrong amount, date, category, payee, who paid, or which heir/asset it relates to.No findings

    Why it is in this group

    • The name "update_transaction" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Correct an existing ledger transaction when the user wants to fix a mistake — a wrong amount, date, category, payee, who paid, or which heir/asset it relates to. Find the transaction's ID with get_transactions first. This is a PARTIAL update: pass transaction_id plus ONLY the fields that change; everything you omit is left as-is. Use this (not a new correcting entry) whenever the user says an amount or detail was wrong. Confirm the correction with the user before calling.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • idempotentHint: false
Changes things 4Claude Code: ask
  • create_assetCreate a new asset in the estate.No findings

    Why it is in this group

    • The name "create_asset" says "create": a word for a change.
    Description, as the server wrote it
    Create a new asset in the estate. Use this when the user wants to add a bank account, property, vehicle, insurance policy, other asset, or a debt the estate owes. A same-named asset does NOT block creation (two accounts at the same institution are legitimate) — but if you created this exact asset moments ago, the tool returns the existing one instead of a duplicate. Use update_asset to change details of an existing asset. For eligible paid estates, adding an asset may start public-source research and add asset-specific tasks. Recent same-name assets may have empty fields filled instead of a duplicate being added. Repeating after the deduplication window may create another asset.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • idempotentHint: false
  • create_heirAdd a new heir to the estate.No findings

    Why it is in this group

    • The name "create_heir" says "create": a word for a change.
    Description, as the server wrote it
    Add a new heir to the estate. Use when the user wants to record a person who may inherit (spouse, child, stepchild, grandchild, parent, sibling, or other relative). Call as soon as you have a name and the user's description of the relationship — any wording is accepted.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: false
  • create_taskCreate a new task in the estate.No findings

    Why it is in this group

    • The name "create_task" says "create": a word for a change.
    Description, as the server wrote it
    Create a new task in the estate. Use this when the user identifies a new requirement or action item that should be tracked.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: false
  • log_transactionRecord a financial transaction in the estate ledger when the user mentions money moving — an expense they paid, income the estate received, a debt payment, or a distribution to an …1 finding

    Why it is in this group

    • The name "log_transaction" says "log": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "log_transaction" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "log_transaction" says "log": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Record a financial transaction in the estate ledger when the user mentions money moving — an expense they paid, income the estate received, a debt payment, or a distribution to an heir. Examples: "I paid $4,200 for the funeral", "the estate got a $1,300 tax refund", "my brother covered the $800 headstone". ALWAYS confirm the amount, what it was for, and (for expenses) who paid before calling. Administration expenses are direction='disbursement'. If someone paid out of pocket, set paid_by='individual' so it's tracked as reimbursable: leave payer_name empty if the user themselves paid, or set payer_name to the person's name if someone else (e.g. a family member who isn't the estate) paid. Records a bookkeeping entry only; does not move money. Duplicate detection is time-limited, so repeating later may add another entry.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: false
Only reads 16Claude Code: allow
  • fetchFetch the full SwiftProbate reference record for an id returned by `search` (a state overview, county court guide, institution notification guide, or a jurisdiction's forms).No findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.
    Description, as the server wrote it
    Fetch the full SwiftProbate reference record for an id returned by `search` (a state overview, county court guide, institution notification guide, or a jurisdiction's forms).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • find_probate_formsFind the probate forms for a jurisdiction: each form's name, code, description, official court source link (when known), and SwiftProbate page, plus whether it is a county-specific…No findings

    Why it is in this group

    • The name "find_probate_forms" says "find": a word for reading.
    Description, as the server wrote it
    Find the probate forms for a jurisdiction: each form's name, code, description, official court source link (when known), and SwiftProbate page, plus whether it is a county-specific or statewide form. Some states (e.g. Florida) publish no statewide fill-in forms — pass the county to get the usable county-level forms.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_activity_logGet the estate's recent activity-log entries (who changed what, and when).No findings

    Why it is in this group

    • The name "get_activity_log" says "get": a word for reading.
    Description, as the server wrote it
    Get the estate's recent activity-log entries (who changed what, and when). Call this when the user asks what has changed recently or who did something — not for task or asset contents, which have their own tools.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_asset_detailGet one asset's full details plus the tasks linked to it, by asset ID.No findings

    Why it is in this group

    • The name "get_asset_detail" says "get": a word for reading.
    Description, as the server wrote it
    Get one asset's full details plus the tasks linked to it, by asset ID. Call this when the user asks about a specific asset's tasks or you need details beyond what the Assets context block shows. Get the asset_id from that context block.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_assetsList every asset in the estate with its type and value.No findings

    Why it is in this group

    • The name "get_assets" says "get": a word for reading.
    Description, as the server wrote it
    List every asset in the estate with its type and value. Your Estate Context already lists the assets, so call this only when you need the full set fresh (e.g. right after creating or updating one) or the context block was truncated. For one asset's linked tasks, use get_asset_detail instead.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_documentsList the estate's uploaded documents, optionally filtered by asset or task.No findings

    Why it is in this group

    • The name "get_documents" says "get": a word for reading.
    Description, as the server wrote it
    List the estate's uploaded documents, optionally filtered by asset or task. Your Documents context block already lists them, so call this only to refresh after an upload or to filter to a specific asset's or task's documents. To read a document's contents, use read_document instead.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_estate_summaryGet a summary of the estate including details, assets, heirs, and task statistics.No findings

    Why it is in this group

    • The name "get_estate_summary" says "get": a word for reading.
    Description, as the server wrote it
    Get a summary of the estate including details, assets, heirs, and task statistics. Use this when the user asks about the estate overview or general status.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_heirsList every recorded heir with relationship and details.No findings

    Why it is in this group

    • The name "get_heirs" says "get": a word for reading.
    Description, as the server wrote it
    List every recorded heir with relationship and details. The Heirs context block already lists them, so call this only to refresh after adding or updating an heir, or when that block was truncated.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_state_overviewGet high-level probate facts for a US state: small-estate threshold, filing deadline, creditor-claim period, estimated timeline, court filing fee, average attorney fee, whether it …No findings

    Why it is in this group

    • The name "get_state_overview" says "get": a word for reading.
    Description, as the server wrote it
    Get high-level probate facts for a US state: small-estate threshold, filing deadline, creditor-claim period, estimated timeline, court filing fee, average attorney fee, whether it is a UPC / community-property / independent-administration state, plus a prose overview and the SwiftProbate guide URL.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_task_detailGet full details of a specific task by ID, including its description, status, priority, deadline, notes, and linked documents.No findings

    Why it is in this group

    • The name "get_task_detail" says "get": a word for reading.
    Description, as the server wrote it
    Get full details of a specific task by ID, including its description, status, priority, deadline, notes, and linked documents.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_tasksList tasks with optional filters.No findings

    Why it is in this group

    • The name "get_tasks" says "get": a word for reading.
    Description, as the server wrote it
    List tasks with optional filters. Use this to find tasks by status, category, asset, or search term. By default returns titles only; pass include_description: true to also get each task's full description (use this when reviewing tasks for jurisdiction or other content-level changes).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_transactionsRead the estate's financial ledger — money in (receipts), money out (disbursements), and distributions to heirs.No findings

    Why it is in this group

    • The name "get_transactions" says "get": a word for reading.
    Description, as the server wrote it
    Read the estate's financial ledger — money in (receipts), money out (disbursements), and distributions to heirs. Returns: `transactions` (each with `paid_by` already resolved to the actual payer's NAME — use it as-is, never assume the executor paid), `starting_balances` (bank accounts' date-of-death balances that already show in the ledger as starting-balance lines — these are NOT missing transactions; do not suggest re-adding them), and `totals` (starting_balance, money_in, money_out, pending_reimbursements). Use this before answering any spending, reimbursement, or accounting question, and treat both `transactions` and `starting_balances` as already in the ledger.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • list_my_estatesList the estates the signed-in user can work with (owned or shared with them), each with its id, a label (the deceased's name), the user's role, and whether they can edit.No findings

    Why it is in this group

    • The name "list_my_estates" says "list": a word for reading.
    Description, as the server wrote it
    List the estates the signed-in user can work with (owned or shared with them), each with its id, a label (the deceased's name), the user's role, and whether they can edit. Call this FIRST — every other estate tool needs an estate_id from here.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • lookup_county_guideLook up SwiftProbate's published probate guide for a specific US county: verified courthouse address/phone/website, filing fee, approved newspapers for publication, e-filing system…No findings

    Why it is in this group

    • The name "lookup_county_guide" says "lookup": a word for reading.
    Description, as the server wrote it
    Look up SwiftProbate's published probate guide for a specific US county: verified courthouse address/phone/website, filing fee, approved newspapers for publication, e-filing system, and county-specific probate forms. Use this before answering any question about a county court's contact info, filing fees, or publication requirements — county-level details are unreliable from model knowledge alone.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • lookup_institution_guideLook up SwiftProbate's estate-notification guide for a financial institution (banks, brokerages, life insurers, credit unions, and more): estate department phone/hours/fax, mailing…No findings

    Why it is in this group

    • The name "lookup_institution_guide" says "lookup": a word for reading.
    Description, as the server wrote it
    Look up SwiftProbate's estate-notification guide for a financial institution (banks, brokerages, life insurers, credit unions, and more): estate department phone/hours/fax, mailing and overnight addresses, online notification URL, required-document checklist, and which account types require probate.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true

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.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http probate https://www.swiftprobate.com/api/mcp/estate

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__probate__list_my_estates",
      "mcp__probate__lookup_county_guide",
      "mcp__probate__lookup_institution_guide",
      "mcp__probate__find_probate_forms",
      "mcp__probate__get_state_overview",
      "mcp__probate__search",
      "mcp__probate__fetch",
      "mcp__probate__get_estate_summary",
      "mcp__probate__get_tasks",
      "mcp__probate__get_task_detail",
      "mcp__probate__get_assets",
      "mcp__probate__get_asset_detail",
      "mcp__probate__get_heirs",
      "mcp__probate__get_transactions",
      "mcp__probate__get_documents",
      "mcp__probate__get_activity_log"
    ],
    "ask": [
      "mcp__probate__create_task",
      "mcp__probate__create_asset",
      "mcp__probate__log_transaction",
      "mcp__probate__create_heir"
    ],
    "deny": [
      "mcp__probate__complete_onboarding",
      "mcp__probate__edit_task",
      "mcp__probate__update_task_status",
      "mcp__probate__update_task_notes",
      "mcp__probate__update_task_deadline",
      "mcp__probate__assign_task",
      "mcp__probate__update_asset",
      "mcp__probate__mark_assets_complete",
      "mcp__probate__update_transaction",
      "mcp__probate__update_heir",
      "mcp__probate__mark_heirs_complete",
      "mcp__probate__update_estate"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as probate. Review it before you use it.