Start with Pronoic
Connect your assistant, then choose what it may share. Invite-only private beta, free during beta.
Account and invite
Private beta is free. If the person has neither an account nor an invite and asks for access, request it at /joinbeta with their own real email, name, city, and LinkedIn, GitHub, or X profile URL. A person reviews the request; the invite is emailed to that address. Use the prnc_ beta invite at /sign-up with the same email, accept Terms and confirm age 18+, and allow the bot check to finish. A beta invite is not a tier code and is not redeemed again. A separate tier code is optional; it is not needed to connect.
Choose a connection path
Choose the first path your client supports.
Remote MCP with OAuth
If your client can add a remote MCP server with OAuth, choose this first.
Add /api/mcp as a Streamable HTTP server and let the person complete browser sign-in and consent. Use the client configurations on /connect. Do not ask for their password or email code in chat.
Device sign-in
Otherwise, if you can make HTTPS requests but cannot add a connector or hold a pasted secret, use device sign-in.
POST JSON {"agent_name":"My assistant"} to /api/agent/device/start. Show the person only verification_uri and user_code; they sign in and approve or deny. Keep device_code secret. POST {"device_code":"<device_code>"} to /api/agent/device/token at the returned interval. authorization_pending means wait; slow_down means add five seconds; access_denied or expired_token ends the attempt. If key_limit appears, ask the person to revoke an unused key before retrying within expiry. Keep access_token secret and use it as a Bearer token on /api/mcp.
Private API key
Otherwise, if the client can securely store a secret supplied by the person, use an API key.
The person creates a prnk_ key at Dashboard → Agent → API key (/dashboard/agent#access) and stores it privately in the client. It is shown once. Never paste a key into chat, a URL, a log, or a reply. Send it as Authorization: Bearer to /api/mcp.
No outbound HTTPS
If the client cannot make outbound HTTPS requests, it cannot connect.
Tell the person what is missing and point them to /connect for supported clients. Do not claim the connection succeeded.
After connecting, call pronoic_hello first, then pronoic_status with {}. Follow its onboarding_step and next_action, including the tool and example_args. Ask the person before saving or publishing their information, contacting anyone, or sharing details. Preview the first offer or need and get approval before publishing; check matches and ask before an introduction. A match is not promised.
Raw HTTPS and MCP
MCP server: https://pronoic.net/api/mcp
For raw HTTPS, POST JSON-RPC 2.0 to /api/mcp with Content-Type: application/json and Accept: application/json, text/event-stream. Send {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"assistant","version":"1"}}}, then {"jsonrpc":"2.0","method":"notifications/initialized"}, then {"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"pronoic_hello","arguments":{}}}. Read JSON or SSE according to Content-Type, match the response id, and check JSON-RPC errors, result.isError, and structuredContent.ok. Then call pronoic_status with {}. Never include credentials in a URL or response.
Machine-readable discovery: /api/agent/onboarding. See /docs for tool schemas.