Skip to main content

First

com.thisfirst/firstVersion 1.0.0

Get a prenup with First: ask prenup questions, set up your account, and add assets.

Status

Responds329 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:19 UTC
Latency
329 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://mcp.thisfirst.com/mcpResponds329 ms
No sign-in

Claude Code

claude mcp add --transport http first https://mcp.thisfirst.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: first
Remote MCP server URL: https://mcp.thisfirst.com/mcp

Cursor

{
  "mcpServers": {
    "first": {
      "url": "https://mcp.thisfirst.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"first","type":"http","url":"https://mcp.thisfirst.com/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

35 tools

Tools of First
Read-only
Idempotent
Open world
add_assetAdds an asset or a debt to the customer's My Assets page. Call describe_asset_form for the fields and the module_state first. Confirm the values with the customer before you call this tool. When module_state is edit_restarts_alignment, also tell the customer that the change restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. For a bank account, a credit card, an investment, or a debt, when describe_asset_form gives plaid_connection_url (for example /prenup/my-assets/bank), offer two choices: the customer connects the account through Plaid in the app, or gives the account here for this tool. A Plaid connection in the app also restarts the alignment when module_state is edit_restarts_alignment, so get the same yes first. Never ask for the sign-in details of an account. Send the module_state that you read as expected_module_state, also when it is open.YesNoNoNo
add_family_memberAdds a dependent or a pet to the customer's My Family page. Call describe_family_form for the fields and the module_state first. Confirm the values with the customer before you call this tool. When module_state is edit_restarts_alignment, also tell the customer that the change restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. Send the module_state that you read as expected_module_state, also when it is open.YesNoNoNo
answer_quiz_questionSaves the answer of the customer to the current question of a quiz module, and returns the next question. Confirm the answer with the customer before you call this tool. Give the answer in the format that answer_format of the question names. A changed answer can remove the answers of questions that it hides, and it can restart the alignment of the couple. For the last screen of the quiz, give only the question_id: this finishes the module. The eligibility quiz finishes after its last question, and the result gives the next step and app_url. A result with status ineligible gives the reason and app_url: give both to the customer.YesNoNoNo
ask_claraAsks Clara, the First assistant, a question for the customer. Use it for a general question about prenups (prenuptial agreements), for example "Do I need a prenup?" or "What can a prenup cover?", and for a question about First. Clara knows the First app and the general legal points of a prenup. When the customer is signed in, Clara also knows the customer's account. Send only the customer's question. Send the thread_id of an earlier answer to continue that conversation. Before sign-in, the result has notice, terms_url, and privacy_url: show the notice to the customer with the first answer, with both links.NoYesNoNo
complete_alignmentCompletes alignment, as the Complete Alignment button of the app does. Call it only when get_alignment gives ready_to_complete true, and the customer says to complete alignment. When get_alignment gives complete_statement, show this exact statement first, and get an explicit yes: "Once you complete alignment, any further changes to your prenup will need to be done by a lawyer. Are you sure you want to continue?" Then call with confirm true. When both partners completed alignment, the app makes the draft prenup. The completion emails the customer and the partner. Give the customer next_step or waiting_for_partner. When the result gives upgrade, offer the upgrade to Lawyer Review with its text and url.YesNoYesNo
complete_alignment_stepCompletes one step of alignment, as the Complete Review button of its page does. Each step has the condition of its page: financial-views needs each question aligned. For partners-premarital-property, first show the customer each premarital asset of the partner (get_alignment with this step), and get a yes that the customer reviewed them. partners-postmarital-property needs a review of each item of the partner. postmarital-property needs no disagreement of the partner: the customer picks such an item again with set_allocation, and the partner reviews it again. The completion can open the next step and email the customer and the partner. Give the customer next_step, or waiting_for_partner.YesNoYesNo
complete_my_assetsCompletes the My Assets module, as the Complete button of the app does. Call it only when the customer says that the assets and the debts are complete. First call list_assets, and show the customer the full list of assets and debts. Then show this exact statement, and get an explicit yes: "I understand that full financial disclosure is key to the enforceability of my prenup and that it is my responsibility to share a complete version of my assets and liabilities." Then call with confirm true. The completion can open the next module and email the customer and the partner. Give the customer next_step.YesNoYesNo
complete_my_familyCompletes the My Family module, as the Complete button of the app does. Call it only when the customer says that the list of family members is complete. First call list_family_members, and show the customer the full list of family members. Then show this exact statement, and get an explicit yes: "I have shared a complete version of my family members." Then call with confirm true. The completion can open the next module. Give the customer next_step.YesNoYesNo
delete_assetDeletes one of the customer's own assets or debts. Take the id and the module_state from list_assets. Confirm the delete with the customer before you call this tool: the asset cannot be restored. When module_state is edit_restarts_alignment, also tell the customer that the delete restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. Send the module_state that you read as expected_module_state, also when it is open.YesNoNoNo
delete_family_memberDeletes one of the customer's own dependents or pets. Take the id and the module_state from list_family_members. Confirm the delete with the customer before you call this tool: the family member cannot be restored. When module_state is edit_restarts_alignment, also tell the customer that the delete restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. Send the module_state that you read as expected_module_state, also when it is open.YesNoNoNo
describe_asset_formReturns the form of one kind of asset or debt on the My Assets page: the field keys, the labels, the options, the required fields, and the module_state. Call it before add_asset or update_asset. When module_state is closed, do not collect values: give the customer next_step_url. Otherwise ask the customer for each required value. For a bank account, a credit card, an investment, or a debt, when the result gives plaid_connection_url (for example /prenup/my-assets/bank), offer two choices: the customer connects the account through Plaid in the app, or gives the account here for add_asset. A Plaid connection in the app also restarts the alignment when module_state is edit_restarts_alignment, so get the same yes first. Never ask for the sign-in details of an account.NoYesYesNo
describe_family_formReturns the form of a dependent or a pet on the My Family page: the field keys, the labels, the options, the required fields, and the module_state. Call it before add_family_member or update_family_member. When module_state is closed, do not collect values: give the customer next_step_url. Otherwise ask the customer for each required value.NoYesYesNo
finish_welcome_stepsFinishes the welcome steps of a paid product, as the dashboard of the First app does. It saves the acceptance of the statements of welcome.confirm from get_started, and the optional phone. Call it only at the onboarding stage. First show each statement, and get an explicit yes to each one from the customer. Then invite the partner with invite_partner when the next step of get_started asks for it. Returns the next setup step, as get_started does.NoNoNoNo
get_agreement_statusReturns where the customer is in their First agreement: the status, the waiting period when there is one, the current step in the app, and a link to the app. Before the account setup is done, it returns the setup stage and the next step, as get_started does. Do not use it for questions about how First or the law works.NoYesYesNo
get_alignmentReturns the alignment steps of the prenup with the status of the customer and of the partner, the current step, and the data of a step as its app page shows it. The steps go in this order: financial-views (the customer agrees with the partner on each financial view), partners-premarital-property (the customer reads the premarital property of the partner), partners-postmarital-property (the customer agrees or disagrees with each postmarital allocation of the partner), and postmarital-property (the customer sees the review of the partner, and picks again where the partner disagrees). Give step to read a different step, or premarital-property or shared-property for the own premarital assets and the shared assets. Each asset and item gives its allocation in separate_property, as the page shows it. When ready_to_complete is true, the customer can complete alignment with complete_alignment. changed_after_completion names the sections that a partner changed after their completion. Tell the customer about them before a write of financial-views: the write clears the list, as the page does when it opens. Show the data to the customer before each write of the step. A question with in_app true changes only in the app: give the customer its app_url.NoYesYesNo
get_my_detailsReturns the customer's First account details: the legal name, the email, the phone, the partner or the partner invite, and the purchases. Use it when the customer asks about these details. Do not use the email of the AI app account. To change the name, call update_profile. To change the phone, call update_phone. To change a pending partner invite, call update_partner_invite. To change the email, call request_email_change.NoYesYesNo
get_quiz_questionReturns the current question of a quiz module of the customer: the text, the options with their ids, the format of the answer, the saved answer, and the progress. Ask the customer the question, then call answer_quiz_question. The result can include notes: the text of the information screens before the question. Give the notes to the customer. This tool saves no answer, but it moves the quiz past the information screens. A result with status allocation gives items that the customer picks one by one with set_allocation. A result with status in_app is a question that the customer answers in the app, at app_url. A result with status complete means that the module is finished. For the eligibility quiz, give the customer next_step and app_url of a result with status complete or ineligible.NoYesYesNo
get_startedReturns the customer's first name, the setup stage of their First account, and the one next step. It also says what the assistant can do now. After the setup, it gives the status of the agreement. At the onboarding stage, it gives the welcome steps to do in the chat. Call it at the first message of a conversation, also when that message is only a greeting. Greet the customer by first name. Before the setup is done, it gives choices. When the message of the customer is only a greeting, offer the choices of get_started one time in the conversation and wait for the answer, or give the next step when there are no choices. When the message is not only a greeting, answer it, and give the next step when the customer asks what to do. A customer with no agreement gets the products to choose from: ask the customer to start one, or to only ask Clara questions.NoYesYesNo
invite_partnerSends an invite email from First to the customer's partner, so the partner can join the agreement. Confirm the partner's name and email with the customer before you call this tool. When an invite is already pending, call resend_partner_invite to send it again, or update_partner_invite to change the email.YesNoNoYes
list_assetsReturns the assets and debts on the customer's My Assets page, with their ids: the customer's own assets and the assets that the partner shares. Use it for the exact list or an id. Call ask_clara for questions about what the assets mean for the prenup. module_state tells if a write saves, restarts the alignment, or gets a refusal. When it is closed, give the customer next_step_url.NoYesYesNo
list_documentsLists the customer's own documents, for example the prenup summary and the waivers: the kind, the title, whether the customer agreed, the date of the signature, and a link to the app. Some documents are only in the app. Call read_document with the kind for the text. The customer agrees to and signs a document only in the app.NoYesYesNo
list_family_membersReturns the dependents and pets on the customer's My Family page, with their ids: the customer's own family members and the members that the partner shares. Use it for the exact list or an id. Call ask_clara for questions about what the family members mean for the prenup. module_state tells if a write saves, restarts the alignment, or gets a refusal. When it is closed, give the customer next_step_url.NoYesYesNo
previous_quiz_questionMoves a quiz module back one question, as the Back button of the app does, and returns that question. It saves no answer, and it changes only the position in the quiz. Use it when the customer wants to change an earlier answer.NoYesNoNo
read_agreementReturns the text of the customer's agreement, as the agreement page of the app shows it. Send search to get only the parts around a word or phrase, for example "house". Leave search out to read the whole agreement, for example for a question about the agreement as a whole. A long agreement comes in pages: call again with the next page until page equals pages.NoYesYesNo
read_documentReturns the text of one of the customer's own documents, for example the prenup summary. Call list_documents for the kinds that the customer has.NoYesYesNo
request_email_changeAsks to change the email that the customer uses to sign in to First. Confirm the new email with the customer before you call this tool. The tool does not change the email: the customer approves the change from the current email, and then confirms the new email from a sign-in link.YesNoNoYes
resend_partner_inviteSends the pending partner invite again, to the same email. Confirm with the customer before you call this tool. To invite a different email, call update_partner_invite. A partner who declined gets no new invite.YesNoNoYes
review_financial_viewDoes one action of the financial-views step of alignment on one question, as the financial views page of the app does. Call get_alignment first: each question gives its actions. acknowledge: the customer read the different answer of the partner and accepts it. Show the answer of the partner first. answer: the customer changes the own answer, in the format of answer_format. Confirm the answer with the customer first. A changed answer asks the partner to review the financial views again. When each question is aligned, complete the step with complete_alignment_step.YesNoNoNo
review_partner_propertySaves the review of the customer of the postmarital allocations of the partner, in the partners-postmarital-property step of alignment. Call get_alignment with this step first, and show the customer each item of the partner with its allocation. agree true accepts the allocation of the partner. agree false disagrees: the partner then picks again. Give an item for each item that has no review (customer_agrees null), in one call. Give the separate_property of each item as get_alignment gave it. When an item changed after the read, the tool saves nothing: read the step again, and show the new allocation to the customer. An item that you do not give keeps its review. Then complete the step with complete_alignment_step.YesNoYesNo
set_allocationSaves one allocation pick of the customer: keep an item as separate property after the wedding, or share it (allocation_labels of get_alignment give the words of the app). kind asset is an own premarital asset that is not shared (get_alignment step premarital-property). kind marital_property is a category of postmarital property (get_alignment step postmarital-property). After the financial philosophy quiz closed, a pick of kind marital_property needs the step postmarital-property. An allocation question of the financial philosophy quiz gives the items of both kinds. A pick of a postmarital category asks the partner to review it again. Read module_state before the pick. When it is edit_restarts_alignment, tell the customer that the pick restarts the alignment of the couple and can email the partner, and get a yes. Send the module_state that you read as expected_module_state, also when it is open. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation.YesNoNoNo
update_assetChanges the fields of one of the customer's own assets or debts. Take the id and the module_state from list_assets. Give only the fields that change. Confirm the change with the customer before you call this tool. When module_state is edit_restarts_alignment, also tell the customer that the change restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. Send the module_state that you read as expected_module_state, also when it is open.YesNoNoNo
update_family_memberChanges the fields of one of the customer's own dependents or pets. Take the id and the module_state from list_family_members. Give only the fields that change. Confirm the change with the customer before you call this tool. When module_state is edit_restarts_alignment, also tell the customer that the change restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. Send the module_state that you read as expected_module_state, also when it is open.YesNoNoNo
update_partner_inviteChanges the email or the name of a partner who did not join yet. A new email gets a new invite email from First. Send only the values that change. Confirm them with the customer before you call this tool. When the partner already has a First account, send a new email with both names. After the partner joins, only the partner changes these details.YesNoNoYes
update_phoneSaves the customer's US phone number, which First uses for texts about the service. An empty phone removes it. Confirm the number with the customer before you call this tool, and tell the customer: "By providing your phone number you consent to receiving transactional texts." At the welcome steps, send the phone with finish_welcome_steps instead.YesNoYesNo
update_profileSaves the customer's full legal name, as on their birth certificate, driver's license, or passport. The name goes into the agreement. Confirm the exact spelling with the customer before you call this tool. Returns the next setup step, as get_started does.YesNoYesNo

Details

Registry status
Active
Published
Nov 9, 2026
Updated
Nov 9, 2026
Repository
Not given
Categories (suggested)
CommunicationDocumentsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing