Low
Outbound network 9
Environment variables (config / keys) 6
Shell / command execution 1
AI review
This is a legitimate PostHog MCP server implementation that provides analytics tools to AI agents. The code accesses environment variables for API keys and makes network requests to PostHog's API, which is expected behavior for its stated purpose. No hidden instructions, deceptive tool descriptions, or exfiltration mechanisms were found.
Model: deepseek-chat
Static findings
Outbound network · Makes outbound network requests
info
examples/ai-sdk/package-lock.json:262
"../../typescript/node_modules/axios": {
info
examples/langchain-js/package-lock.json:866
"axios": "*",
info
typescript/pnpm-lock.yaml:47
version: 0.3.31(@langchain/[email protected](@opentelemetry/[email protected])([email protected]([email protected])([email protected])))(@opentelemetry/[email protected])([email protected])([email protected]([email protected])([email protected]))([email protected])
low
typescript/scripts/update-openapi-client.ts:14
const response = await fetch(SCHEMA_URL);
low
typescript/src/api/client.ts:118
const response = await fetch(url, {
low
typescript/src/api/fetcher.ts:35
const response = await fetch(input.url, {
low
typescript/src/integrations/mcp/index.ts:260
async fetch(request: Request, env: Env, ctx: ExecutionContext) {
low
typescript/src/lib/utils/api.ts:10
const response = await fetch(url, {
low
typescript/worker-configuration.d.ts:217
fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>;
Environment variables (config / keys) · Reads environment variables (config / API keys)
info
examples/ai-sdk/src/index.ts:10
posthogPersonalApiKey: process.env.POSTHOG_PERSONAL_API_KEY!,
info
examples/langchain-js/src/index.ts:11
posthogPersonalApiKey: process.env.POSTHOG_PERSONAL_API_KEY!,
info
examples/langchain/posthog_agent_example.py:27
personal_api_key=os.getenv("POSTHOG_PERSONAL_API_KEY"),
info
typescript/README.md:23
posthogPersonalApiKey: process.env.POSTHOG_PERSONAL_API_KEY!,
info
typescript/tests/api/client.integration.test.ts:5
const API_BASE_URL = process.env.TEST_POSTHOG_API_BASE_URL || "http://localhost:8010";
info
typescript/tests/shared/test-utils.ts:9
export const API_BASE_URL = process.env.TEST_POSTHOG_API_BASE_URL || "http://localhost:8010";
Shell / command execution · Executes shell / system commands
medium
typescript/scripts/update-openapi-client.ts:3
import { execSync } from "node:child_process";
Scanning every extension your team installs?
Pro & Team add monitoring, private scans, and a CI gate for unsafe extensions.
MCPVet is a heuristic aid, not a security guarantee. A clean grade does not prove an extension is safe; always review code and instructions you don't trust.