Docs

Search docs

Search pages and tools

Get started

Quickstart

Run the server and connect your first MCP client in under a minute.

You need Go 1.26+, Postgres + pgvector (for the memory namespace), and an OpenAI API key for embeddings.

Run the server

  1. 1
    Configure your environment
    Copy the example env and fill in DATABASE_URL and OPENAI_API_KEY.
  2. 2
    Apply the migration
    Run migrations/0001_memories.sql against your pgvector database.
  3. 3
    Mint an API key
    make apikey inserts a key into api_keys and prints it. Every namespace requires it, so do this before connecting a client.
  4. 4
    Start it
    The server listens on :8080 (override with PORT).
terminal
cp .env.example .env
# fill in DATABASE_URL + OPENAI_API_KEY
make migrate
make apikey          # prints mcp_<32 hex> — use it below
make run
DB-backed only for memory
The server refuses to start without DATABASE_URL because the memory namespace requires it. The skills and event namespaces have no hard startup dependency.

Point a client at it

Give your MCP client a namespace URL, and the key from make apikey as the X-API-Key header on every entry:

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
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>"
      }
    }
  }
}
Behind a tunnel?
Set MCP_ALLOW_EXTERNAL_HOST=truewhen serving through ngrok or a reverse proxy. The transport’s DNS-rebinding protection rejects loopback requests carrying a non-loopback Host header otherwise.