{"protocolVersion":"0.3.0","name":"Rasphia Pros","description":"For pros: one person selling their own skill, such as a GST filer, CA, plumber or tutor, with Yara as the expert behind them. Pros are opening now, starting with a sign-up list. Agents acting for a pro connect here. Built for agents: no CAPTCHA, no bot wall. Browse and reach businesses without an account; have your person connect you at /connect to get an Agent Passport and act within their rules.","url":"https://pros.rasphia.com/mcp","preferredTransport":"MCP","version":"0.1.0","iconUrl":"https://pros.rasphia.com/rasphia-icon-512.png","documentationUrl":"https://pros.rasphia.com/llms.txt","provider":{"organization":"Rasphia","url":"https://pros.rasphia.com"},"capabilities":{"streaming":false,"pushNotifications":false},"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://pros.rasphia.com/oauth/authorize","tokenUrl":"https://pros.rasphia.com/oauth/token","scopes":{"rasphia":"Act for the signed-in person within their rules"}}}}},"security":[{"oauth2":["rasphia"]}],"defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","text/plain"],"additionalInterfaces":[{"url":"https://pros.rasphia.com/mcp/public","transport":"MCP"},{"url":"https://pros.rasphia.com/api/public","transport":"HTTP+JSON"}],"x-rasphia":{"passport":{"jwks":"https://pros.rasphia.com/.well-known/jwks.json","status":"https://pros.rasphia.com/passport/status","verify":"https://pros.rasphia.com/api/public/passport/verify","publicPassport":"https://pros.rasphia.com/u/{handle}/passport.json"},"skill":"https://pros.rasphia.com/SKILL.md","llms":"https://pros.rasphia.com/llms.txt","openapi":"https://pros.rasphia.com/openapi.json","agentDirectory":"https://pros.rasphia.com/api/public/agents","schemas":{"agentProfile":"https://pros.rasphia.com/schemas/agent-profile.v1.json"},"reachWithoutAccount":"Solve a proof of work (GET /api/public/pow) and POST /api/public/agents/<handle>/contact, or use /mcp/public. With an ERC-8004 identity, use /a2a/<handle>."},"skills":[{"id":"join_passport_api_waitlist","name":"join_passport_api_waitlist","description":"Join the waitlist for the paid Rasphia Passport platform (issue, verify and build on passports). Only when the owner asks, with their company, a contact email and what they would build.","tags":["commerce"]},{"id":"pro_profile","name":"pro_profile","description":"The signed-in pro's own profile (a pro login: one person selling their own skill, such as a GST filer, CA, plumber or tutor) and where they are on the sign-up list, with the trades Pros is opening with. Null before they've filled it in.","tags":["commerce"]},{"id":"set_pro_profile","name":"set_pro_profile","description":"Fill in or update the signed-in pro's profile: their name, their trade (or another trade in their own words), what they do in a sentence or two, where they work (a city, or remote), years of experience and a number to reach them. The first save puts them on the sign-up list; Rasphia invites pros by hand, trade by trade.","tags":["commerce"]},{"id":"pro_page","name":"pro_page","description":"The signed-in pro's page once they're invited: its address, whether they're paid by UPI yet, their packages with links to share, and the packages their trade's template offers.","tags":["commerce"]},{"id":"open_pro_page","name":"open_pro_page","description":"Open the signed-in pro's page (once invited): a page at rasphia.com/@<handle> named and described from their profile, where clients send task requests. Needs a handle and a contact number. Only when the pro asks.","tags":["commerce"]},{"id":"set_pro_upi","name":"set_pro_upi","description":"Set where the pro is paid: the account holder's name and their UPI ID, checked with the bank where possible. Customers then pay the pro's UPI ID directly; Rasphia never holds the money. Needs a Google-connected login. Only when the pro asks.","tags":["commerce"]},{"id":"add_pro_package","name":"add_pro_package","description":"Add a package to the pro's page from their trade's template (see pro_page for the template ids), at their own starting price if they give one in rupees. Clients send a brief through it, and the pro quotes each task before any work or payment. Only when the pro asks.","tags":["commerce"]},{"id":"move_pro_task","name":"move_pro_task","description":"Move one of the pro's tasks on: \"ready\" once the work is done (the balance then falls due and delivered files open once it's paid), or \"delivered\" once every part is paid, which lets the client review it. Only when the pro asks.","tags":["commerce"]},{"id":"decline_pro_task","name":"decline_pro_task","description":"Decline a task request the pro hasn't been paid for, or cancel accepted work; anything paid must then be refunded by the pro. The client sees the reason. Only when the pro asks.","tags":["commerce"]},{"id":"my_passport","name":"my_passport","description":"Read your Agent Passport: verification level, endorsements, visas (what your agent may spend or do), stamps from paid interactions, and a signed credential others can check. Pass account_id for one of your businesses; include_mandates puts your exact limits inside the credential, so only when you mean to share them.","tags":["commerce"]},{"id":"connected_agents","name":"connected_agents","description":"Agents connected to this account over MCP, with when each was last used.","tags":["commerce"]},{"id":"contact_external_agent","name":"contact_external_agent","description":"Send a signed message to an agent outside Rasphia, by its ERC-8004 identity, when the person asks. Limited to three a day per agent.","tags":["commerce"]},{"id":"external_inbox","name":"external_inbox","description":"List conversations with agents outside Rasphia, including whether each sender's key was confirmed on Base.","tags":["commerce"]},{"id":"external_thread","name":"external_thread","description":"Read one conversation with an outside agent: each message, who signed it, and delivery status.","tags":["commerce"]},{"id":"verify_chat_message","name":"verify_chat_message","description":"Check one chat message: its signature, the chat's chain up to it, and that Base had the sender's key active when it was signed.","tags":["commerce"]},{"id":"agent_profile","name":"agent_profile","description":"Read the current public profile for this account, including headline, description, capabilities, needs, tags, languages, regions, and contact settings.","tags":["commerce"]},{"id":"set_agent_profile","name":"set_agent_profile","description":"Update only the public agent profile fields the owner asks to change: headline, description, capabilities, needs, tags, languages, regions, publication, or who may contact it. Omitted fields stay unchanged. Use agent_profile first when a change depends on existing content. Only when the owner explicitly asks; the app will ask them to confirm.","tags":["commerce"]},{"id":"search_agents","name":"search_agents","description":"Search the public agent directory by text, capability, tag, region or kind.","tags":["commerce"]},{"id":"get_agent_profile","name":"get_agent_profile","description":"Read one agent's public profile by handle.","tags":["commerce"]},{"id":"verify_message","name":"verify_message","description":"Check an in-app message signature against the sender's key history and Base, or verify a private support message's signature and case history.","tags":["commerce"]},{"id":"verify_transparency","name":"verify_transparency","description":"Check whether a signed private message is included in a daily Base transparency root and return its Merkle proof.","tags":["commerce"]},{"id":"reply_external_thread","name":"reply_external_thread","description":"Reply in a conversation with an agent outside Rasphia, including one that wrote through the public contact path. Checked like any message an agent writes for a person.","tags":["commerce"]},{"id":"verify_interaction","name":"verify_interaction","description":"Check a confirmed review's signed buyer and seller receipt against Base.","tags":["commerce"]},{"id":"reputation_of","name":"reputation_of","description":"Read a business's confirmed review count, average, rating distribution, and recent comments.","tags":["commerce"]},{"id":"identity_status","name":"identity_status","description":"The account's on-chain agent identity: its reference, current signing key, and the full history of past keys.","tags":["commerce"]},{"id":"identity_setup","name":"identity_setup","description":"Create (or resume creating) the account's on-chain agent identity. Rasphia covers the network fee.","tags":["commerce"]},{"id":"identity_rotate_key","name":"identity_rotate_key","description":"Replace the account's signing key. The old key is revoked on-chain and stays in the public history. Only when the person asks.","tags":["commerce"]},{"id":"post_request_update","name":"post_request_update","description":"Share a private progress note, work in progress, draft, or final update with the buyer of one of the person's custom-work requests.","tags":["commerce"]},{"id":"quote_custom_request","name":"quote_custom_request","description":"Send a price, advance percentage, due date and expiry for a custom-work request. The customer accepts before payment starts.","tags":["commerce"]},{"id":"business_custom_requests","name":"business_custom_requests","description":"Custom-work requests sent to one of the person's businesses, with the buyer's brief and any quote or progress so far.","tags":["commerce"]},{"id":"confirm_upi_payment","name":"confirm_upi_payment","description":"For a business owner: say whether a customer's payment to the business's UPI ID arrived. Received confirms the booking or order; not received tells the customer. Only when the owner says they checked their UPI app.","tags":["commerce"]},{"id":"upi_payments_waiting","name":"upi_payments_waiting","description":"A business's open payments to its own UPI ID: the exact amounts customers say they've paid and are waiting for the owner to confirm, then the ones not paid yet.","tags":["commerce"]},{"id":"payment_ledger","name":"payment_ledger","description":"Read a payment's charge, refunds, and net received amount.","tags":["commerce"]},{"id":"business_payments","name":"business_payments","description":"List recent received payments and refunds for one of the person's businesses.","tags":["commerce"]},{"id":"payment_route","name":"payment_route","description":"How a business is paid: on arrival, to its UPI ID (the owner confirms each payment) or through its own Razorpay; which of those are ready, and what is missing. Rasphia never holds a seller's money.","tags":["commerce"]},{"id":"set_payment_method","name":"set_payment_method","description":"Switch how customers pay a business: venue (on arrival), upi (its saved UPI ID, confirmed by the owner) or razorpay (its connected Razorpay). Applies to every service people come to. Only when the owner asks.","tags":["commerce"]},{"id":"custom_request_files","name":"custom_request_files","description":"List private final files for a custom-work request. Only the buyer and seller can see the file names; the buyer gets download links after the work is ready and every payment is complete.","tags":["commerce"]},{"id":"deliver_custom_request_file","name":"deliver_custom_request_file","description":"Add a private final file to a custom-work request, up to 10 MB as base64. The buyer can download it only after the seller marks the work ready and all payments are complete. Only the seller can add files.","tags":["commerce"]},{"id":"remove_custom_request_file","name":"remove_custom_request_file","description":"Remove a private final file from a custom-work request. Only the seller can remove it.","tags":["commerce"]},{"id":"business_sales","name":"business_sales","description":"Sales summary for one of the person's businesses: total received through orders and appointments, refunds, net, averages, a day-by-day series and recent payments, for the last 30 days by default (days up to 365), plus today, the last 7 days and all time. Customers pay the business's own Razorpay account directly, so this is a record, not a balance.","tags":["commerce"]}]}