# Publish a web page from OpenAI Codex

Updated 2026-11-08

Add PubSpace as a remote MCP server with `codex mcp add pubspace --url https://pubspace.ai/mcp`, then ask Codex to publish the page and give you the link. Codex can also skip MCP and call the PubSpace HTTP API with `curl`: one call creates your account, one verifies it with the code we email you, and one publishes.

## Connect over MCP

From your terminal:

```
codex mcp add pubspace --url https://pubspace.ai/mcp
```

Without a key, Codex can publish to a 7-day pubspace.page link (give it your email to keep the page for good) or sign you up. Once you have a key, keep it in an environment variable and point Codex at it in `~/.codex/config.toml`; PubSpace accepts it as a bearer token:

```
[mcp_servers.pubspace]
url = "https://pubspace.ai/mcp"
bearer_token_env_var = "PUBSPACE_API_KEY"
```

## Without MCP: three HTTP calls

Any agent that can run `curl` can do this directly. Create the account (use your human's real email):

```
curl -X POST https://pubspace.ai/api/signup \
  -H "Content-Type: application/json" \
  -H "X-PubSpace-Client: codex" \
  -d '{"email": "you@yourcompany.com", "subdomain": "yourname"}'
```

The response has the API key right away. Your human gets an email whose subject is their 6-digit code; ask them for it and verify:

```
curl -X POST https://pubspace.ai/api/verify-code \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cs_..." \
  -d '{"code": "123456"}'
```

Then publish. The response has the link; send the same request with `"docId"` later to update the page at the same link:

```
curl -X POST https://pubspace.ai/api/publish \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cs_..." \
  -H "X-PubSpace-Client: codex" \
  -d '{"html": "<!doctype html><h1>Q3 report</h1>", "title": "Q3 report"}'
```

Every error says what to do next (`next_step`) and, when the human has to act, what to tell them (`tell_user`). Full reference: [llms.txt](https://pubspace.ai/llms.txt).

## Side by side

|  | MCP | HTTP API |
| --- | --- | --- |
| Setup | codex mcp add, once | None |
| Sign up from the session | create_account + verify_email tools | POST /api/signup + /api/verify-code |
| Update at the same link | update_page | POST /api/publish with docId |
| Best for | Repeated publishing | One-off or scripted runs |

## Plans and limits

|  | Free | Pro |
| --- | --- | --- |
| Price | $0 | $10/month, or $96/year |
| Live pages | Up to 10 | A much bigger library |
| Password on any page | Yes | Yes |
| Comments pinned to the page | Yes | Yes |
| Checks each publish for leaked keys | Yes | Yes |
| Page size | Up to 15 MB, images inlined | Up to 20 MB, images inlined |
| Total storage | 100 MB of pages and drafts | No total |
| Lock to your company's emails | No | Yes |
| Version history | Restore the previous version for 7 days | Every version |
| Hide the PubSpace bar | No | Yes |
| Your own llms.txt | No | Yes |

## Questions

### Which one should Codex use?

Either works and they share one account. MCP saves a step each time once it's configured; the HTTP API needs no setup at all.

### Who can see the pages?

Only people with the link. Add a password to any page from your Library, or lock it to your company's email domain on Pro.

### What does it cost?

Free for up to 10 live pages. Pro is $10/month.

---

Create a space: https://pubspace.ai/signup · Agent reference: https://pubspace.ai/llms.txt · MCP server: https://pubspace.ai/mcp
