Tools Reference
This page is generated from the tool registry the assistant runs on and from the desktop client’s own tool list, so it cannot disagree with what an assistant is offered. You do not call these yourself — the assistant does, from what you ask it in plain language. The list is here so you know what you have handed it.
37 tools, 148 actions. 27 tools are the same on every surface — the phone, the portals and the desktop; 10 exist only on the desktop MCP server, because they need this computer.
Codes can be generated in English, German, Spanish, French, Italian or Dutch.
Most tools that produce words take a language parameter; the ones that only
check words you were given do not need one, because the check covers every
language.
How to read this page
Section titled “How to read this page”Most tools take an action naming the operation, so one tool covers a whole
area rather than a dozen near-identical entries. Each action carries three
marks. Where it runs: on the server, or on your own device because it needs
a secret only your device holds, or answered by the assistant itself. Changes
something: the action writes; a read never does. Asks first: the assistant
states what will happen and waits for your go-ahead before running it. An action
marked desktop only exists on the desktop MCP server and nowhere else.
Identity Codes
Section titled “Identity Codes”code_for
Section titled “code_for”Shows the current code for a name — a connection or a guest code, whichever matches. Several matches are listed to pick from. runs on your device
Parameters: kind, language, name
all_codes
Section titled “all_codes”Every connection with its current code. runs on your device
verify
Section titled “verify”Three words in, match or no match out, checked against your connections on this device, and against each member’s own code where every member has one. It accepts the current code and the previous codes the operator still accepts (one by default) and says which matched, with the time an earlier code stopped being current; your own code never matches. Because it only knows the connections whose secrets this device holds, it can honestly answer that it cannot tell. runs on your device
Parameters: word1, word2, word3, words
rotation
Section titled “rotation”When the codes change next. desktop only
This Desktop
Section titled “This Desktop”These tools are about the desktop client itself — its sign-in, its cache and the accounts it holds. They exist only on the desktop MCP server.
status
Section titled “status”Signed-in state, sync state, how many connections are cached. desktop only
Pulls connection data from the server. desktop only
Signs in, opening a browser.
login— Sign in; does nothing when already signed in. desktop onlyswitch— Signs out first and lets you sign in as somebody else. desktop only
recover
Section titled “recover”Sets up a new device from the three recovery words in the mobile app. The words belong in the Trusted Codes window and never in the chat, so Claude does not ask for them. It is used only when someone has already typed the words into the chat. desktop only
Parameters: word1, word2, word3
accounts
Section titled “accounts”The accounts signed in on this desktop, and which one is active; and switching to another — the assistant only asks, and nothing changes until you press Switch in the Trusted Codes window.
Parameters: account
list— Lists them and says which one is active. desktop onlyswitch— Asks in the Trusted Codes window to act as another account on this desktop. desktop only
What your plan allows: which features are on, and what is spent against every
limit. Answered from the local database, so it works with no network; refresh
asks the server instead. desktop only
Parameters: refresh
Actions
Section titled “Actions”Puts your identity on a piece of text and returns a verification link. The tool
shipped as stamp and still answers to that name, so an assistant configured
before the rename keeps working; every screen, and this page, calls it a seal. A
file_path may be given: the file is hashed locally, never uploaded, and the
hash is bound to the verification code, so a recipient can drop the file on the
verification page and see that it matches. require_approval sends the request
to your phone for biometric approval first, when the plan includes signing
approval. The text, the label and the file name are encrypted on your device,
and our server cannot read them. Only someone with the full link can read them.
Nothing is emailed: you send the link yourself.
Parameters: content, description, file_location, file_path, label,
language, link, max_checks, query, references, require_approval,
seal_id, seal_words, stamp_id, valid_days
sign— Creates a new seal and returns the verification link. The default when no action is given. desktop onlyexport_proof— Exports the proof document for a seal you made earlier, by its id. desktop onlycheck— Checks whether a file is exactly the one a seal covers, with the seal’s three words and the place the file is saved. Says who sealed it and when; asks for the words or the file’s place when they are missing. desktop onlycheck_link— Checks a seal link that someone pasted. Says who sealed it, when, and whether the seal is still valid. It never shows the sealed text, and it does not use or repeat the part of the link after the # sign, which is the key to the text. desktop onlylist— Your own seals, named on this computer with your account key — never their text or link. desktop onlywithdraw— Withdraws one of your seals, by name; asks first, and asks which one when several match. desktop only
The assistant’s seal, on the phone and the desktop: “Seal the following text and send it to Lisa: …”. The text after the boundary is held on your device and sealed exactly as written — it never goes to the model. The recipient may be an address or the name of a connection; the server finds the address and asks only when it cannot. The text is encrypted on your device and nothing is emailed: the device gives you the link to send yourself.
Parameters: disclose_identity, disclosure, language, max_checks,
recipient, text, valid_days
create— Seals the text and returns the verification link. runs on your device · changes something · asks firstcreate_and_send— Seals the text and gives you the link to send to the recipient yourself. Nothing is emailed. runs on your device · changes something · asks first
one_time
Section titled “one_time”One-time codes on the phone and the desktop: three words that work once and last one hour. Making one asks first; counting them does not.
create— Makes a one-time code on this device and returns its three words. runs on your device · changes something · asks firststatus— Counts the one-time codes this device can show: active, used and expired. runs on your device
connect
Section titled “connect”Joins somebody’s shared link, given its path. desktop only
Parameters: slug
mint_provider_stamp
Section titled “mint_provider_stamp”For providers: mints a one-time, three-word verification code signed by this device’s key, to place inline in an invoice or a quote. The customer reads the words at the verify site and sees whether the document really came from you. Local only, and only after the device has been provisioned as a provider. desktop only
Parameters: language
Connections and Invitations
Section titled “Connections and Invitations”invitations
Section titled “invitations”The default way to add people. Creates a connection and invites one address or many in a single step; also lists, approves, declines and withdraws.
Parameters: as_question, codeword_mode, description, duration_hours,
email, enabled, favorite, from, invitation_id, invitees, language,
message, name, preset, rotation_period_seconds, tags, trusted_only
approve— Accepts an invitation somebody sent you. runs on your device · changes something · asks firstauto_accept_status— Says whether invitations are accepted automatically, and from whom. runs on the serverdecline— Declines an invitation somebody sent you. runs on the server · changes something · asks firstlist— Lists the invitations you sent and received. runs on the serversafety— What the app’s Safety Check shows about the person who sent you an invitation: account age, accepted invitations, the sender’s trust score when the account has one, and how many warning signs the check found. The details stay in the app. Accepting states it first. runs on the serversend— Creates a connection and invites one address or many, with an optional description, tags, personal message, and aduration_hoursafter which the connection expires by itself. runs on your device · changes something · asks firstset_auto_accept— Turns automatic acceptance of invitations on or off, and sets from whom: people you already share a connection with, members of your own organization, or anyone. runs on the server · changes something · asks firstwithdraw— Takes back an invitation you sent before it was answered. runs on the server · changes something · asks firstlist_pending— Lists only the invitations still waiting for an answer. desktop only
connections
Section titled “connections”Everything about connections that already exist. To see connections with their
codes, use all_codes; to create one, use invitations.
Parameters: codeword_mode, connection_id, connection_name,
description, email, ends_at, language, member_id, message, name,
new_owner_id, path, person_name, rotation_period_seconds
bump_trust— Gives a member a trust point, once a day per person. runs on the server · changes something · asks firstchange_end— Moves the end of a connection with a set duration, earlier or later. The owner only. The end is rounded up to a duration the plan allows, and the members are told. runs on the server · changes something · asks firstdelete— Deletes a connection. Permanent; only the owner can. runs on the server · changes something · asks firstfind_person— Says whether you have a connection with a person, found by their e-mail address in every context, and whether they own it, are a member or are invited. With a connection name, says whether they are in that connection. runs on the serverget_members— Lists the members of one connection. runs on the serverleave— Takes you out of a connection you are a member of. The owner cannot leave; the answer names the two ways out. runs on the server · changes something · asks firstlist_with_tags— Lists your connections with their tags. runs on the serverremove_member— Removes a member from a connection. runs on the server · changes something · asks firstrename— Renames a connection: the owner for everyone, a member only for themselves. runs on the server · changes something · asks firstreset_my_name— Shows a connection under its own name again, after a member renamed it for themselves. runs on the server · changes something · asks firstrotate_now— Gives a connection new words at once, for example when they reached the wrong person. Any member. The connection keeps its secret; each device shows the new words when it syncs. It does not lock out a former member, who still holds the secret. runs on the server · changes something · asks firsttransfer_ownership— Makes another member the owner of a connection. runs on the server · changes something · asks firstupdate_settings— Changes a connection’s name, description, code language or rotation period. runs on the server · changes something · asks firstupdate_codeword_mode— Changes how identity codes work for a connection: your normal rotating code, a code unique to this person, or a fixed code that never changes. desktop onlytoggle_favorite— Marks a connection as a favourite, or unmarks it. desktop onlyadd_member— Adds a person to a connection by email, with an optional message. desktop onlyupdate_avatar— Sets a connection’s picture from a local image file. desktop onlydelete_avatar— Removes a connection’s picture. desktop only
open_links
Section titled “open_links”Shareable links, for a website or an event, that let people connect without an individual invitation. Both sides still need Trusted Codes accounts.
Parameters: approval_mode, link_id, new_slug, request_id, slug,
template
approve_request— Approves one waiting request, which creates the connection. runs on the server · changes something · asks firstchange_slug— Renames a link’s slug. runs on the server · changes something · asks firstcreate— Creates a link, with a slug of your choosing and automatic or manual approval of the requests that arrive. runs on the server · changes somethingdecline_request— Declines one waiting request. runs on the server · changes something · asks firstdelete— Deletes a link. runs on the server · changes something · asks firstlist— Lists your links. runs on the serverlist_requests— Lists the requests waiting on a link set to manual approval. runs on the serverpause— Pauses a link, so it stops accepting requests. runs on the server · changes something · asks firstqr— Gives the QR code of a link as a picture link, for a badge, a slide or a poster. runs on the serverresume— Resumes a paused link. runs on the server · changes something · asks firstset_template— Chooses the template that connections made through your link start from. runs on the server · changes something · asks firstsuggest_slugs— Suggests free slugs for a new link. runs on the server
guest_codes
Section titled “guest_codes”Verification for people who do not have Trusted Codes. You create a code, they use it to confirm who you are.
Parameters: destination, expires_hours, guest_code_id, language,
method, multi_use, name, preset_id, query
create— Creates a guest code for a named person, valid for a number of hours. runs on your device · changes something · asks firstcreate_and_send— Creates a guest code for a named person and sends it by email in one step. The recipient may be an address or the name of one of your connections. runs on your device · changes something · asks firstlist— Lists your guest codes with their status. runs on the servermark_verified— Records that you checked a guest yourself, as the app’s manual confirm does. runs on the server · changes something · asks firstrevoke— Revokes a guest code. runs on the server · changes something · asks firstsearch— Finds guest codes by name. runs on the serversend— Sends a guest code to somebody by email or SMS. runs on your device · changes something · asks firstqr— Produces a QR code for a guest code. desktop only
guest_code_presets
Section titled “guest_code_presets”Templates for guest codes: the usual name, language, how long a code is valid and how often it may be checked.
Parameters: default_label, default_purpose, expiry_hours, language,
max_scans, name, preset_id, preset_name
create— Creates one; asks for its name and for a validity your plan allows. runs on the server · changes something · asks firstdelete— Deletes one; codes already made from it stay. runs on the server · changes something · asks firstlist— Lists your guest code templates. runs on the serverupdate— Changes one, named the way you name it. runs on the server · changes something · asks first
external_members
Section titled “external_members”Records a contact who is not on Trusted Codes, so you can keep and revoke the entry. It issues no code and no page. If somebody needs to verify you, this is the wrong tool; guest codes are the right one.
Parameters: connection_name, email, language, member_id, name
list— Lists the contacts recorded this way. runs on the serverrevoke— Removes a recorded contact. runs on the server · changes something · asks firstadd— Records a contact by name and email. desktop only
lookup_user
Section titled “lookup_user”Checks whether an email address belongs to a Trusted Codes user, so an assistant setting up a meeting knows who to invite and who needs a guest code. runs on the server
Parameters: email
Labels for connections.
Parameters: color, connection_id, name, tag_id
assign— Puts a tag on a connection. runs on the server · changes something · asks firstcreate— Creates a tag. runs on the server · changes somethingdelete— Deletes a tag. runs on the server · changes something · asks firstlist— Lists your tags. runs on the serverrename— Renames a tag. runs on the server · changes something · asks firstunassign— Takes a tag off a connection. runs on the server · changes something · asks first
presets
Section titled “presets”Saved templates for connections: default name, description, language, code mode, auto-expiry, tags. Useful when the same kind of connection keeps recurring. Built-in templates can be listed and used as a default, but not changed or deleted.
Parameters: allow_instant_add, codeword_mode, connection_id,
default_connection_name, default_description, default_tags,
duration_hours, language, mark_favorite, name, preset_id,
rotation_period_seconds
create— Creates a template. runs on the server · changes somethingcreate_from_connection— Saves an existing connection’s settings as a new template; asks for the template’s name. runs on the server · changes something · asks firstdelete— Deletes a template. runs on the server · changes something · asks firstlist— Lists your templates and the built-in ones. runs on the serverset_default— Makes one template the default every new connection starts from. runs on the server · changes something · asks firstupdate— Changes a template. runs on the server · changes something · asks first
meeting
Section titled “meeting”The meeting check: who of the people in one or more connections is present, and how each was checked — by their three words, by sight, or by checking in themselves.
Parameters: checked_by_words, connection_ids, connection_name,
member_id, member_name, session_id
checkin— Your own “I’m here” in someone else’s meeting. runs on the server · changes something · asks firstend— Closes the check and names who was not checked in. runs on the server · changes something · asks firstmark— Records that you checked a person, by name; after their three words matched, it says so. runs on the server · changes something · asks firststart— Opens the check over the connections named; asks which when none is named. runs on the server · changes something · asks firststatus— Who is checked in and who is not yet. runs on the server
Account
Section titled “Account”profile
Section titled “profile”Your display name and preferred language, and your plan.
Parameters: code_rotation_seconds, file_location, language, name,
organization, organization_id, work_name
get— Reads your display name, email, plan and preferred language. runs on the serverremove_photo— Removes your profile photo. runs on the server · changes something · asks firstreset_work_profile— Removes the name and photo you set for one organisation. runs on the server · changes something · asks firstset_code_rotation— Changes how often your own code changes; offers the periods your plan allows. runs on the server · changes something · asks firstset_work_name— Sets the name the people of one organisation see for you. runs on the server · changes something · asks firstupdate— Changes your display name, your preferred language, or both. runs on the server · changes something · asks firstset_photo— Sets your profile photo — or, with an organisation, the photo its people see — from a picture saved on this computer. desktop only
ai_keys
Section titled “ai_keys”Your own AI provider keys: which you have, which one answers, and removing one. A new key is added in the app or on the account page, never in a chat.
Parameters: key_id, key_name
delete— Deletes one key. runs on the server · changes something · asks firstlist— Lists your keys by provider and label, never the key itself. runs on the serveruse— Makes one key the one that answers. runs on the server · changes something · asks first
code_pages
Section titled “code_pages”Pages and apps that can make one-time codes in your name: which there are, whether a new one waits for your Allow, and removing one. Pairing and Allow happen in the Trusted Codes app.
Parameters: device_id, device_name
list— Lists them. runs on the serverremove— Removes one; asks which when several match. runs on the server · changes something · asks first
emails
Section titled “emails”The addresses on the account. One is primary, one is what connections see.
Adding an address is two steps: send mails a code to it, verify confirms it.
You have to read the code out of your inbox in between.
Parameters: code, email, email_id
delete— Removes an address from the account. runs on the server · changes something · asks firstlist— Lists the addresses on the account. runs on the serversend— Mails a confirmation code to a new address. runs on the server · changes somethingset_display— Makes an address the one connections see. runs on the server · changes something · asks firstset_primary— Makes an address the primary one, where sign-in mail goes. runs on the server · changes something · asks firstverify— Confirms a new address with the code that was mailed to it. runs on the server · changes something
devices
Section titled “devices”What else is signed in as you: enrolled devices and open sessions, ending a session, and removing a device — the assistant only asks, and nothing changes until you press Remove in the Trusted Codes window.
Parameters: device, session_id
list— Lists the devices enrolled on the account. runs on the serverlist_sessions— Lists the sessions currently open. runs on the serverrevoke_session— Ends one session. runs on the server · changes something · asks firstremove— Asks in the Trusted Codes window to remove a device from your account. desktop only
exports
Section titled “exports”The data export. Asynchronous: request returns an id, list says whether it
is ready, download gives a signed link that expires. It does not touch the
account.
Parameters: export_id
delete_all— Removes the exports already made. runs on the server · changes something · asks firstdownload— Gives a signed, expiring link to a finished export. runs on the serverlist— Lists the exports made so far and whether each is ready. runs on the serverrequest— Asks for a new export; answers with an id, not a file. runs on the server · changes something · asks first
notifications
Section titled “notifications”The notifications themselves.
Parameters: limit, notification_ids, unread_only
delete— Deletes a notification. runs on the server · changes something · asks firstlist— Lists recent notifications. runs on the servermark_read— Marks a notification as read. runs on the server · changes something · asks first
preferences
Section titled “preferences”The settings that decide which notifications arrive by email, push or in-app.
Parameters: channel, enabled, topic
get— Lists every topic with the state of each channel. runs on the serverreset— Puts every notification setting back to its default. runs on the server · changes something · asks firstupdate— Switches one channel of one topic on or off. runs on the server · changes something · asks first
api_tokens
Section titled “api_tokens”User-scoped tokens for the Trusted Codes platform API, for a CI pipeline or an integration. These are not the local desktop client’s own tokens.
Parameters: name, scopes, token_id
generate— Creates a token with a name and a set of scopes. The secret is shown once. runs on the server · changes somethinglist— Lists your tokens. runs on the serverrevoke— Revokes a token. runs on the server · changes something · asks first
The people you follow, your own trust score, the log of verifications, and
verify_public, which asks the server rather than this device. verify and
verify_public are different questions: this device knows only your
connections, the server can answer for anybody, including beacons and provider
stamps you have no connection to. Following somebody requires a ticket, and only
verify_public issues one — so you cannot follow a person you have not just
verified.
Parameters: country_code, days, description, direction,
duration_seconds, label, limit, offset, show_email, source,
ticket, watched_user_id, word1, word2, word3
beacon_off— Switches your beacon off. Works on every plan, so a beacon can always be stopped. runs on the server · changes something · asks firstbeacon_on— Switches your own beacon on, for two minutes, ten minutes, thirty minutes or one hour (the default). Needs the phone: the beacon word is computed there from a seed only it holds. runs on your device · changes something · asks firstbeacon_show_email— Shows or hides your e-mail address to people who check your beacon. runs on the server · changes something · asks firstbeacon_status— Whether your beacon is on and how many minutes remain — never the words. runs on the serverbeacon_word— Your beacon’s current three words and how long it stays on. Needs the phone, which holds the seed. runs on your devicecard_history— The verifications you made of one person you follow. runs on the serverfollow— Follows a person, using the ticketverify_publicjust issued. runs on the server · changes something · asks firstlist_cards— Lists the people you follow. runs on the servermy_checks— The checks you made: whom, in which connection, when, and whether the words matched. runs on the servermy_metrics— Your own trust score and how many people follow you. runs on the serverrename_card— Changes the label on somebody you follow. runs on the server · changes something · asks firstunfollow— Stops following a person. runs on the server · changes something · asks firstverification_log— Who verified you, and when. runs on the serververify_public— Asks the server whether three words belong to anybody at all: a beacon, a provider stamp or a one-time code. For a one-time code it names the person who made it and their trust score, and the check uses the code up. runs on the server
Organisations
Section titled “Organisations”Which organisation you are currently acting in, what its plan allows you, and — confirmed first — a switch to another one you belong to.
Parameters: name, organization_id, personal
current— The active organisation, the organisations you belong to, and what the active one’s plan allows. runs on the serveruse— Switch the active organisation — the same as the app’s switcher. It moves this session’s context for every surface, so it is confirmed first; in the desktop window over MCP the confirmation is yours, not the model’s. runs on the server · changes something · asks first
Organisation administration is not on this surface. Members, roles, groups,
seats, billing, the public page, activity and analytics have no MCP tool and are
not planned to get one. They live in the organisation console —
business.trusted.codes, or /admin in the
account portal. An assistant asked to add a member answers that it cannot, and
says where to go.
Switching the active organisation is refused too, and deliberately. The active
organisation decides which plan the server resolves for every surface on
that session — your open desktop window, the command line and the daemon — so an
assistant changing it would move what all of them may do, with nothing on screen
to say so. Run tcc org use <organization-id> yourself.
ask_help
Section titled “ask_help”Answers a question about the app from the help pages — how something works, what a term means, why something was refused. It runs nothing and changes nothing. answered by the assistant itself
Parameters: language, question