PostHog代码模式服务器

一个为PostHog设计的轻量级MCP服务器,通过单一工具和沙盒JavaScript执行环境简化API调用。

  • by Metta-AI
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Metta-AI/posthog-code-mode-mcp

使用说明

posthog码模式mcp

紧凑的 主控程序 服务器 后霍格 它用一个工具替换了默认的~70k令牌PostHog MCP服务器。

受Cloudflare的启发 代码模式 模式:该服务器没有公开几十个单独的工具(每个API端点一个),而是公开一个 posthog 该工具在带有类型化PostHog API客户端的沙盒虚拟机中执行JavaScript代码。

为什么?

官方的PostHog MCP服务器提供了约70k个工具定义令牌。在你提问之前,这是一个很大的上下文窗口。此服务器通过让LLM针对类型化客户端编写代码,使用单个工具定义(约2k个令牌)实现了相同的覆盖率。

设置

1.安装依赖项

npm install

2.配置环境

复制示例并填写您的值:

cp .env.example .env
POSTHOG_API_KEY=phx_your_personal_api_key
POSTHOG_PROJECT_ID=12345
  • API密钥:在创建个人API密钥https://us.posthog.com/settings/user-api-keys
  • 项目编号:在PostHog项目设置URL中查找您的项目ID

3.添加到克劳德代码

将此添加到您的Claude Code MCP配置中(~/.claude/settings.json 或项目级别):

{
  "mcpServers": {
    "posthog-code-mode": {
      "command": "node",
      "args": ["/path/to/posthog-code-mode/index.js"],
      "env": {
        "POSTHOG_API_KEY": "phx_your_key",
        "POSTHOG_PROJECT_ID": "12345"
      }
    }
  }
}

或者如果使用 .env 文件,指向目录并加载您喜欢的env-vars。

用法

服务器公开了一个 posthog 工具。LLM编写在沙盒VM中运行的JavaScript posthog 客户端对象可用作全局对象。

示例

按类型统计事件(过去7天):

const result = await posthog.query({
  kind: "HogQLQuery",
  query: "SELECT event, count() FROM events WHERE timestamp > now() - interval 7 day GROUP BY event ORDER BY count() DESC LIMIT 20"
});
console.log(result.results);

列出功能标志:

const flags = await posthog.featureFlags.list({ limit: 50 });
console.log(flags.results.map(f => ({ key: f.key, active: f.active })));

对任何端点使用逃逸舱口:

const result = await posthog.api("GET", "/session_recordings", { limit: 5 });
console.log(result.results);

API覆盖范围

这 posthog 客户端为以下对象提供类型化方法:

  • HogQL查询 — posthog.query()
  • 洞察 --积垢
  • 仪表盘 --积垢
  • 事件 --列表
  • 人员 --列表,获取
  • 功能标志 --积垢
  • 实验 --CRUD+结果
  • 队列 --积垢
  • 注释 --列表、获取、创建
  • 行动 --积垢
  • 调查 --积垢
  • 错误跟踪 --列表、获取、更新
  • 安全舱口 — posthog.api(method, path, body) 对于上面未涵盖的任何内容

许可证

国际学生中心