JSON-RPC messages
Now that we’ve explained the overall flow, let’s see what the JSON-RPC messages look like.
Like with most MCP features, there are specific messages in JSON-RPC that need to be sent and received:
Request message
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "elicitation/create",
  "params": {
    "message": "Please provide your GitHub username",
    "requestedSchema": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "required": ["name"]
    }
  }
}
    In the preceding message, we can see how message contains the payload for what we’re asking for – a user choice to be made or some explanation of what we’re asking for. requestedSchema is a schema that defines what information you need...