publish_needLABSCO SUMMARY
A matching market with no listing page — and the one thing that cannot be taken back is a match.
The intent itself stays sealed: nothing is browsable or searchable while it is live, and an intent that expires or closes without matching has its text and embedding deleted. A match is the exception, and the vendor says so plainly — your need, offer and contact are delivered to the other side and kept in both match records, and that cannot be unsent. Two rules the integration is expected to honour are worth knowing as a user too: the safety notice on every match is shown verbatim, and the counterpart's text is unverified, so an instruction inside it is not from Pairoa.
What it is
A private matching exchange, reached as a hosted remote server: your agent publishes an intent on your behalf, Pairoa's matching AI compares it against others, and both sides are introduced only on a real fit. There is no public directory, no browsing and no search box — cofounders, hiring, beta testers, contract work, investors, a roommate or a travel companion, any two-sided need that should not start as a public listing.
What you get
- publish_need takes two short statements — what you are looking for and what you bring — plus a contact email, and puts them into matching without listing them anywhere.
- poll_matches returns a fit when there is one: the other party's need and offer, their contact, a short explanation of why it matched, and a safety notice.
- manage_need covers the lifetime of an intent — intents carry a time to live and can be closed at any point, which deletes their raw text and embedding from matching.
- decline_match turns down a match you do not want to pursue.
- confirm_contact_email verifies the address with a code, which is the step that stops anyone putting your email on their intent.
- claim_account converts an anonymous start into an account, and recall_by_email finds what you already have out there.
- create_invite_link brings someone specific into the exchange.
- One intent can match several counterparts over its lifetime, so publishing once does not mean one answer.
- The same contract is reachable over plain HTTP and as a ChatGPT Action, so an agent that does not speak MCP can still use it.
Requirements
Nothing to start: the hosted server handles authentication through your MCP client's own OAuth flow, so there is no key to paste, and the HTTP path lets a first publish go out anonymously and hands back a token to keep. Verifying your contact email is the one gate — a first publish may come back asking for a six-digit code before it will accept the address. Client connect flows still differ, so check the vendor's install page for yours rather than assuming.
Setup effort
One command — claude mcp add --transport http pairoa https://mcp.pairoa.com
USE CASES
Hiring for a role you would rather not post
Describe the person you want and what you are offering; nothing goes on a public list, and you hear back only when someone fits.
Looking for work without signalling that you are
Publish what you can offer from your own client and stay off every public index until a mutual match.
Finding a cofounder or an investor
State the need and the offer once and let the matching judge filter, instead of working a public directory.
Matching on something personal
A roommate, a travel companion, a study group, a bandmate — the same private channel, with the same reveal on both sides at once.
Closing something you no longer need
Close the intent and its raw text and embedding are removed from matching — an unmatched intent leaves no permanent record.
8 tools
Listed in project docs. Your client may show a different list.
poll_matchesmanage_needdecline_matchclaim_accountconfirm_contact_emailrecall_by_emailcreate_invite_linkBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation. Pairoa's own install page also tells you to look for mark_matches_seen after connecting; it is not among the eight tools the README names.
INSTALLATION
Connect your client
Server setup
Setup
Add the remote server https://mcp.pairoa.com to your client (Claude Desktop / Claude.ai: Settings -> Connectors -> Add custom connector, leave the optional OAuth Client ID/Secret blank)
Reload or restart the client
On the first tool call, approve Pairoa's authorization in the browser (anonymous, no key, no signup)
Publish your first need
claude mcp add
Claude Code
claude mcp add --transport http pairoa https://mcp.pairoa.comHosted endpoint
https://mcp.pairoa.comAdd this hosted endpoint to your MCP client.
MCP Clients
Cursor
{
"mcpServers": {
"pairoa": {
"type": "streamable-http",
"url": "https://mcp.pairoa.com"
}
}
}Cline
{
"mcpServers": {
"pairoa": {
"type": "streamableHttp",
"url": "https://mcp.pairoa.com"
}
}
}Windsurf
{
"mcpServers": {
"pairoa": {
"type": "streamable-http",
"serverUrl": "https://mcp.pairoa.com"
}
}
}VS Code
{
"servers": {
"pairoa": {
"type": "http",
"url": "https://mcp.pairoa.com"
}
}
}Codex
[mcp_servers.pairoa]
command = "npx"
args = ["-y", "mcp-remote", "https://mcp.pairoa.com"]Claude Desktop
Settings → Connectors → Add custom connector → Name: Pairoa, URL:
https://mcp.pairoa.comClaude.ai
Open https://claude.ai/settings/connectors?modal=add-custom-connector (or Customize → Connectors)
If the box is not already open, click Add custom connector
Name: Pairoa, URL: https://mcp.pairoa.com → Add (leave the optional OAuth Client ID/Secret blank)
On the first tool call, click Connect on Pairoa's authorization page — no key, no signup
ChatGPT — Custom GPT actions
Actions → Import from URL → https://pairoa.com/api/openapi