PostHog mcp_store API

The mcp_store API from PostHog — 10 operation(s) for mcp_store.

OpenAPI Specification

posthog-mcp-store-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: PostHog actions mcp_store API
  version: 1.0.0
  description: ''
tags:
- name: mcp_store
paths:
  /api/environments/{project_id}/mcp_server_installations/:
    get:
      operationId: mcp_server_installations_list
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMCPServerInstallationList'
          description: ''
      x-explicit-tags:
      - mcp_store
    post:
      operationId: mcp_server_installations_create
      parameters:
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
      security:
      - PersonalAPIKeyAuth:
        - project:write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerInstallation'
          description: ''
      x-explicit-tags:
      - mcp_store
  /api/environments/{project_id}/mcp_server_installations/{id}/:
    get:
      operationId: mcp_server_installations_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this mcp server installation.
        required: true
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerInstallation'
          description: ''
      x-explicit-tags:
      - mcp_store
    put:
      operationId: mcp_server_installations_update
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this mcp server installation.
        required: true
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
      security:
      - PersonalAPIKeyAuth:
        - project:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerInstallation'
          description: ''
      x-explicit-tags:
      - mcp_store
    patch:
      operationId: mcp_server_installations_partial_update
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this mcp server installation.
        required: true
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMCPServerInstallationUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMCPServerInstallationUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMCPServerInstallationUpdate'
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerInstallation'
          description: ''
      x-explicit-tags:
      - mcp_store
    delete:
      operationId: mcp_server_installations_destroy
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this mcp server installation.
        required: true
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '204':
          description: No response body
      x-explicit-tags:
      - mcp_store
  /api/environments/{project_id}/mcp_server_installations/{id}/proxy/:
    post:
      operationId: mcp_server_installations_proxy_create
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this mcp server installation.
        required: true
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/MCPServerInstallation'
          description: ''
      x-explicit-tags:
      - mcp_store
  /api/environments/{project_id}/mcp_server_installations/{id}/tools/:
    get:
      operationId: mcp_server_installations_tools_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this mcp server installation.
        required: true
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMCPServerInstallationToolList'
          description: ''
      x-explicit-tags:
      - mcp_store
  /api/environments/{project_id}/mcp_server_installations/{id}/tools/{tool_name}/:
    patch:
      operationId: mcp_server_installations_tools_partial_update
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this mcp server installation.
        required: true
      - $ref: '#/components/parameters/ProjectIdPath'
      - in: path
        name: tool_name
        schema:
          type: string
          pattern: ^[^/]+$
        required: true
      tags:
      - mcp_store
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedToolApprovalUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedToolApprovalUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedToolApprovalUpdate'
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerInstallationTool'
          description: ''
      x-explicit-tags:
      - mcp_store
  /api/environments/{project_id}/mcp_server_installations/{id}/tools/refresh/:
    post:
      operationId: mcp_server_installations_tools_refresh_create
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this mcp server installation.
        required: true
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MCPServerInstallation'
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMCPServerInstallationToolList'
          description: ''
      x-explicit-tags:
      - mcp_store
  /api/environments/{project_id}/mcp_server_installations/authorize/:
    get:
      operationId: mcp_server_installations_authorize_retrieve
      description: 'Start (or re-start) an OAuth flow.


        Pass ``template_id`` to (re)connect a catalog template, or

        ``installation_id`` to reconnect an existing custom install using its

        cached metadata and per-user DCR creds.'
      parameters:
      - in: query
        name: install_source
        schema:
          enum:
          - posthog
          - posthog-code
          type: string
          default: posthog
          minLength: 1
        description: '* `posthog` - posthog

          * `posthog-code` - posthog-code'
      - in: query
        name: installation_id
        schema:
          type: string
          format: uuid
      - in: query
        name: posthog_code_callback_url
        schema:
          type: string
          default: ''
      - $ref: '#/components/parameters/ProjectIdPath'
      - in: query
        name: template_id
        schema:
          type: string
          format: uuid
      tags:
      - mcp_store
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          description: No response body
      x-explicit-tags:
      - mcp_store
  /api/environments/{project_id}/mcp_server_installations/install_custom/:
    post:
      operationId: mcp_server_installations_install_custom_create
      parameters:
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstallCustom'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/InstallCustom'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/InstallCustom'
        required: true
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthRedirectResponse'
          description: ''
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerInstallation'
          description: ''
      x-explicit-tags:
      - mcp_store
  /api/environments/{project_id}/mcp_server_installations/install_template/:
    post:
      operationId: mcp_server_installations_install_template_create
      parameters:
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstallTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/InstallTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/InstallTemplate'
        required: true
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthRedirectResponse'
          description: ''
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPServerInstallation'
          description: ''
      x-explicit-tags:
      - mcp_store
  /api/environments/{project_id}/mcp_servers/:
    get:
      operationId: mcp_servers_list
      description: 'Lists curated MCP server templates that users can install with one click.


        Templates are seeded by PostHog operators and carry shared, encrypted

        OAuth client credentials. Inactive templates are hidden from the catalog.'
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - $ref: '#/components/parameters/ProjectIdPath'
      tags:
      - mcp_store
      security:
      - PersonalAPIKeyAuth:
        - project:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMCPServerTemplateList'
          description: ''
      x-explicit-tags:
      - mcp_store
components:
  schemas:
    MCPServerInstallation:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        template_id:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        name:
          type: string
          readOnly: true
        icon_key:
          type: string
          readOnly: true
          default: ''
          description: Lowercase key from the linked template for brand icons. Empty if custom install (no template).
        display_name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          maxLength: 2048
        description:
          type: string
        auth_type:
          $ref: '#/components/schemas/MCPAuthTypeEnum'
        is_enabled:
          type: boolean
        needs_reauth:
          type: boolean
          readOnly: true
        pending_oauth:
          type: boolean
          readOnly: true
        proxy_url:
          type: string
          readOnly: true
        tool_count:
          type: integer
          readOnly: true
          description: Number of live (non-removed) tools exposed by this installation.
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
      required:
      - created_at
      - icon_key
      - id
      - name
      - needs_reauth
      - pending_oauth
      - proxy_url
      - template_id
      - tool_count
      - updated_at
    InstallTemplate:
      type: object
      properties:
        template_id:
          type: string
          format: uuid
        api_key:
          type: string
          default: ''
        install_source:
          allOf:
          - $ref: '#/components/schemas/InstallSourceEnum'
          default: posthog
        posthog_code_callback_url:
          type: string
          default: ''
      required:
      - template_id
    MCPServerInstallationTool:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        tool_name:
          type: string
          readOnly: true
        display_name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        input_schema:
          readOnly: true
        approval_state:
          $ref: '#/components/schemas/MCPServerInstallationToolApprovalStateEnum'
        last_seen_at:
          type: string
          format: date-time
          readOnly: true
        removed_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
      required:
      - created_at
      - description
      - display_name
      - id
      - input_schema
      - last_seen_at
      - removed_at
      - tool_name
      - updated_at
    OAuthRedirectResponse:
      type: object
      properties:
        redirect_url:
          type: string
          format: uri
      required:
      - redirect_url
    PaginatedMCPServerTemplateList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MCPServerTemplate'
    CategoryEnum:
      enum:
      - business
      - data
      - design
      - dev
      - infra
      - productivity
      type: string
      description: '* `business` - Business Operations

        * `data` - Data & Analytics

        * `design` - Design & Content

        * `dev` - Developer Tools & APIs

        * `infra` - Infrastructure

        * `productivity` - Productivity & Collaboration'
    PaginatedMCPServerInstallationList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MCPServerInstallation'
    PatchedToolApprovalUpdate:
      type: object
      properties:
        approval_state:
          $ref: '#/components/schemas/ToolApprovalUpdateApprovalStateEnum'
    PatchedMCPServerInstallationUpdate:
      type: object
      properties:
        display_name:
          type: string
        description:
          type: string
        is_enabled:
          type: boolean
    InstallCustomAuthTypeEnum:
      enum:
      - api_key
      - oauth
      type: string
      description: '* `api_key` - api_key

        * `oauth` - oauth'
    MCPServerInstallationToolApprovalStateEnum:
      enum:
      - approved
      - needs_approval
      - do_not_use
      type: string
      description: '* `approved` - Approved

        * `needs_approval` - Needs approval

        * `do_not_use` - Do not use'
    InstallSourceEnum:
      enum:
      - posthog
      - posthog-code
      type: string
      description: '* `posthog` - posthog

        * `posthog-code` - posthog-code'
    InstallCustom:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          maxLength: 2048
        auth_type:
          $ref: '#/components/schemas/InstallCustomAuthTypeEnum'
        api_key:
          type: string
          default: ''
        description:
          type: string
          default: ''
        client_id:
          type: string
          default: ''
        client_secret:
          type: string
          default: ''
        install_source:
          allOf:
          - $ref: '#/components/schemas/InstallSourceEnum'
          default: posthog
        posthog_code_callback_url:
          type: string
          default: ''
      required:
      - auth_type
      - name
      - url
    PaginatedMCPServerInstallationToolList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MCPServerInstallationTool'
    MCPAuthTypeEnum:
      enum:
      - api_key
      - oauth
      type: string
      description: '* `api_key` - API Key

        * `oauth` - OAuth'
    MCPServerTemplate:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          maxLength: 2048
        docs_url:
          type: string
          format: uri
          maxLength: 2048
        description:
          type: string
        auth_type:
          $ref: '#/components/schemas/MCPAuthTypeEnum'
        icon_key:
          type: string
          maxLength: 100
        category:
          $ref: '#/components/schemas/CategoryEnum'
      required:
      - id
      - name
      - url
    ToolApprovalUpdateApprovalStateEnum:
      enum:
      - approved
      - needs_approval
      - do_not_use
      type: string
      description: '* `approved` - approved

        * `needs_approval` - needs_approval

        * `do_not_use` - do_not_use'
  parameters:
    ProjectIdPath:
      in: path
      name: project_id
      required: true
      schema:
        type: string
      description: Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
  securitySchemes:
    PersonalAPIKeyAuth:
      type: http
      scheme: bearer
x-tagGroups:
- name: All endpoints
  tags:
  - LLM Analytics
  - actions
  - activity_log
  - activity_logs
  - advanced_activity_logs
  - alerts
  - annotations
  - approval_policies
  - batch_exports
  - cdp
  - change_requests
  - code
  - code-invites
  - cohorts
  - comments
  - conversations
  - core
  - customer_analytics
  - customer_journeys
  - customer_profile_configs
  - dashboard_templates
  - dashboards
  - data_color_themes
  - data_modeling_jobs
  - data_warehouse
  - dataset_items
  - datasets
  - desktop_recordings
  - domains
  - early_access_feature
  - early_access_features
  - elements
  - endpoints
  - environments
  - error_tracking
  - evaluation_runs
  - evaluations
  - event_definitions
  - event_filter
  - event_schemas
  - events
  - experiment_holdouts
  - experiment_saved_metrics
  - experiments
  - exports
  - external_data_schemas
  - external_data_sources
  - feature_flags
  - file_system
  - file_system_shortcut
  - flag_value
  - groups
  - groups_types
  - health_issues
  - heatmap_screenshots
  - heatmaps
  - hog_flows
  - hog_function_templates
  - hog_functions
  - insight_variables
  - insights
  - integrations
  - invites
  - js-snippet
  - legal_documents
  - lineage
  - live_debugger_breakpoints
  - llm_analytics
  - llm_prompts
  - llm_skills
  - logs
  - managed_viewsets
  - max
  - max_tools
  - mcp_server_installations
  - mcp_servers
  - mcp_store
  - mcp_tools
  - members
  - notebooks
  - oauth_applications
  - object_media_previews
  - organizations
  - persisted_folder
  - persons
  - platform_features
  - plugin_configs
  - product_analytics
  - product_tours
  - project_secret_api_keys
  - projects
  - property_definitions
  - proxy_records
  - public_hog_function_templates
  - query
  - replay
  - reverse_proxy
  - role_external_references
  - roles
  - sandbox-environments
  - sandbox_environments
  - saved
  - schema_property_groups
  - sdk_doctor
  - session_group_summaries
  - session_recording_playlists
  - session_recordings
  - session_summaries
  - sessions
  - signals
  - subscriptions
  - surveys
  - taggers
  - task-automations
  - task-runs
  - task_automations
  - tasks
  - uploaded_media
  - user_home_settings
  - user_interviews
  - users
  - visual_review
  - warehouse_dag
  - warehouse_model_paths
  - warehouse_saved_queries
  - warehouse_saved_query_folders
  - warehouse_tables
  - warehouse_view_link
  - warehouse_view_links
  - web_analytics
  - web_experiments
  - web_vitals
  - welcome
  - workflows