PostHog (verified)
Access your PostHog instance. Analytics, HogQL queries, session replays, error tracking, feature flags, experiments, and surveys.
Quick Start
# Connect this server (installs CLI if needed)
npx -y smithery mcp add PostHog
# Browse available tools
npx -y smithery tool list PostHog
# Get full schema for a tool
npx -y smithery tool get PostHog experiment-results-get
# Call a tool
npx -y smithery tool call PostHog experiment-results-get '{}'Direct MCP Connection
Endpoint: https://posthog.run.tools
Tools (329)
experiment-results-get— Get comprehensive experiment results including all metrics data (primary and secondary) and exposure data. This tool fe…experiment-get-all— DEPRECATED: renamed to experiment-list. This alias forwards to experiment-list and will be removed. Call experiment-lis…insight-query— Execute a saved insight's query and return results. THIS IS THE ONLY WAY TO RETRIEVE INSIGHT RESULTS — the insights-lis…query-run— You should use this to answer questions that a user has about their data and for when you want to create a new insight.…query-validate— Dry-run a HogQL query: parse and type-check it without executing, so there is no ClickHouse cost and no 202 polling. Re…hogql-schema— Return the HogQL catalog for the active project: every queryable table (PostHog, system, warehouse, view, materialized …query-generate-hogql-from-question— This is a slow tool, and you should only use it once you have tried to create a query using the 'query-run' tool, or th…get-llm-total-costs-for-project— Fetches the total LLM daily costs for each model for a project over a given number of days. If no number of days is pro…switch-organization— Change the active organization from the default organization. You should only use this tool if the user asks you to cha…projects-get— Fetches projects that the user has access to in the current organization.event-definitions-list— List all event definitions in the project with optional filtering. Can filter by search term.event-definition-update— Update event definition metadata. Can update description, tags, mark status as verified or hidden. Use exact event name…properties-list— List properties for events or persons. If fetching event properties, you must provide an event name.switch-project— Change the active project from the default project. You should only use this tool if the user asks you to change the pr…survey-create— Creates a new survey in the project. Use this for both in-app surveys and hosted forms. Prefer draft creation by defaul…survey-get— Get a specific survey by ID. Returns the survey configuration including questions, targeting, and scheduling details.surveys-get-all— Get all surveys in the project with optional filtering. Can filter by search term or use pagination.survey-update— Update an existing survey by ID. Omitted top-level fields are preserved, but nested objects and arrays you provide may …survey-delete— Delete a survey by ID (soft delete - marks as archived).surveys-global-stats— Get aggregated response statistics across all surveys in the project. Includes event counts (shown, dismissed, sent), u…survey-stats— Get response statistics for a specific survey. Includes detailed event counts (shown, dismissed, sent), unique responde…entity-search— Search for PostHog entities by name or description. Can search across multiple entity types including insights, dashboa…debug-mcp-ui-apps— Debug tool for testing MCP Apps SDK integration. Returns sample data displayed in an interactive UI app with component …external-data-sources-db-schema— Validate credentials against a remote source and return the list of tables available to sync (works for database source…external-data-sources-jobs— List sync job history for a data warehouse source. Returns jobs sorted by most recent first, with status, duration, row…external-data-sync-logs— Get sync job logs for a data warehouse table schema. Returns log entries from the log_entries ClickHouse table, filtere…session-recording-summarize— Generate an AI-powered summary of one or more session recordings. Returns structured analysis including user journey se…action-create— Create a new action in the project. Actions define reusable event triggers based on page views, clicks, form submission…action-delete— Delete an action by ID (soft delete - marks as deleted). The action will no longer appear in lists but historical data …action-get— Get a specific action by ID. Returns the action configuration including all steps and their trigger conditions.action-update— Update an existing action by ID. Can update name, description, steps, tags, and Slack notification settings.actions-get-all— Get all actions in the project. Actions are reusable event definitions that can combine multiple trigger conditions (pa…activity-log-list— List recent activity log entries for the project. Shows who did what and when — feature flag changes, dashboard edits, …advanced-activity-logs-filters— Get the available filter options for activity logs — scopes, activity types, and users that have logged activity. Usefu…advanced-activity-logs-list— List activity log entries with advanced filtering, sorting, and field-level diffs. Supports filtering by scope, activit…alert-create— Create a new alert on an insight. Alerts can use either threshold-based conditions or anomaly detection. For threshold …alert-delete— Delete an alert by ID. This permanently removes the alert and all its check history. Subscribed users will no longer re…alert-get— Get a specific alert by ID. Returns the full alert configuration including check results, threshold settings, detector_…alert-simulate— Run an anomaly detector on an insight's historical data without creating any alert or check records. Use this to previe…alert-update— Update an existing alert by ID. Can update name, threshold, condition, config, detector_config, subscribed users, enabl…alerts-list— List all insight alerts in the project. Returns alerts with their current state, threshold or detector configuration, t…annotation-create— Create an annotation to mark an important change (for example, a deployment) on charts and trends. Provide a note in `c…annotation-delete— Soft-delete an annotation by ID. This hides the annotation from normal lists while preserving historical records.annotation-retrieve— Retrieve a single annotation by ID from the current project. Use this when you already know the annotation ID and want …annotations-list— List annotations in the current project, newest first. Use this to review existing deployment markers and analysis note…annotations-partial-update— Update an existing annotation by ID. You can change its text (content), when it happened (date_marker, ISO 8601), o…approval-policies-list— List all approval policies configured for this project. Shows which actions require approval, who can approve, and bypa…approval-policy-get— Get details of an approval policy including conditions, approver configuration, quorum requirements, and bypass rules.batch-export-create— Create a new batch export. Typed destination config schemas are available for Databricks and AzureBlob destinations — b…batch-export-delete— Soft-delete a batch export. Stops all future scheduled runs and hides the export from list and get operations. Historic…batch-export-get— Get a batch export by ID. Returns full non-sensitive configuration including destination type and config, linked Integr…batch-export-update— Partially update a batch export. Top-level fields (name, paused, interval, schema, filters) work for any destination ty…
*Response truncated. Use npx -y smithery for complete data.*