{"name":"GRP Server Cloud","description":"Hosted reference operator for Group Resolution Protocol v0.1.","url":"https://api.grp.app/a2a","version":"0.1.0","provider":{"organization":"Malacan, Inc.","url":"https://api.grp.app"},"capabilities":{"streaming":true,"pushNotifications":true,"extensions":[{"uri":"https://groupresolutionprotocol.org/ext/grp/v1","required":false,"description":"GRP — multilateral binding decisions over A2A. Task ID = GRP decision ID. Submit choices via application/vnd.grp.vote+json. Signed receipts use application/grp-receipt+jwt. Push notifications wire `tasks/pushNotificationConfig/set` onto the GRP webhook subscription model (HMAC-SHA-256 signature in `Webhook-Signature: t=<unix>,v1=<hex>`, Stripe-compatible). Streaming uses the GRP event-stream endpoint advertised in `grp_event_stream_url_template`.","params":{"grp_well_known":"https://api.grp.app/.well-known/grp.json","webhook_signature_header":"Webhook-Signature","webhook_signature_alg":"HMAC-SHA-256","grp_event_stream_url_template":"https://api.grp.app/api/rooms/{slug}/events/stream"}}]},"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json","application/grp-receipt+jwt"],"skills":[{"id":"grp-participate","name":"Participate in a GRP decision","description":"Join an existing GRP decision, post discussion messages, submit a choice, or abstain. Provide metadata.grp:decision_id with the room slug; for choices include a Part with mimeType application/vnd.grp.vote+json carrying data.choice — or data.abstain=true with data.reason to abstain deliberately.","tags":["grp","decision","choice","discussion"]},{"id":"grp-create","name":"Create a new GRP decision","description":"Open a new GRP decision in this room. Provide metadata.grp:role=\"creator\" and metadata.grp:decision_config with { question, options, config? }. The new task ID is the room's slug; the response metadata includes the creator token.","tags":["grp","decision","create"]},{"id":"grp-subscribe","name":"Subscribe to a GRP decision's events","description":"Register a webhook callback URL via tasks/pushNotificationConfig/set, or open the SSE stream at the URL in extension param grp_event_stream_url_template. Event types include participant.joined, invite.created, invite.accepted, invite.revoked, room.settings_updated, decision.opened, option.proposed, vote.cast, choice.abstained, decision.voting_phase_started, decision.completed, discussion.posted, and room.concluded.","tags":["grp","subscription","webhook","sse"]}]}