> ## Documentation Index
> Fetch the complete documentation index at: https://platform.atlan.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> To act on Atlan objects, use the Atlan MCP server at https://api.atlan.com/mcp or the SDK. To install or publish skills from a terminal, use the `aireg` CLI; `aireg --map json` prints its command map. The `atlanai` CLI is deprecated. Run a read-only identity check before any write.
> The docs MCP server at /mcp searches these docs only. It cannot read or change Atlan objects.
> SDK packages: Python `atlanai` (PyPI) and TypeScript `@atlanai/sdk` (npm). Show Python first, then TypeScript.
> These docs cover Atlan Trident, Atlan's hosted product; AI Registry is its registry of skills and agents. Registry OSS is Atlan's open-source agent registry: the registry specification and its aireg CLI, with their own public repository, docs and release notes; /open-source on this site links them. Registry OSS is open source; Atlan Trident is not. Answer generic aireg or specification questions from the project's docs, and use these docs for Atlan-specific setup such as the Atlan adapter, sign-in and workspaces.

# Author a new MCP definition



## OpenAPI

````yaml /public-openapi.json post /mcp/v1/definitions
openapi: 3.1.0
info:
  title: Atlan public API
  version: current
  description: >-
    Public HTTP API reference for Registry, Skills, Agents, outputs, files, MCP
    servers and tools, Model Gateway, and OTLP telemetry ingestion.
servers:
  - url: https://api.atlan.com
    description: Atlan API base URL
security:
  - bearer: []
tags:
  - name: Core
  - name: Skill
  - name: Agent
  - name: Files
  - name: Knowledge
  - name: MCP
  - name: Observability
  - name: API proxy
  - name: Credentials
  - name: Store
  - name: Apps
  - name: Evals
  - name: Ontologies
  - name: Ontology bindings
  - name: Slack
  - name: GitHub
  - name: Objectives
  - name: Repositories
  - name: Models
paths:
  /mcp/v1/definitions:
    post:
      tags:
        - MCP
      summary: Author a new MCP definition
      operationId: mcp.createDefinition
      parameters:
        - name: Content-Encoding
          in: header
          required: false
          schema:
            type: string
            enum:
              - base64
              - gzip, base64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/mcp-mcp-AuthorDefinition'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mcp-mcp-AuthoredDefinition'
          description: HTTP 200 response.
        '400':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - properties:
                      code:
                        enum:
                          - invalid_base64
                          - invalid_gzip
                          - invalid_json
                          - invalid_query
                          - invalid_request
                        type: string
                    required:
                      - code
                    type: object
          description: HTTP 400 response.
        '401':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - alg_mismatch
                          - alg_not_allowed
                          - audience_mismatch
                          - invalid_api_key
                          - missing_identity
                          - missing_org
                          - missing_user
                          - signature_invalid
                          - token_expired
                          - token_malformed
                          - token_missing
                          - token_not_yet_valid
                          - token_rejected
                          - token_service_account_unbound
                          - unauthorized
                          - unknown_account
                          - unknown_key
                          - untrusted_issuer
          description: HTTP 401 response.
        '403':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - access_denied
                          - account_suspended
                          - forbidden
                          - platform_principal_refused
          description: HTTP 403 response.
        '409':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - conflict
          description: HTTP 409 response.
        '412':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - precondition_failed
          description: HTTP 412 response.
        '413':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - compressed_payload_too_large
                          - decompressed_payload_too_large
                          - payload_too_large
          description: HTTP 413 response.
        '415':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - unsupported_content_encoding
                          - unsupported_content_type
          description: HTTP 415 response.
        '422':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - validation_failed
          description: HTTP 422 response.
        '429':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - rate_limited
          description: HTTP 429 response.
        '500':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - internal_error
          description: HTTP 500 response.
        '503':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - auth_unavailable
                          - service_overloaded
                          - service_unavailable
          description: HTTP 503 response.
        '504':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/mcp-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - request_timeout
          description: HTTP 504 response.
components:
  schemas:
    mcp-mcp-AuthorDefinition:
      additionalProperties: false
      properties:
        content:
          $ref: '#/components/schemas/mcp-mcp-DefinitionContent'
        expected_definition_version_id:
          type:
            - string
            - 'null'
        is_dry_run:
          type: boolean
      required:
        - content
        - is_dry_run
      type: object
    mcp-mcp-AuthoredDefinition:
      properties:
        changes_from_approved:
          items:
            $ref: '#/components/schemas/mcp-mcp-DefinitionChange'
          type:
            - array
            - 'null'
        changes_from_head:
          items:
            $ref: '#/components/schemas/mcp-mcp-DefinitionChange'
          type: array
        definition_fingerprint:
          type:
            - string
            - 'null'
        definition_id:
          type:
            - string
            - 'null'
        definition_version_id:
          type:
            - string
            - 'null'
        error:
          oneOf:
            - $ref: '#/components/schemas/mcp-mcp-DefinitionContentError'
            - type: 'null'
        is_changed:
          type: boolean
        record:
          oneOf:
            - $ref: '#/components/schemas/mcp-mcp-DefinitionRecord'
            - type: 'null'
      required:
        - is_changed
        - changes_from_head
      type: object
    mcp-ProblemDetails:
      type: object
      required:
        - title
        - status
        - detail
        - code
      properties:
        code:
          type: string
        detail:
          type: string
        status:
          type: integer
          format: int32
          minimum: 0
        title:
          type: string
        trace_id:
          type:
            - string
            - 'null'
    mcp-mcp-DefinitionContent:
      additionalProperties: false
      properties:
        icon:
          type:
            - string
            - 'null'
        origin:
          $ref: '#/components/schemas/mcp-mcp-DefinitionOrigin'
        source:
          $ref: '#/components/schemas/mcp-mcp-DefinitionSource'
        title:
          type:
            - string
            - 'null'
        upstream_name:
          type: string
        upstream_version:
          type: string
      required:
        - origin
        - upstream_name
        - upstream_version
        - description
        - source
      type: object
    mcp-mcp-DefinitionChange:
      properties:
        affects_setup:
          type: boolean
        after:
          type:
            - object
            - 'null'
        area:
          $ref: '#/components/schemas/mcp-mcp-DefinitionChangeArea'
        before:
          type:
            - object
            - 'null'
        kind:
          $ref: '#/components/schemas/mcp-mcp-DefinitionChangeKind'
        pointer:
          type: string
        summary:
          type: string
      required:
        - area
        - kind
        - pointer
        - affects_setup
        - summary
      type: object
    mcp-mcp-DefinitionContentError:
      properties:
        code:
          type: string
        pointer:
          type: string
      required:
        - code
        - pointer
      type: object
    mcp-mcp-DefinitionRecord:
      additionalProperties: false
      properties:
        curation:
          oneOf:
            - $ref: '#/components/schemas/mcp-mcp-DefinitionCuration'
            - type: 'null'
        icon:
          type:
            - string
            - 'null'
        origin:
          oneOf:
            - $ref: '#/components/schemas/mcp-mcp-DefinitionOrigin'
            - type: 'null'
        schema_version:
          type: integer
          format: int32
          minimum: 0
        setup:
          $ref: '#/components/schemas/mcp-mcp-SetupPlan'
        source:
          oneOf:
            - $ref: '#/components/schemas/mcp-mcp-DefinitionSource'
            - type: 'null'
        source_digest:
          type: string
        source_url:
          type: string
        title:
          type:
            - string
            - 'null'
        upstream_name:
          type: string
        upstream_schema:
          type: string
        upstream_version:
          type: string
      required:
        - schema_version
        - source_url
        - upstream_name
        - upstream_version
        - upstream_schema
        - source_digest
        - description
        - setup
      type: object
    mcp-mcp-DefinitionOrigin:
      enum:
        - official_registry
        - authored
      type: string
    mcp-mcp-DefinitionSource:
      additionalProperties: false
      properties:
        remotes:
          items:
            $ref: '#/components/schemas/mcp-mcp-DefinitionSourceRemote'
          type: array
        upstream:
          type:
            - object
            - 'null'
      required:
        - remotes
      type: object
    mcp-mcp-DefinitionChangeArea:
      enum:
        - identity
        - upstream
        - display
        - icon
        - remote
        - endpoint
        - host_suffixes
        - input
        - header
      type: string
    mcp-mcp-DefinitionChangeKind:
      enum:
        - added
        - removed
        - changed
      type: string
    mcp-mcp-DefinitionCuration:
      additionalProperties: false
      properties:
        commit_sha:
          type: string
        path:
          type: string
        profile_sha256:
          type: string
        repository_url:
          type: string
        schema_version:
          type: integer
          format: int32
          minimum: 0
        snapshot_sha256:
          type:
            - string
            - 'null'
        source_digest:
          type: string
        upstream_version:
          type: string
      required:
        - schema_version
        - repository_url
        - commit_sha
        - path
        - profile_sha256
        - upstream_version
        - source_digest
      type: object
    mcp-mcp-SetupPlan:
      additionalProperties: false
      properties:
        compiler_version:
          type: integer
          format: int32
          minimum: 0
        remotes:
          items:
            $ref: '#/components/schemas/mcp-mcp-SetupRemote'
          type: array
        requires_auth_discovery:
          type: boolean
        schema_version:
          type: integer
          format: int32
          minimum: 0
      required:
        - schema_version
        - compiler_version
        - requires_auth_discovery
        - remotes
      type: object
    mcp-mcp-DefinitionSourceRemote:
      additionalProperties: false
      properties:
        host_suffixes:
          type: array
          items:
            type: string
        remote:
          type: object
        upstream_index:
          type: integer
          format: int32
          minimum: 0
      required:
        - upstream_index
        - remote
      type: object
    mcp-mcp-SetupRemote:
      additionalProperties: false
      properties:
        endpoint_template:
          type: string
        headers:
          items:
            $ref: '#/components/schemas/mcp-mcp-SetupHeader'
          type: array
        host_suffixes:
          type: array
          items:
            type: string
        upstream_index:
          type: integer
          format: int32
          minimum: 0
        variables:
          additionalProperties:
            $ref: '#/components/schemas/mcp-mcp-SetupInput'
          propertyNames:
            type: string
          type: object
      required:
        - upstream_index
        - endpoint_template
        - variables
        - headers
      type: object
    mcp-mcp-SetupHeader:
      additionalProperties: false
      properties:
        input:
          $ref: '#/components/schemas/mcp-mcp-SetupInput'
        name:
          type: string
        variables:
          additionalProperties:
            $ref: '#/components/schemas/mcp-mcp-SetupInput'
          propertyNames:
            type: string
          type: object
      required:
        - name
        - input
        - variables
      type: object
    mcp-mcp-SetupInput:
      type: object
      required:
        - format
        - is_required
        - is_secret
        - choices
      properties:
        choices:
          type: array
          items:
            type: string
        default:
          type:
            - string
            - 'null'
        format:
          type: string
        is_required:
          type: boolean
        is_secret:
          type: boolean
        placeholder:
          type:
            - string
            - 'null'
        value:
          type:
            - string
            - 'null'
      additionalProperties: false
  securitySchemes:
    bearer:
      bearerFormat: JWT
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.