Skip to main content
Glama

Algorand MCP

by GoPlausible
liquid-auth:decisions:3-Peer-to-Peer-Signaling.md2.19 kB
# Overview Communicating across platforms in a decentralized manner ## Decisions - Limit dependency on WebSockets to signaling - Allow bidirectional communication between peers - Enforce locality of device? ## Implementation A WebSocket Service should establish the SDP handshake and emit ICE candidates for WebRTC clients. This implementation should replace Wallet Connect with the following sequence ```mermaid sequenceDiagram participant Website participant Server participant Wallet Note over Website, Wallet: Link devices Website->>Server: GET Challenge Message Server->>Website: Send Challenge Message Website-->>Website: Display QR Connect Nonce Website->>Server: Subscribe to 'wss:link' Wallet->>Website: Scan QR Code Wallet->>Server: POST Nonce + Signature + Answer Server-->>Server: Validate Signature Server-->>Website: HTTPOnly Session Server->>Wallet: Ok Response + HTTPOnly Session Server->>Website: Emit to `wss:link` client Note over Website, Wallet: Passkeys/FIDO2 Website-->>Website: Continue FIDO2 Flow Wallet-->>Wallet: Continue FIDO2 Flow Note over Website, Wallet: Signaling Peer Offer/Answer Website-->>Server: Subscribe to 'wss:answer-${address}' Wallet-->>Server: Subscribe to 'wss:offer-${address}' Website-->>Website: Create Peer Offer & DataChannel Website-->>Server: POST Offer Server-->>Wallet: Emit Offer Wallet-->>Wallet: Create Peer Answer with Offer & DataChannel Wallet-->>Server: POST Answer Server-->>Website: Emit Answer Website-->>Website: Set Remote SDP Website-->>Website: Discover ICE Candidates Website->>Server: Emit candidates to `wss:offer-${address}` Server->>Wallet: Emit candidates to `wss:offer-${address}` Wallet-->>Wallet: Set Candidates Wallet-->>Wallet: Discover ICE Candidates Wallet->>Server: Emit candidates to `wss:answer-${address}` Server->>Website: Emit to `wss:answer` Website->>Website: Set Candidates ``` *Note: This process may be deprecated in the future in favor of `libp2p` which allows for an agnostic discovery layer and also supports the WebRTC transport

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GoPlausible/algorand-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server