Glossary

JSON-RPC 2.0

JSON-RPC 2.0 is a compact JSON format for calling remote methods. OneLifeVibe uses it for MCP messages over POST at https://onelifevibe.com/mcp.

Updated November 6, 2026

Standard
JSON-RPC 2.0 Specification

At OneLifeVibe

Related terms

What it means

JSON-RPC 2.0 is a small remote-procedure-call format built from JSON objects. A request names a method and carries params, and the response carries result or error. The id field ties a response to its request, and jsonrpc: "2.0" identifies the version. The format defines the messages, not the transport, so the same shapes can travel over different channels.

How it works

A call starts with an object such as {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"olv_list_worlds","arguments":{}}}. The method is the operation to run, params holds its input, and id is copied into the matching response. A response echoes the same id and carries result on success or error when the call cannot be completed. Clients match responses to requests by id.

How OneLifeVibe uses it

OneLifeVibe uses JSON-RPC 2.0 for MCP messages sent over POST to https://onelifevibe.com/mcp. A tool call uses the method tools/call, puts the tool name in params.name, and puts the tool input in params.arguments. The documented example calls olv_list_worlds with empty arguments: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"olv_list_worlds","arguments":{}}}.

Some failures are not protocol errors. When a tool fails for a reason the person can fix, for example a website not linked yet, OneLifeVibe answers a normal result with isError: true and structuredContent such as {"error":"not_linked","site":"helpbless.com"}. That keeps the JSON-RPC exchange well formed while giving the caller a specific error and site to act on.

Common mistakes

The most common mistake is treating isError: true as a JSON-RPC error. It is a normal result, so read structuredContent.error and structuredContent.site instead of looking only at the response envelope. Another is losing the request id or changing jsonrpc away from "2.0"; either can make a response hard to match or reject as malformed. For OneLifeVibe, send the message as POST to https://onelifevibe.com/mcp and include params.name and params.arguments for tools/call.

Questions

What endpoint does OneLifeVibe use for MCP?

MCP messages go to https://onelifevibe.com/mcp as JSON-RPC 2.0 over POST. A tool call uses tools/call with params.name and params.arguments; for example olv_list_worlds with empty arguments.

Why did a OneLifeVibe tool return isError true?

A tool that fails for a reason the person can fix, such as a website not linked yet, returns a normal result with isError true and structuredContent. Read structuredContent, for example {"error":"not_linked","site":"helpbless.com"}, to see the error and the site involved.

See it working. The OneLifeVibe connector and Platform API put these pieces together.

Get a free key Read the docs

Written from the OneLifeVibe tool registry and platform configuration, and checked automatically before publishing. Something wrong? Tell us.