Tool Catalog (mcp_catalog)
mcp_catalog is DocJacket's self-discovery tool. One call returns the live inventory of every tool the connected assistant can use right now — with descriptions, scope tiers, non-obvious gotchas, suggested pairings, and example argument shapes. Help docs that hard-code tool names will drift; mcp_catalog always reflects what's actually deployed.
It's the right answer to "what can my AI assistant actually do with DocJacket?" because:
- It's scoped to your token. If you granted read-only access at consent, the catalog returns only read tools — no surprises about what writes might fire.
- It carries metadata that
tools/listdoesn't. The MCP protocol's standardtools/listreturns name + description + input schema. The catalog adds gotchas, pairing hints, example call shapes, and deprecation status — the stuff that helps an assistant plan a workflow, not just find a tool. - It's identical regardless of arguments. No parameters, no state. Safe to cache for a conversation; safe to call at the start of any planning step.
How to invoke
Ask your AI assistant in plain English:
"Use DocJacket's
mcp_catalogand group the tools by category." "Show me every DocJacket tool I have access to with this token." "Runmcp_catalogand summarize the tools available to my token."
The assistant calls the tool, gets back the JSON below, and formats it for you. You don't write the call yourself.
A worked example
A single mcp_catalog response, truncated to representative read-tool entries:
{
"tools": [
{
"name": "list_active_transactions",
"description": "List every active transaction in the current organization (statuses tagged 'open' — Active, Pending, Under Contract). Returns address, status, closing date, completion %. Pass include_parties=true to also get every party on each deal with their email and role...",
"requiredScope": "read",
"hasOutputSchema": false,
"gotchas": [
"Capped at 200 transactions; orgs with more should chain search_transactions for the long tail.",
"statusType='open' covers Active/Pending/Under Contract but excludes Closed — historical context needs search_transactions.",
"include_parties + include_key_dates each add a per-transaction round-trip; default both off when you only need the address/status list."
],
"pairsWith": [
"get_next_required_actions",
"get_transaction",
"get_missing_documents"
],
"exampleCall": "{\"include_parties\": true, \"limit\": 30}"
},
{
"name": "get_transaction",
"description": "Full detail on one transaction — parties, key dates, contingencies, tasks, timeline status, and financial terms. Pass the transactionId returned by search_transactions or list_active_transactions.",
"requiredScope": "read",
"hasOutputSchema": false,
"gotchas": [],
"pairsWith": []
},
{
"name": "get_key_dates",
"description": "Return all key dates for one transaction, including date, status, source, and linked timeline context.",
"requiredScope": "read",
"hasOutputSchema": false,
"gotchas": [],
"pairsWith": [
"get_transaction",
"get_next_required_actions"
]
}
],
"totalCount": 8
}
What each field means
| Field | What it is |
|---|---|
name | Tool name as you'd pass to tools/call. snake_case, verb-first. |
description | Human-readable purpose + when to use it. Same text MCP's standard tools/list returns. |
requiredScope | Tier scope the caller needs: read for lookups; draft or actions for rollout-gated create, update, send, or apply tools. The catalog only returns tools your token can actually call. |
requiredGranularScope | Optional fine-grained scope on top of the tier (e.g. messaging:send, transactions:create). Empty when the tier alone is enough. |
hasOutputSchema | Whether the tool declares a structured output schema. true means the response shape is documented and validated; false is text/JSON without a contract. |
gotchas[] | Non-obvious behaviors worth knowing before calling — caps, scope nuances, side-effects. Empty when nothing surprising. |
pairsWith[] | Tools that naturally chain with this one. Empty when the tool stands alone. |
exampleCall | A realistic argument shape, as a JSON string. Useful when figuring out an unfamiliar tool. Absent when the tool has no required arguments. |
deprecatedBy | If set, the tool is in soft-kill mode; this names the replacement tool to use instead. Absent on live tools. |
removalEta | If set (ISO 8601 date), the date after which the deprecated tool stops working. Absent on live tools. |
Why this matters
Two reasons it's load-bearing for getting good results out of an AI assistant connected to DocJacket:
- The assistant plans better when it knows the surface. With
gotchas,pairsWith, andexampleCall, the assistant can chain tools intelligently — "I'll calllist_active_transactionsfirst withinclude_parties: true, thenget_missing_documentsfor the deals closing this week" — without you having to spell out the recipe. - You stay in control without memorizing names. You don't need to remember whether the tool is
search_transactionsortransaction_search. You ask "show me deals at 1234 Main" — the assistant callsmcp_catalogto figure out the right tool, then calls it.
Every customer-facing doc page on this site references tool names; mcp_catalog is the source of truth all of them point at. If anything ever drifts, the catalog wins.
Read more
- Connect Claude / Connect Codex / ChatGPT — install the connector if you haven't
- Slash Commands — pre-built workflows that wrap the most-used tool chains
- Contract Intake — external PDF intake for accounts with action tools enabled
- AI Access overview — section index