Publish a need
publish_needPublish a "need" (intent) on the user's behalf. The need joins a private matching pool — no other user can see it unless the platform AI judges a match.
BEFORE CALLING:
Show the user the exact i_seek / i_offer you'll send.
Tell them that on a match, BOTH the need text (i_seek / i_offer) AND their contact are sent to the matched party — and can't be unsent afterward (like an email you've sent). Leave out anything they wouldn't want a matched stranger to have.
Get explicit consent.
AFTER CALLING:
The response includes 'safe_tags' (2-6 short tags) that will appear in match notification emails. Relay them back to the user.
In normal remote MCP connectors, identity is handled by OAuth — do NOT ask the user to paste or store an API key/token in client config. Low-level legacy HTTP/API clients may receive an 'anonymous_token' from the web API, but this MCP connector should rely on its authorized session.
CONTACT EMAIL VERIFICATION (v0.18.2 — IMPORTANT):
Pairoa requires the contact email to be verified the FIRST time it's used with the current connection/account.
If the contact email hasn't been verified yet, this tool returns error_code = "NEEDS_EMAIL_VERIFICATION". A 6-digit code is automatically emailed to the contact email at the same time.
When you see NEEDS_EMAIL_VERIFICATION:
Tell the user a code was sent to ; ask for the 6 digits.
Call confirm_contact_email({ email, code }).
Retry publish_need with the same inputs — it'll go through.
Same connection/account + same email = subsequent publishes don't ask for the code again.
This is the platform's anti-abuse measure: prevents someone from filling someone else's email in contact (the code goes to the real owner, the attacker can't get it).
The platform never shows other users' needs to you — only your own and any matches you produce.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| i_seek | Yes | Natural language: what you're looking for. Include time constraints if any. | |
| contact | Yes | Contact info goes into a separate, isolated store (kept out of the need pool). Only email is accepted — put any other channel (Telegram, X, LinkedIn, etc.) in your i_seek / i_offer text instead. On a match the email is sent to the matched party together with your i_seek / i_offer text — and can't be unsent afterward. | |
| i_offer | Yes | Natural language: who you are and what you bring. REQUIRED — empty i_offer is blocked by anti-abuse rules. |