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.
32 tools: 12 can delete or cancel things, 4 change things and 16 only read.
Scanned Oct 21, 2026
- Deletes or cancels12Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads16Claude Code: allow: see these tools
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/estateFindings
Matches of fixed checks, with the text they matched.
- Warnlog_transaction
The server marks "log_transaction" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "log_transaction" says "log": a word for reading.
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.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "log_transaction" says "log": a word for reading.
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
searchSearch SwiftProbate's probate reference data (US states, counties, financial institutions, and court forms).No findings
Why it is in this group
- The name "search" says "search": a word for reading.
Description, as the server wrote it Search SwiftProbate's probate reference data (US states, counties, financial institutions, and court forms). Returns a list of results, each with an id you can pass to `fetch` for the full record. Use it for open-ended probate reference questions before answering from model knowledge.
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/estateRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.