Skip to content
GlxymeshDocs
glxymesh.com
Select theme
Open console
Reading time 8 minLevel Beginner

Connect an MCP client

Connect Codex, Claude, Claude Code, VS Code, Cursor, Windsurf and other MCP clients to a Glxymesh project over Streamable HTTP with OAuth, step by step, and fix 401/404/405.

A client needs only your project’s address. There’s no API key to create: the client registers itself and you approve it once in the browser.

https://<org>.mcp.glxymesh.com/<project>

Your organization has its own host, and each project is a path on it. The default project is the host itself, https://<org>.mcp.glxymesh.com. The first connection to a new organization’s host takes a few seconds while its certificate is issued.

Get the exact address and name for your project from the console’s Connect screen, or run gxmesh connect inside the project directory. The examples below use the project helpdesk in the org acme, so the address is https://acme.mcp.glxymesh.com/helpdesk and the server’s name is acme-helpdesk.

  1. Add the server by its address.
  2. Sign in once. A browser page from accounts.glxymesh.com opens; approve it. The client keeps the token after that.
  3. Turn its tools on where the client lists them, and call one.

Claude’s flow below is the simplest, and the others follow it step for step.

You need a deployed project, membership in its organization, and the client installed on your machine. gxmesh login signs in the Glxymesh CLI; each MCP client signs in separately through OAuth. Adding a server saves its configuration. Authentication and a successful tool call verify the connection.

Replace this example With your value
acme Your organization slug, not its display name
helpdesk Your project slug
acme-helpdesk A unique name for this connection in your client
https://acme.mcp.glxymesh.com/helpdesk The exact URL from Connect or gxmesh connect

The commands below run in a terminal. Commands starting with /, such as /mcp, run inside the client. Do not append /mcp to a deployed project URL; /mcp is used by the local development server.

  1. Check that Codex CLI is installed:

    Terminal window
    codex --version

    If it is missing, follow the official Codex CLI setup.

  2. Add your deployed project as a remote HTTP server:

    Terminal window
    codex mcp add acme-helpdesk --url https://acme.mcp.glxymesh.com/helpdesk

    acme-helpdesk names this connection; --url tells Codex to connect to the hosted endpoint.

  3. Sign in and approve access in the browser:

    Terminal window
    codex mcp login acme-helpdesk

    Use the Glxymesh account that belongs to the project’s organization.

  4. Confirm the server is configured, then start a session:

    Terminal window
    codex mcp list
    codex

    Inside Codex, run /mcp to inspect the active server and its tools. Ask it to call a tool you deployed, for example: “Use acme-helpdesk to list open issues in golang/go, limit 3.”

File alternative: add this table to ~/.codex/config.toml instead of running mcp add:

~/.codex/config.toml
[mcp_servers.acme-helpdesk]
url = "https://acme.mcp.glxymesh.com/helpdesk"

Then run codex mcp login acme-helpdesk. Restart an existing session after configuration changes. See OpenAI’s MCP documentation for configuration details.

Ask the client something one of your tools answers, such as “List the open issues”. The call shows up on the console’s Invocations screen within a few seconds, with the client’s name beside it. If it doesn’t, see Troubleshooting below.

Keep this running in a terminal inside your project:

Terminal window
gxmesh dev

In a second terminal on the same machine, choose one client:

Codex
codex mcp add helpdesk-local --url http://127.0.0.1:7777/mcp
codex
Claude Code
claude mcp add --transport http helpdesk-local http://127.0.0.1:7777/mcp
claude

The local server uses /mcp and does not use the hosted OAuth sign-in. Keep its name distinct from production. A browser-based or remotely running client cannot reach your machine’s loopback address. Stop gxmesh dev with Ctrl+C when finished. See local development.

Each project is its own server with its own name, so connect as many as you like:

Terminal window
claude mcp add --transport http acme-helpdesk https://acme.mcp.glxymesh.com/helpdesk
claude mcp add --transport http acme-billing https://acme.mcp.glxymesh.com/billing

In Claude Code the tools then appear as mcp__acme-helpdesk__list-open-issues and mcp__acme-billing__….

  1. The client calls the address without a token and gets a 401 pointing to the server’s OAuth metadata.
  2. The metadata names accounts.glxymesh.com as the authorization server.
  3. The client registers itself there through dynamic client registration, as a public client with PKCE.
  4. Your browser opens, you approve, and the client gets a token that belongs to you.
  5. tools/list returns the project’s tools. After that, every call appears on the console’s Invocations screen.

The token belongs to you, not to the project. Everyone who uses the server signs in with their own account and needs to be a member of the organization. Each call is checked, so removing someone takes effect on their next call.

What you see What it means
VS Code lists no server .vscode/mcp.json uses mcpServers. VS Code’s file needs servers.
Codex lists the server but cannot call tools Run codex mcp login acme-helpdesk, restart the session, and inspect /mcp. Listing a configuration alone does not verify a tool call.
Local connection refused Keep gxmesh dev running on the same machine and use its printed port and /mcp path.
No sign-in page opens The client hasn’t tried to connect yet. Start the server (VS Code), run /mcp → Authenticate (Claude Code), or select the server in the client’s MCP settings.
404 The org or project in the address doesn’t exist for you. A project you aren’t a member of looks the same as one that doesn’t exist, so check the address on the Connect screen or with gxmesh connect.
401 after it worked before The token expired or was issued somewhere else. Sign in again in the client. It won’t register again.
405 Expected when you open the address in a browser. The server accepts POST only.
“This project is waking up after a week without calls. Try again in a few seconds.” The project’s function tools were asleep. The next call works.

If a tool you pushed doesn’t appear, run gxmesh revisions to check that your latest push went live in the project you connected to.