tools:
  - name: list-prompts
    description: Get a list of Opik prompts
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - page
        - size
      properties:
        page:
          type: number
          description: Page number for pagination
        size:
          type: number
          description: Number of items per page
      additionalProperties: false
  - name: create-prompt
    description: Create a new prompt
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - name
      properties:
        name:
          type: string
          description: Name of the prompt
      additionalProperties: false
  - name: create-prompt-version
    description: Create a new version of a prompt
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - name
        - template
        - commit_message
      properties:
        name:
          type: string
          description: Name of the original prompt
        template:
          type: string
          description: Template content for the prompt version
        commit_message:
          type: string
          description: Commit message for the prompt version
      additionalProperties: false
  - name: get-prompt-by-id
    description: Get a single prompt by ID
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - promptId
      properties:
        promptId:
          type: string
          description: ID of the prompt to fetch
      additionalProperties: false
  - name: update-prompt
    description: Update a prompt
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - promptId
        - name
      properties:
        name:
          type: string
          description: New name for the prompt
        promptId:
          type: string
          description: ID of the prompt to update
      additionalProperties: false
  - name: delete-prompt
    description: Delete a prompt
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - promptId
      properties:
        promptId:
          type: string
          description: ID of the prompt to delete
      additionalProperties: false
  - name: list-projects
    description: Get a list of projects/workspaces
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - page
        - size
      properties:
        page:
          type: number
          description: Page number for pagination
        size:
          type: number
          description: Number of items per page
        sortBy:
          type: string
          description: Sort projects by this field
        sortOrder:
          type: string
          description: Sort order (asc or desc)
        workspaceName:
          type: string
          description: Workspace name to use instead of the default
      additionalProperties: false
  - name: get-project-by-id
    description: Get a single project by ID
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - projectId
      properties:
        projectId:
          type: string
          description: ID of the project to fetch
        workspaceName:
          type: string
          description: Workspace name to use instead of the default
      additionalProperties: false
  - name: create-project
    description: Create a new project/workspace
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - name
      properties:
        name:
          type: string
          description: Name of the project
        description:
          type: string
          description: Description of the project
        workspaceName:
          type: string
          description: Workspace name to use instead of the default
      additionalProperties: false
  - name: update-project
    description: Update a project
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - projectId
      properties:
        name:
          type: string
          description: New project name
        projectId:
          type: string
          description: ID of the project to update
        description:
          type: string
          description: New project description
        workspaceName:
          type: string
          description: Workspace name to use instead of the default
      additionalProperties: false
  - name: delete-project
    description: Delete a project
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - projectId
      properties:
        projectId:
          type: string
          description: ID of the project to delete
        workspaceName:
          type: string
          description: Workspace name to use instead of the default
      additionalProperties: false
  - name: list-traces
    description: Get a list of traces
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - page
        - size
      properties:
        page:
          type: number
          description: Page number for pagination
        size:
          type: number
          description: Number of items per page
        projectId:
          type: string
          description: Project ID to filter traces
        projectName:
          type: string
          description: Project name to filter traces
        workspaceName:
          type: string
          description: Workspace name to use instead of the default
      additionalProperties: false
  - name: get-trace-by-id
    description: Get a single trace by ID
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - traceId
      properties:
        traceId:
          type: string
          description: ID of the trace to fetch
        workspaceName:
          type: string
          description: Workspace name to use instead of the default
      additionalProperties: false
  - name: get-trace-stats
    description: Get statistics for traces
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties:
        endDate:
          type: string
          description: End date in ISO format (YYYY-MM-DD)
        projectId:
          type: string
          description: Project ID to filter traces
        startDate:
          type: string
          description: Start date in ISO format (YYYY-MM-DD)
        projectName:
          type: string
          description: Project name to filter traces
        workspaceName:
          type: string
          description: Workspace name to use instead of the default
      additionalProperties: false
  - name: get-metrics
    description: Get metrics data
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties:
        endDate:
          type: string
          description: End date in ISO format (YYYY-MM-DD)
        projectId:
          type: string
          description: Optional project ID to filter metrics
        startDate:
          type: string
          description: Start date in ISO format (YYYY-MM-DD)
        metricName:
          type: string
          description: Optional metric name to filter
        projectName:
          type: string
          description: Optional project name to filter metrics
      additionalProperties: false
  - name: get-server-info
    description: Get information about the Opik server configuration
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties:
        random_string:
          type: string
          description: Dummy parameter for no-parameter tools
      additionalProperties: false
  - name: get-opik-help
    description: Get contextual help about Opik Comet's capabilities
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - topic
      properties:
        topic:
          type: string
          description: The topic to get help about (prompts, projects, traces, metrics, or
            general)
        subtopic:
          type: string
          description: Optional subtopic for more specific help
      additionalProperties: false
  - name: get-opik-examples
    description: Get examples of how to use Opik Comet's API for specific tasks
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      required:
        - task
      properties:
        task:
          type: string
          description: The task to get examples for (e.g., 'create prompt', 'analyze
            traces', 'monitor costs')
      additionalProperties: false
  - name: get-opik-tracing-info
    description: Get information about Opik's tracing capabilities and how to use them
    inputSchema:
      type: object
      $schema: http://json-schema.org/draft-07/schema#
      properties:
        topic:
          type: string
          description: Optional specific tracing topic to get information about (e.g.,
            'spans', 'distributed', 'multimodal', 'annotations')
      additionalProperties: false
