Docs

Search docs

Search pages and tools

Get started

Relivo overview

Relivo is a multi-namespace Model Context Protocol server in Go: five independent MCP servers mounted on one HTTP mux over the Streamable HTTP transport.

One server, five namespaces. Relivo exposes memory, skills, gsc, producthunt, and event as independent MCP servers on a single net/http mux. Each namespace self-registers at startup via init(), so adding one is a single package and cmd/server/main.go never changes. Point any MCP client at a namespace route and its tools appear.

Pick a namespace

Memory holds durable, per-user knowledge in a hybrid RAG store (semantic and keyword) over Postgres and pgvector that survives across sessions.

Skills finds and downloads Agent Skills live from GitHub. Nothing is cached.

Search Console exposes Google Search Console: property management, search-analytics reports, URL inspection, and sitemaps.

Product Hunt wraps the Product Hunt v2 GraphQL API: posts, topics, collections, users, plus a raw GraphQL escape hatch.

Event is a Kafka bridge over MCP: publish messages to a topic, consume them back through a durable consumer group, and manage topics on Confluent Cloud.

The namespaces

Each route below is a fully independent MCP server. A domain never reaches across another domain except through internal/mcpx.

Connect

Every URL below is derived from NEXT_PUBLIC_MCP_BASE_URL. Change it once and it updates everywhere in these docs.

You need an API key to connect

Every request must carry an X-API-Key header. Sign in to create one.

Sign in to get your key
Memory
https://go-mcp-server-latest.onrender.com/memory/mcp
Skills
https://go-mcp-server-latest.onrender.com/skills/mcp
Search Console
https://go-mcp-server-latest.onrender.com/gsc/mcp
Product Hunt
https://go-mcp-server-latest.onrender.com/producthunt/mcp
Event
https://go-mcp-server-latest.onrender.com/event/mcp

Drop the routes into any MCP client config:

mcp.json
{
  "mcpServers": {
    "memory": {
      "type": "http",
      "url": "https://go-mcp-server-latest.onrender.com/memory/mcp",
      "headers": {
        "X-API-Key": "<your-api-key>"
      }
    },
    "skills": {
      "type": "http",
      "url": "https://go-mcp-server-latest.onrender.com/skills/mcp",
      "headers": {
        "X-API-Key": "<your-api-key>"
      }
    },
    "gsc": {
      "type": "http",
      "url": "https://go-mcp-server-latest.onrender.com/gsc/mcp",
      "headers": {
        "X-API-Key": "<your-api-key>"
      }
    },
    "producthunt": {
      "type": "http",
      "url": "https://go-mcp-server-latest.onrender.com/producthunt/mcp",
      "headers": {
        "X-API-Key": "<your-api-key>"
      }
    },
    "event": {
      "type": "http",
      "url": "https://go-mcp-server-latest.onrender.com/event/mcp",
      "headers": {
        "X-API-Key": "<your-api-key>"
      }
    }
  }
}
Headers

Every namespace requires an X-API-Keyheader carrying a registered key — add it to each server’s headers. Requests without one are rejected with 401 before they reach a tool.

The memorynamespace additionally uses the key as an identity: your memories are scoped to it and stay isolated from other callers’.