﻿---
title: "PostHog MCP 用 mcp.posthog.com/mcp，Codex 默认是 CLI 模式"
summary: "CLI：codex mcp add posthog --url https://mcp.posthog.com/mcp，再 mcp login。账号自动走美区或欧盟。Codex 默认 CLI 模式。查询 readonly=true 写进 url。不要把 wizard 当 Codex 主路径。"
category: mcp
level: intermediate
surfaces: [cli, app, ide]
tags: ["MCP", "PostHog", "OAuth", "HTTP"]
canonical: /tips/mcp-posthog-remote/
---

# PostHog MCP 用 mcp.posthog.com/mcp，Codex 默认是 CLI 模式

CLI：codex mcp add posthog --url https://mcp.posthog.com/mcp，再 mcp login。账号自动走美区或欧盟。Codex 默认 CLI 模式。查询 readonly=true 写进 url。不要把 wizard 当 Codex 主路径。

PostHog **托管**的是远程 Streamable HTTP。官方 Codex 节：

```bash
codex mcp add posthog --url https://mcp.posthog.com/mcp
codex mcp login posthog
```

```toml
[mcp_servers.posthog]
url = "https://mcp.posthog.com/mcp"
enabled = true
```

登录账号会把流量指到对应的美区或欧盟，不必自己换主机。连上之后权限跟这个账号的当前组织 / 项目走。

Codex **默认是 CLI 模式**：不会把几百个工具 schema 全塞进上下文，而是一台叫 `exec` 的工具按需列出、搜索、调用。看起来工具很少，并不等于没装上。要标准「每个工具一张表」时，把查询写进 `url`：

```toml
[mcp_servers.posthog]
url = "https://mcp.posthog.com/mcp?mode=tools"
enabled = true
```

常用查询（和 Datadog 不同，PostHog 官方就是拼进 URL）：

- `?readonly=true`：只留读工具
- `?features=flags,insights`：按产品组过滤
- `?project_id=12345`：钉死项目，并关掉 switch-project / switch-organization

可以组合：`https://mcp.posthog.com/mcp?readonly=true&features=flags,insights`。

日常用 OAuth，不要 PAT。CI 不能开浏览器时，用「MCP Server」预设的个人 API key，走 `bearer_token_env_var`，不要把 `Authorization: Bearer` 写进 `http_headers`。钉组织 / 项目这类**不是密钥**的头可以写 `http_headers`（`x-posthog-project-id`），或继续用查询参数。

插件是另一条路，会顺带装技能，不是这条 MCP 的前提：

```bash
codex plugin marketplace add PostHog/ai-plugin
```

然后在会话里 `/plugins` 选 PostHog 安装。不要抄 Claude 的 `/plugin marketplace add`。

不要做这些：

- 不要把 `npx @posthog/wizard mcp add` 当 Codex 主路径。Wizard 会改所有检测到的客户端。
- 不要抄 Cursor JSON，也不要把 `phx_` 写进 TOML。
- 不要抄 Claude 的 `--transport http`，也不要套 `mcp-remote`。
- 不要给它 `required = true` 挂全局。写开关、改工单不是每条会话都要的依赖。
- 不要一上来 `--yolo`。官方自己强调提示注入，保持工具批准。
- 不要把 Amplitude 那台分析 MCP 和这条搞混。

部分工具会在 PostHog 里走 AI 用量，组织还要打开 AI data processing。网页 Cloud 不读 `~/.codex/config.toml`。改完新开会话。用 `codex mcp get posthog` 看传输是 streamable_http。

## 来源

- [PostHog · MCP for Codex](https://posthog.com/docs/model-context-protocol/codex)
- [PostHog · MCP FAQ](https://posthog.com/docs/model-context-protocol/faq)
- [OpenAI · Model Context Protocol](https://learn.chatgpt.com/docs/extend/mcp)
