Tutorial: configure ArchyPress MCP in VS Code Copilot and Codex

Oct 07, 2026 • ArchyPress

A developer laptop and floating code panes connect to a polished editorial page on a warm studio desk.

VS Code can host more than one assistant. GitHub Copilot and the Codex extension have different MCP configuration systems. Start by choosing the assistant you intend to use.

This tutorial gives you hosted OAuth and local stdio options, then a short verification workflow. Neither option should require committing a real key to your repository.

Configuration map: Copilot uses mcp.json and can choose hosted OAuth or local stdio; Codex uses its own config.toml or CLI settings.

1. Copilot: add the hosted OAuth server

Run MCP: Add Server in the Command Palette, choose HTTP, and enter https://meet.archy-ai.com/api/mcp. Start the server and complete the browser sign-in and publisher consent.

For the VS Code-format workspace configuration, use .vscode/mcp.json with a top-level servers object. The example contains no secret or static Authorization header.

{
  "servers": {
    "archypress": {
      "type": "http",
      "url": "https://meet.archy-ai.com/api/mcp"
    }
  }
}

Current VS Code also supports portable .mcp.json configurations with a top-level mcpServers object. Do not mix those roots or use mcp.servers in a .vscode/mcp.json file.

Run MCP: List Servers and inspect the server's status/output. Enable the relevant tools in Copilot's tool picker. Authorize read access first, and request publisher:write only when your task needs writes.

2. Codex: configure the Codex client separately

Use the Codex extension's MCP settings or its CLI. A change to Copilot's workspace file does not add tools to Codex.

codex mcp add archypress --url https://meet.archy-ai.com/api/mcp
codex mcp login archypress
codex mcp list

In a current Codex configuration, the server entry belongs under mcp_servers.archypress. The resource identifies the protected MCP endpoint; the scope example deliberately requests read-only access.

[mcp_servers.archypress]
url = "https://meet.archy-ai.com/api/mcp"
oauth_resource = "https://meet.archy-ai.com/api/mcp"
scopes = ["publisher:read"]

For a current CLI that supports explicit login scopes, request both read and write when preparing to create content. Scope support depends on the installed version; check login --help first.

codex mcp login archypress --scopes publisher:read,publisher:write

Complete browser authorization, select the intended channel, and reload the extension/session if new tools do not appear. Verify the publisher before attempting a write.

Older Codex clients: why login can fail

Codex 0.45.0 uses the experimental rmcp client and can omit resource and scope from its authorization URL. Our earlier validator rejected that URL before the consent screen.

A second bug came from Next.js rewriting a 127.0.0.1 callback to localhost. OAuth requires an exact registered URI; those hosts must not be silently substituted.

The compatibility fix preserves the raw callback and defaults omitted resource to this MCP endpoint. An omitted scope defaults to read-only, not permission to publish. It is awaiting server deployment.

Prefer a current Codex release installed through your original installation method. The experimental_use_rmcp_client flag does not add the missing OAuth parameters or repair callback rewriting.

After the server fix is deployed, start a fresh login. Do not keep opening the old URL: its state, PKCE verifier and ephemeral callback listener belong to the original login attempt.

3. Local stdio: use files or repository context

Use the local npm server when the assistant needs a local upload or git-workspace summary. Get a publisher key from Admin → Publishers and enter it through a secure prompt.

{
  "servers": {
    "archy-blog": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@archy-ai/blog-post-mcp"
      ],
      "env": {
        "ARCHY_BLOG_BASE_URL": "https://meet.archy-ai.com",
        "ARCHY_PUBLISHER_KEY": "${input:archyPublisherKey}",
        "ARCHY_API_KEY_HEADER": "x-archy-publisher-key"
      }
    }
  },
  "inputs": [
    {
      "id": "archyPublisherKey",
      "type": "promptString",
      "description": "Archy publisher key (pk_...)",
      "password": true
    }
  ]
}

This is a Copilot .vscode/mcp.json example. The key is requested at runtime, so the configuration can be shared without exposing it. Do not replace the prompt variable with a real key in Git.

Interactive prompts may not be available in every Agent Host environment. Hosted OAuth is a useful alternative when local secret prompts are unavailable.

4. Verify the connection and draft workflow

Call archy_blog_whoami and list one post. Confirm the workspace and publisher. Then wait; do not create or publish anything.

If both reads succeed, create a clearly named draft, fetch it by ID and inspect the result. Hosted writes need publisher:write; publication also needs the publisher's admin role.

A key-based stdio connection and an OAuth grant are revoked separately. Disconnect an OAuth app or revoke a static key in Admin → Publishers according to which connection you actually used.

Next steps

Review the safe publishing and revocation tutorial

Connect ChatGPT instead

Official VS Code MCP setup

Official Codex MCP configuration

Official Codex configuration reference

© 2026 Meet Archy