Guide

Call the OneLifeVibe free MCP connector with curl

Send JSON-RPC 2.0 requests with curl to the free, stateless OneLifeVibe MCP connector at https://onelifevibe.com/mcp/free and read its tool results.

Updated November 6, 2026

Stack
curl (JSON-RPC 2.0 over HTTP)
API
Platform API v1 · Connectors

The code

# 1. Handshake (optional for this stateless server, but what MCP clients send first)
curl -s https://onelifevibe.com/mcp/free -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'

# 2. What tools are there?
curl -s https://onelifevibe.com/mcp/free -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

# 3. Call one
curl -s https://onelifevibe.com/mcp/free -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"find_free_tools","arguments":{"situation":"bedtime"}}}'

The facts it relies on

Related guides

What you are building

The free MCP connector at https://onelifevibe.com/mcp/free is a Streamable HTTP MCP server that answers in JSON. It is stateless and needs no sign-in, so every request stands alone. You speak JSON-RPC 2.0 and can call four methods: initialize, ping, tools/list, and tools/call.

Its tools read only. find_free_tools takes a situation or query. list_situations lists the situations. gift_ideas takes an optional max_usd. list_worlds lists worlds. The connector also carries no-account tools from the websites, such as senatus_search_dossiers and introworth_attention_price.

The situations are lost-income, bills, bedtime, family, stars, gift, policy, my-time (18+), and cloud. Links go through https://onelifevibe.com/go/<id>?f=mcp and open the tool on its own website. Nothing here changes data, spends money, or contacts anyone.

Before you start

You need curl and a terminal. There is no sign-in for this endpoint, and it keeps no session, so you do not need an account or an OAuth flow. Every call is a POST to https://onelifevibe.com/mcp/free with content-type: application/json and a JSON-RPC 2.0 body.

A request carries jsonrpc set to 2.0, an id you choose, a method, and params when needed. The id matches a response to its request. Send one request per curl call.

Because the server is stateless, there is nothing to open, reuse, or close. Calls can run in any order, and one does not depend on another.

How the code works

The code makes three calls. Step 1 sends initialize with protocolVersion 2025-11-25, an empty capabilities object, and clientInfo naming curl version 1. That is the handshake MCP clients send first. This server is stateless, so the handshake is optional, but it confirms the endpoint answers in the expected shape.

Step 2 sends tools/list with no params. You get the tool definitions, which show the tool names before you call one, including find_free_tools, list_situations, gift_ideas, list_worlds, and the website tools.

Step 3 sends tools/call with name find_free_tools and arguments containing situation bedtime. The response is the find_free_tools result for that situation. The argument can be situation or query. The -s flag silences curl's progress meter so the JSON is easier to read.

Responses are JSON-RPC 2.0: a result on success, or an error object with code and message. Tool links use https://onelifevibe.com/go/<id>?f=mcp and open the tool on its own website.

Testing it

Run the three calls and read each response. A healthy tools/call response has a result field.

Call list_situations to confirm the values: lost-income, bills, bedtime, family, stars, gift, policy, my-time (18+), and cloud. Try gift_ideas with max_usd to see the optional argument at work. ping is a quick reachability check.

If a call fails, read error.code and error.message before changing anything. An HTTP 200 can still carry a JSON-RPC error, so inspect the body, not only the status. Confirm content-type: application/json and valid JSON in the request.

Going to production

Keep the stateless model: put everything the request needs in the body, and do not wait for a session cookie or header. Set a timeout on each curl call so a stalled connection does not hang a job, and log the id with the response so calls are easy to trace.

This connector only reads. It does not change data, spend money, or contact anyone, which makes it suitable for scripts and checks. For account-level work, use the OneLifeVibe Platform API and signed webhooks.

Keep tool and argument names exactly as listed, such as find_free_tools and max_usd. The connector uses those identifiers.

Questions

Do I need an API key or sign-in for the free MCP connector?

The free connector at https://onelifevibe.com/mcp/free is stateless and has no sign-in, so you send JSON-RPC 2.0 requests directly to the endpoint. Nothing in the connector changes data, spends money, or contacts anyone.

Do I need to send initialize before tools/call?

No. The server is stateless, so initialize is optional and each request stands alone. Sending it first matches what MCP clients do and confirms the endpoint answers.

Which situation values can I pass to find_free_tools?

The situations are lost-income, bills, bedtime, family, stars, gift, policy, my-time (18+), and cloud. You can also call list_situations for the list, or pass query instead of situation.

Try it against the real API. A free Sandbox key reads the catalogue and the event log at once, no card.

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.