---
title: "Connect Codex CLI to 1Post over MCP"
url: "https://get1post.com/assistants/codex-cli.md"
canonical_url: "https://get1post.com/assistants/codex-cli"
last_updated: "2026-10-26"
type: "how-to"
summary: "Add the 1Post MCP server to Codex CLI: the exact settings, how to sign in or use a key, and a request and reply to check it works."
related: ["https://get1post.com/assistants.md", "https://get1post.com/docs/mcp.md", "https://get1post.com/docs/mcp-oauth.md", "https://get1post.com/docs/api-authentication.md"]
---

# Connect Codex CLI to 1Post over MCP

Add the 1Post MCP server to Codex CLI: the exact settings, how to sign in or use a key, and a request and reply to check it works.

Connect Codex CLI to 1Post by adding the MCP server at https://api.get1post.com/v1/mcp with your API key, or at https://api.get1post.com/v1/mcp/oauth to sign in. Codex CLI then lists your accounts, schedules posts and reads results with your role. The steps and the exact Codex CLI settings are below; actions that cancel or reply need confirmation.

## Set up Codex CLI

1. Make a key. In 1Post, make a key with write scope under Settings, then API keys, and export it as ONEPOST_API_KEY in your shell.
2. Open the file. Edit ~/.codex/config.toml, or .codex/config.toml in a trusted project.
3. Add the server. Add the table below. bearer_token_env_var names the variable that holds the key.
4. Check the connection. Start Codex and ask it to list your 1Post accounts.

## The Codex CLI settings

**~/.codex/config.toml**

```toml
[mcp_servers.onepost]
url = "https://api.get1post.com/v1/mcp"
bearer_token_env_var = "ONEPOST_API_KEY"
```

**Or add with sign-in**

```bash
codex mcp add onepost --url https://api.get1post.com/v1/mcp/oauth
codex mcp login onepost
```

The key stays in the environment, not in the file.

## A request and its reply

Once connected, Codex CLI sends tool calls like this one when you ask it to schedule a post. Account ids come from list_accounts.

**Tool call**

```json
{
  "name": "create_post",
  "arguments": {
    "accounts": [
      "ACCOUNT_ID"
    ],
    "text": "Doors open at nine.",
    "schedule_at": "2026-11-02T15:00:00Z"
  }
}
```

**Reply, abridged**

```json
{
  "id": "POST_ID",
  "status": "scheduled",
  "scheduled_at": "2026-11-02T15:00:00.000Z",
  "accounts": [
    {
      "account_id": "ACCOUNT_ID",
      "status": "queued"
    }
  ]
}
```

## What the connection can do

| Tool | What it does | Needs |
| --- | --- | --- |
| list_accounts | Lists connected accounts and their state | Read |
| create_post | Saves, schedules or publishes a post | Write |
| get_post | Reads one post and the result for each account | Read |
| cancel_post | Cancels a post that has not started | Write and confirm: true |

The connection acts with the role of the member who made the key or signed in, so a contributor's posts still go to review. The full tool list is on the [MCP page](https://get1post.com/docs/mcp.md).

## Questions

**Where does the key go?**

Into an environment variable. The file only names the variable, so the file can be shared safely.

**What can Codex CLI do once it is connected?**

It can list your accounts, create and update posts, read results and analytics, and cancel or reply when you confirm. It cannot do more than the member behind the key or sign-in.

## Sources

- [Codex documentation: Model Context Protocol](https://learn.chatgpt.com/docs/extend/mcp?surface=cli), read 2026-10-26

## Related

- [Connect an assistant to 1Post over MCP](https://get1post.com/assistants.md)
- [The MCP server: 1Post docs](https://get1post.com/docs/mcp.md)
- [MCP sign-in with OAuth: 1Post docs](https://get1post.com/docs/mcp-oauth.md)
- [API authentication and keys: 1Post docs](https://get1post.com/docs/api-authentication.md)
