Blackbook Protocol Advisor
Purchaser-gated MCP for Vault, HMRC TRS, 95/5 equity, and Companies House PSC.
Should I use this
Quality & Safety
Findings (5)
- HIGH
- MEDIUMin fill_fields
- LOWin list_fillable_fields
- LOWin fill_fields
- INFOin fill_fields
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"blackbook-advisor": {
"url": "https://theblackbook.pro"
}
}
}Remote endpoints
https://theblackbook.prostreamable-httpWhat it can do
Tool inventory
Tools (25)
π’search_book(query, limit)
REQUIRED before substantive Protocol answers. Search approved Blackbook Protocol passages and return cited excerpts. Prefer Protocol vocabulary from hits over generic UK legal advice. Returns ranked results plus the educational boundary.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search text using Protocol terms. Example: 95/5 equity split Vault PSC trustees"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Maximum number of cited excerpts to return. Default 5. Example: 5"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {},
"description": "JSON object with string keys"
},
"description": "Ranked corpus hits with citation and excerpt"
},
"boundary": {
"type": "string",
"description": "Mandatory educational / non-advice boundary statement"
}
},
"required": [
"results",
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_module_playbook(module)
REQUIRED when coaching setup. Return the ordered Protocol checklist for a module. For 95/5 / share transfer into the Trust use equity_95_5 (not a freestyle solicitor checklist). Modules: vault, trs, equity_95_5, psc, banking, ip, philosophy, legacy, property.
Input Schema
{
"type": "object",
"properties": {
"module": {
"type": "string",
"enum": [
"vault",
"trs",
"equity_95_5",
"psc",
"banking",
"ip",
"philosophy",
"legacy",
"property"
],
"description": "Protocol module id. Example: equity_95_5"
}
},
"required": [
"module"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Module id that was requested"
},
"title": {
"type": "string",
"description": "Human title for the module"
},
"summary": {
"type": "string",
"description": "One-paragraph module purpose"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {},
"description": "JSON object with string keys"
},
"description": "Ordered coaching steps"
},
"boundary": {
"type": "string",
"description": "Mandatory educational / non-advice boundary statement"
}
},
"required": [
"id",
"title",
"summary",
"steps",
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’list_skills(query)
List Protocol Architect workflow skills (Vault, TRS, 95/5, PSC, portal co-pilot). Call when the Owner asks how to set something up; then get_skill for the matching workflow.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional text to filter skill names or descriptions. Example: psc"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"skills": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {},
"description": "JSON object with string keys"
},
"description": "Discoverable skills with name, description, and skill:// URI"
}
},
"required": [
"skills"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_skill(name)
Load a Protocol workflow skill as markdown. Names: establish-vault-trust, register-trust-trs, implement-95-5-equity-split, update-psc-companies-house, run-portal-copilot.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"establish-vault-trust",
"register-trust-trs",
"implement-95-5-equity-split",
"update-psc-companies-house",
"run-portal-copilot"
],
"description": "Skill name from list_skills. Example: implement-95-5-equity-split"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Skill name"
},
"description": {
"type": "string",
"description": "Skill summary from frontmatter"
},
"uri": {
"type": "string",
"description": "skill:// URI for this workflow"
},
"markdown": {
"type": "string",
"description": "Full SKILL.md contents"
}
},
"required": [
"name",
"description",
"uri",
"markdown"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’list_modules(query)
List available Protocol advisor modules in coaching order.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional text to filter module id or title. Example: vault"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"modules": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {},
"description": "JSON object with string keys"
},
"description": "Protocol modules with id and title"
}
},
"required": [
"modules"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_hmrc_guidance(topic, jurisdiction)
Retrieve approved GOV.UK/HMRC trust and inheritance-tax guidance by topic. Returns a title, official URL, and short summary. Not a live scrape of GOV.UK.
Input Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "Guidance topic. Example: trs or inheritance tax"
},
"jurisdiction": {
"type": "string",
"description": "Jurisdiction filter. Example: UK"
}
},
"required": [
"topic"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "Topic that was requested"
},
"jurisdiction": {
"type": "string",
"description": "Jurisdiction used"
},
"guidance": {
"type": "object",
"additionalProperties": {},
"description": "Approved GOV.UK title, URL, and summary"
}
},
"required": [
"topic",
"jurisdiction",
"guidance"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_companies_house_guidance(topic)
Retrieve approved Companies House / PSC / WebFiling guidance. PSC filings name individuals (trustees), never the Trust itself.
Input Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "Guidance topic. Example: psc or webfiling"
}
},
"required": [
"topic"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "Topic that was requested"
},
"guidance": {
"type": "object",
"additionalProperties": {},
"description": "Approved GOV.UK title, URL, and summary"
}
},
"required": [
"topic",
"guidance"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}βͺrun_trust_intake(jurisdiction, objective, assets, assetValue, settlor, ...)
Validate a structured trust setup intake and return missing facts, Protocol warnings, and next modules. Call before drafting forms or opening portals.
Input Schema
{
"type": "object",
"properties": {
"jurisdiction": {
"type": "string",
"description": "Governing law of the trust. Example: England and Wales"
},
"objective": {
"type": "string",
"description": "Why the Owner is setting up the Vault. Example: Family wealth planning"
},
"assets": {
"type": "string",
"description": "Assets intended for the Trust. Example: 95 ordinary shares in Example Ltd"
},
"assetValue": {
"type": "string",
"description": "Optional indicative value of those assets. Example: 100000 GBP"
},
"settlor": {
"type": "string",
"description": "Person settling the Trust. Example: Alex Example"
},
"parties": {
"type": "string",
"description": "Trustees and beneficiaries in Protocol terms. Example: Alex Example (Lead Trustee); Class: children"
},
"existingArrangements": {
"type": "string",
"description": "Existing companies, trusts, or wills that affect setup. Example: Sole shareholder of Example Ltd"
},
"deadlines": {
"type": "string",
"description": "Known filing or lender deadlines. Example: TRS within 90 days of the deed"
},
"questions": {
"type": "string",
"description": "Owner questions the Architect should address. Example: Can the Trust be named as PSC?"
},
"companyName": {
"type": "string",
"description": "Engine (limited company) name. Example: Example Ltd"
},
"companyNumber": {
"type": "string",
"description": "Companies House number. Example: 12345678"
},
"trustName": {
"type": "string",
"description": "Vault / settlement name. Example: Example Family Settlement 2026"
}
},
"required": [
"jurisdiction",
"objective",
"assets",
"settlor",
"parties"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when required intake fields are present"
},
"missing": {
"type": "array",
"items": {
"type": "string"
},
"description": "Required fields that are still blank"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Protocol cautions such as settlor-as-beneficiary or 90/5"
},
"nextModules": {
"type": "array",
"items": {
"type": "string"
},
"description": "Suggested next Protocol modules"
},
"boundary": {
"type": "string",
"description": "Mandatory educational / non-advice boundary statement"
}
},
"required": [
"ok",
"missing",
"warnings",
"nextModules",
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}βͺdraft_form_answers(intake, formFamily)
Draft preparation notes for TRS, IHT100, IHT400, and related professional-review questions from a completed intake. Label as a Protocol guide for solicitor execution.
Input Schema
{
"type": "object",
"properties": {
"intake": {
"type": "object",
"properties": {
"jurisdiction": {
"type": "string",
"description": "Governing law of the trust. Example: England and Wales"
},
"objective": {
"type": "string",
"description": "Why the Owner is setting up the Vault. Example: Family wealth planning"
},
"assets": {
"type": "string",
"description": "Assets intended for the Trust. Example: 95 ordinary shares in Example Ltd"
},
"assetValue": {
"type": "string",
"description": "Optional indicative value of those assets. Example: 100000 GBP"
},
"settlor": {
"type": "string",
"description": "Person settling the Trust. Example: Alex Example"
},
"parties": {
"type": "string",
"description": "Trustees and beneficiaries in Protocol terms. Example: Alex Example (Lead Trustee); Class: children"
},
"existingArrangements": {
"type": "string",
"description": "Existing companies, trusts, or wills that affect setup. Example: Sole shareholder of Example Ltd"
},
"deadlines": {
"type": "string",
"description": "Known filing or lender deadlines. Example: TRS within 90 days of the deed"
},
"questions": {
"type": "string",
"description": "Owner questions the Architect should address. Example: Can the Trust be named as PSC?"
},
"companyName": {
"type": "string",
"description": "Engine (limited company) name. Example: Example Ltd"
},
"companyNumber": {
"type": "string",
"description": "Companies House number. Example: 12345678"
},
"trustName": {
"type": "string",
"description": "Vault / settlement name. Example: Example Family Settlement 2026"
}
},
"additionalProperties": true,
"description": "Structured Owner facts for Protocol coaching and portal field mapping"
},
"formFamily": {
"type": "string",
"enum": [
"TRS",
"IHT100",
"IHT400",
"unknown"
],
"description": "Form family to draft against. Example: TRS"
}
},
"required": [
"intake"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’prepare_portal_fill(intake, formFamily)
Map intake facts to a fill_fields payload for TRS or Companies House PSC. Secrets (auth code) are listed but never filled. Call after Owner login; align labels with list_fillable_fields. Never maps the Trust as a PSC organisation.
Input Schema
{
"type": "object",
"properties": {
"intake": {
"type": "object",
"properties": {
"jurisdiction": {
"type": "string",
"description": "Governing law of the trust. Example: England and Wales"
},
"objective": {
"type": "string",
"description": "Why the Owner is setting up the Vault. Example: Family wealth planning"
},
"assets": {
"type": "string",
"description": "Assets intended for the Trust. Example: 95 ordinary shares in Example Ltd"
},
"assetValue": {
"type": "string",
"description": "Optional indicative value of those assets. Example: 100000 GBP"
},
"settlor": {
"type": "string",
"description": "Person settling the Trust. Example: Alex Example"
},
"parties": {
"type": "string",
"description": "Trustees and beneficiaries in Protocol terms. Example: Alex Example (Lead Trustee); Class: children"
},
"existingArrangements": {
"type": "string",
"description": "Existing companies, trusts, or wills that affect setup. Example: Sole shareholder of Example Ltd"
},
"deadlines": {
"type": "string",
"description": "Known filing or lender deadlines. Example: TRS within 90 days of the deed"
},
"questions": {
"type": "string",
"description": "Owner questions the Architect should address. Example: Can the Trust be named as PSC?"
},
"companyName": {
"type": "string",
"description": "Engine (limited company) name. Example: Example Ltd"
},
"companyNumber": {
"type": "string",
"description": "Companies House number. Example: 12345678"
},
"trustName": {
"type": "string",
"description": "Vault / settlement name. Example: Example Family Settlement 2026"
}
},
"additionalProperties": true,
"description": "Structured Owner facts for Protocol coaching and portal field mapping"
},
"formFamily": {
"type": "string",
"enum": [
"TRS",
"COMPANIES_HOUSE_PSC"
],
"description": "Portal family to map. Example: COMPANIES_HOUSE_PSC"
}
},
"required": [
"intake"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}βͺgenerate_review_bundle(intake, format)
Generate a cited professional-review bundle from a completed intake for the Owner to take to a solicitor or CTA.
Input Schema
{
"type": "object",
"properties": {
"intake": {
"type": "object",
"properties": {
"jurisdiction": {
"type": "string",
"description": "Governing law of the trust. Example: England and Wales"
},
"objective": {
"type": "string",
"description": "Why the Owner is setting up the Vault. Example: Family wealth planning"
},
"assets": {
"type": "string",
"description": "Assets intended for the Trust. Example: 95 ordinary shares in Example Ltd"
},
"assetValue": {
"type": "string",
"description": "Optional indicative value of those assets. Example: 100000 GBP"
},
"settlor": {
"type": "string",
"description": "Person settling the Trust. Example: Alex Example"
},
"parties": {
"type": "string",
"description": "Trustees and beneficiaries in Protocol terms. Example: Alex Example (Lead Trustee); Class: children"
},
"existingArrangements": {
"type": "string",
"description": "Existing companies, trusts, or wills that affect setup. Example: Sole shareholder of Example Ltd"
},
"deadlines": {
"type": "string",
"description": "Known filing or lender deadlines. Example: TRS within 90 days of the deed"
},
"questions": {
"type": "string",
"description": "Owner questions the Architect should address. Example: Can the Trust be named as PSC?"
},
"companyName": {
"type": "string",
"description": "Engine (limited company) name. Example: Example Ltd"
},
"companyNumber": {
"type": "string",
"description": "Companies House number. Example: 12345678"
},
"trustName": {
"type": "string",
"description": "Vault / settlement name. Example: Example Family Settlement 2026"
}
},
"additionalProperties": true,
"description": "Structured Owner facts for Protocol coaching and portal field mapping"
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Bundle format. Example: markdown"
}
},
"required": [
"intake"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’list_risk_flags(intake)
Return legal, tax, and practical red flags detected from customer facts (settlor-as-beneficiary, lender consent, offshore, time pressure).
Input Schema
{
"type": "object",
"properties": {
"intake": {
"type": "object",
"properties": {
"jurisdiction": {
"type": "string",
"description": "Governing law of the trust. Example: England and Wales"
},
"objective": {
"type": "string",
"description": "Why the Owner is setting up the Vault. Example: Family wealth planning"
},
"assets": {
"type": "string",
"description": "Assets intended for the Trust. Example: 95 ordinary shares in Example Ltd"
},
"assetValue": {
"type": "string",
"description": "Optional indicative value of those assets. Example: 100000 GBP"
},
"settlor": {
"type": "string",
"description": "Person settling the Trust. Example: Alex Example"
},
"parties": {
"type": "string",
"description": "Trustees and beneficiaries in Protocol terms. Example: Alex Example (Lead Trustee); Class: children"
},
"existingArrangements": {
"type": "string",
"description": "Existing companies, trusts, or wills that affect setup. Example: Sole shareholder of Example Ltd"
},
"deadlines": {
"type": "string",
"description": "Known filing or lender deadlines. Example: TRS within 90 days of the deed"
},
"questions": {
"type": "string",
"description": "Owner questions the Architect should address. Example: Can the Trust be named as PSC?"
},
"companyName": {
"type": "string",
"description": "Engine (limited company) name. Example: Example Ltd"
},
"companyNumber": {
"type": "string",
"description": "Companies House number. Example: 12345678"
},
"trustName": {
"type": "string",
"description": "Vault / settlement name. Example: Example Family Settlement 2026"
}
},
"additionalProperties": true,
"description": "Structured Owner facts for Protocol coaching and portal field mapping"
}
},
"required": [
"intake"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"flags": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {},
"description": "JSON object with string keys"
},
"description": "Detected flags with code, label, and detail"
},
"boundary": {
"type": "string",
"description": "Mandatory educational / non-advice boundary statement"
}
},
"required": [
"flags",
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’list_implementation_modes(preferred)
List Owner choices: self_serve (own browser + guidance) vs assisted (Browserbase live view + optional fill). Ask before starting co-pilot.
Input Schema
{
"type": "object",
"properties": {
"preferred": {
"type": "string",
"enum": [
"self_serve",
"assisted"
],
"description": "Optional Owner preference if already stated. Example: self_serve"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"modes": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {},
"description": "JSON object with string keys"
},
"description": "self_serve and assisted options with recommended tools"
},
"defaultAsk": {
"type": "string",
"description": "Question to ask the Owner before choosing a path"
},
"boundary": {
"type": "string",
"description": "Mandatory educational / non-advice boundary statement"
}
},
"required": [
"modes",
"defaultAsk",
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_self_serve_portal(portalId)
Self-serve path: return the official portal URL plus Protocol checklist for the Ownerβs own browser. Present portalUrl as a clickable markdown link (MCP cannot launch local browsers). Do not start Browserbase.
Input Schema
{
"type": "object",
"properties": {
"portalId": {
"type": "string",
"enum": [
"trs",
"trs_manage",
"companies_house_webfiling",
"companies_house_psc"
],
"description": "Allowlisted official portal. Example: trs for HMRC Trust Registration Service"
}
},
"required": [
"portalId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"description": "Always self_serve"
},
"portalId": {
"type": "string",
"description": "Portal that was requested"
},
"portalUrl": {
"type": "string",
"description": "Official HTTPS URL to present as a markdown link"
},
"openInstruction": {
"type": "string",
"description": "How the client should present portalUrl"
},
"boundary": {
"type": "string",
"description": "Mandatory educational / non-advice boundary statement"
}
},
"required": [
"mode",
"portalId",
"portalUrl",
"openInstruction",
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’start_browser_session(reason)
ASSISTED mode only. Start a fresh ephemeral Browserbase (or mock) co-pilot session. Returns liveViewUrl β no purchaser email. If Owner prefers their own browser, use get_self_serve_portal instead.
Input Schema
{
"type": "object",
"properties": {
"reason": {
"type": "string",
"description": "Why assisted mode is needed. Example: Owner asked for live TRS fill help"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Session id for later portal tools"
},
"liveViewUrl": {
"type": "string",
"description": "URL the Owner opens to see and control the remote browser"
},
"mode": {
"type": "string",
"description": "mock or browserbase"
},
"portalAuthenticated": {
"type": "boolean",
"description": "False on a fresh session until Owner signs in via live view"
}
},
"required": [
"id",
"liveViewUrl",
"mode",
"portalAuthenticated"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}βͺopen_portal(sessionId, portalId)
Navigate the assisted session to an allowlisted portal: trs, trs_manage, companies_house_webfiling, or companies_house_psc.
Input Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Ephemeral co-pilot session id returned by start_browser_session. Example: 8f3c2a1b-4d5e-6789-abcd-ef0123456789"
},
"portalId": {
"type": "string",
"enum": [
"trs",
"trs_manage",
"companies_house_webfiling",
"companies_house_psc"
],
"description": "Allowlisted official portal. Example: trs for HMRC Trust Registration Service"
}
},
"required": [
"sessionId",
"portalId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’explain_current_screen(sessionId)
Summarise the current portal page: URL, text excerpt, fillable fields, Protocol hint, signedInLikely.
Input Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Ephemeral co-pilot session id returned by start_browser_session. Example: 8f3c2a1b-4d5e-6789-abcd-ef0123456789"
}
},
"required": [
"sessionId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’list_fillable_fields(sessionId)
Inventory visible non-secret form controls (label/name/type) on the current portal page. Use to align prepare_portal_fill keys.
Input Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Ephemeral co-pilot session id returned by start_browser_session. Example: 8f3c2a1b-4d5e-6789-abcd-ef0123456789"
}
},
"required": [
"sessionId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}βͺfill_fields(sessionId, fields)
Fill non-secret form fields (label/placeholder/name). Never passwords, OTPs, or Companies House auth codes.
Input Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Ephemeral co-pilot session id returned by start_browser_session. Example: 8f3c2a1b-4d5e-6789-abcd-ef0123456789"
},
"fields": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Map of visible field label, placeholder, or name to a non-secret value. Example: {\"Trust name\":\"Example Family Settlement 2026\"}"
}
},
"required": [
"sessionId",
"fields"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}βͺrequest_user_action(sessionId, action)
Pause for Owner login, CAPTCHA, 2FA, or review in the Browserbase live view. Never ask the Owner to paste passwords into chat.
Input Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Ephemeral co-pilot session id returned by start_browser_session. Example: 8f3c2a1b-4d5e-6789-abcd-ef0123456789"
},
"action": {
"type": "string",
"enum": [
"login",
"captcha",
"2fa",
"review"
],
"description": "Why the Owner must use the live view. Example: login"
}
},
"required": [
"sessionId",
"action"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}βͺwait_for_user_ready(sessionId, timeoutMs, pollMs)
After request_user_action(login|2fa), poll until the page leaves the sign-in surface (or timeout). Then continue fill.
Input Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Ephemeral co-pilot session id returned by start_browser_session. Example: 8f3c2a1b-4d5e-6789-abcd-ef0123456789"
},
"timeoutMs": {
"type": "integer",
"minimum": 5000,
"maximum": 180000,
"description": "How long to wait for sign-in in milliseconds. Default 90000. Example: 90000"
},
"pollMs": {
"type": "integer",
"minimum": 1000,
"maximum": 10000,
"description": "Polling interval in milliseconds. Default 3000. Example: 3000"
}
},
"required": [
"sessionId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π‘prepare_submit_confirmation(sessionId)
Create a one-time confirmation token required before confirm_and_submit. Show the token to the human Owner; do not submit without it.
Input Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Ephemeral co-pilot session id returned by start_browser_session. Example: 8f3c2a1b-4d5e-6789-abcd-ef0123456789"
}
},
"required": [
"sessionId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π΄confirm_and_submit(sessionId, confirmationToken)
Submit the current portal form only after the human provides a valid one-time confirmationToken from prepare_submit_confirmation. This can file on a government portal.
Input Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Ephemeral co-pilot session id returned by start_browser_session. Example: 8f3c2a1b-4d5e-6789-abcd-ef0123456789"
},
"confirmationToken": {
"type": "string",
"description": "One-time token the Owner typed from prepare_submit_confirmation. Example: 7K2Q9M"
}
},
"required": [
"sessionId",
"confirmationToken"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π΄end_browser_session(sessionId)
Tear down the assisted browser session. No credentials are persisted. Safe to call more than once for the same id after expiry.
Input Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Ephemeral co-pilot session id returned by start_browser_session. Example: 8f3c2a1b-4d5e-6789-abcd-ef0123456789"
}
},
"required": [
"sessionId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Educational / non-advice boundary when the tool includes one"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_legal_boundary(audience)
Return the mandatory educational / non-advice boundary statement. Call when the Owner asks if this is legal advice.
Input Schema
{
"type": "object",
"properties": {
"audience": {
"type": "string",
"description": "Who will read the boundary line. Example: owner"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"boundary": {
"type": "string",
"description": "Mandatory educational / non-advice boundary statement"
}
},
"required": [
"boundary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence