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

# Set whose connection projects use for an MCP server

> Sets the server's default credential policy, which every project enabling it takes, and the policy of every project that enables it now, replacing what each set for itself. Null exactly for a server that needs no credential: otherwise mcp_credential_policy_required, and a policy for one that needs none mcp_credential_policy_not_applicable. The org policy is refused with mcp_credential_policy_org_unavailable unless the organization has its own connection to the server. A server a plugin bundles is refused with mcp_server_plugin_bundled: it takes its plugin's.



## OpenAPI

````yaml api-reference/openapi.v1.json PUT /mcp-servers/{mcpServerID}/default-credential-policy
openapi: 3.1.0
info:
  title: Aether Public API
  version: 0.1.0
  description: >-
    The versioned, public Aether REST API. Authenticate with an `aether_`
    platform API key or a session token.
servers:
  - url: https://api.runaether.dev/v1
security:
  - bearerAuth: []
paths:
  /mcp-servers/{mcpServerID}/default-credential-policy:
    put:
      tags:
        - mcp-servers
      summary: Set whose connection projects use for an MCP server
      description: >-
        Sets the server's default credential policy, which every project
        enabling it takes, and the policy of every project that enables it now,
        replacing what each set for itself. Null exactly for a server that needs
        no credential: otherwise mcp_credential_policy_required, and a policy
        for one that needs none mcp_credential_policy_not_applicable. The org
        policy is refused with mcp_credential_policy_org_unavailable unless the
        organization has its own connection to the server. A server a plugin
        bundles is refused with mcp_server_plugin_bundled: it takes its
        plugin's.
      operationId: setMcpServerDefaultCredentialPolicy
      parameters:
        - in: path
          name: mcpServerID
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetDefaultCredentialPolicyRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpServerResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ErrorResponse'
                  - $ref: '#/components/schemas/OrgAuthorizationErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpServerErrorResponse'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ErrorResponse'
                  - $ref: '#/components/schemas/McpServerErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service Unavailable
components:
  schemas:
    SetDefaultCredentialPolicyRequest:
      additionalProperties: false
      properties:
        credential_policy:
          description: >-
            Null exactly for a server or plugin that needs no credential. org
            needs the organization's own connection to every server it covers.
          enum:
            - creator
            - org
          type:
            - string
            - 'null'
      required:
        - credential_policy
      type: object
    McpServerResponse:
      additionalProperties: false
      properties:
        mcp_server:
          $ref: '#/components/schemas/McpServer'
      required:
        - mcp_server
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        code:
          type: string
        error:
          minLength: 1
          type: string
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
      required:
        - error
      type: object
    OrgAuthorizationErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - org_membership_required
            - org_role_insufficient
            - org_suspended
            - account_deleting
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
        - code
      type: object
    McpServerErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - mcp_server_key_invalid
            - mcp_server_key_reserved
            - mcp_server_key_taken
            - mcp_server_display_name_invalid
            - mcp_server_url_invalid
            - mcp_server_runtime_invalid
            - mcp_server_package_invalid
            - mcp_server_version_unpinned
            - mcp_server_args_invalid
            - mcp_server_env_invalid
            - mcp_server_kind_change_refused
            - mcp_server_address_refused
            - mcp_server_unreachable
            - mcp_server_not_mcp
            - mcp_server_auth_unsupported
            - mcp_server_auth_discovery_failed
            - mcp_server_response_too_large
            - mcp_credential_policy_required
            - mcp_credential_policy_not_applicable
            - mcp_credential_policy_org_unavailable
            - mcp_server_api_key_not_applicable
            - mcp_connection_static_secret_not_accepted
            - mcp_connection_secret_invalid
            - mcp_connection_server_changed
            - mcp_server_aether_managed
            - mcp_connection_github_not_connected
            - mcp_connection_org_not_offered
            - mcp_server_headers_invalid
            - mcp_connection_oauth_not_accepted
            - mcp_oauth_not_advertised
            - mcp_oauth_pkce_unsupported
            - mcp_oauth_app_required
            - mcp_oauth_registration_failed
            - mcp_server_plugin_bundled
            - mcp_repo_config_invalid
            - mcp_oauth_app_issuer_invalid
            - mcp_oauth_app_invalid
            - mcp_oauth_app_auth_method_unsupported
            - mcp_server_directory_managed
            - mcp_server_not_from_directory
            - mcp_server_directory_moved
            - integration_not_in_directory
            - integration_shape_changed
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
        - code
      type: object
    McpServer:
      discriminator:
        mapping:
          http:
            $ref: '#/components/schemas/McpHTTPServer'
          stdio:
            $ref: '#/components/schemas/McpStdioServer'
        propertyName: kind
      oneOf:
        - $ref: '#/components/schemas/McpHTTPServer'
        - $ref: '#/components/schemas/McpStdioServer'
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    McpHTTPServer:
      additionalProperties: false
      properties:
        auth:
          enum:
            - none
            - static_secret
            - oauth
          type: string
        connection_kind:
          enum:
            - static_secret
            - oauth
            - github_user_credential
          type:
            - string
            - 'null'
        created_at:
          format: date-time
          type: string
        default_credential_policy:
          enum:
            - creator
            - org
          type:
            - string
            - 'null'
        display_name:
          type: string
        headers:
          additionalProperties:
            type: string
          type: object
        homepage:
          description: >-
            The integration's homepage, as Aether's integration directory names
            it; null unless source is directory.
          type:
            - string
            - 'null'
        id:
          format: uuid
          type: string
        key:
          type: string
        kind:
          enum:
            - http
          type: string
        plugin_id:
          format: uuid
          type:
            - string
            - 'null'
        required:
          type: boolean
        secret_names:
          items:
            type: string
          type: array
        source:
          enum:
            - manual
            - aether
            - plugin
            - directory
          type: string
        updated_at:
          format: date-time
          type: string
        url:
          type: string
      required:
        - kind
        - id
        - key
        - display_name
        - url
        - headers
        - auth
        - source
        - connection_kind
        - required
        - default_credential_policy
        - secret_names
        - plugin_id
        - homepage
        - created_at
        - updated_at
      type: object
    McpStdioServer:
      additionalProperties: false
      properties:
        args:
          items:
            type: string
          type: array
        auth:
          enum:
            - none
            - static_secret
          type: string
        connection_kind:
          enum:
            - static_secret
          type:
            - string
            - 'null'
        created_at:
          format: date-time
          type: string
        default_credential_policy:
          enum:
            - creator
            - org
          type:
            - string
            - 'null'
        display_name:
          type: string
        env:
          additionalProperties:
            $ref: '#/components/schemas/McpStdioEnvValue'
          type: object
        id:
          format: uuid
          type: string
        key:
          type: string
        kind:
          enum:
            - stdio
          type: string
        package:
          type: string
        required:
          type: boolean
        runtime:
          enum:
            - npx
            - uvx
            - python
          type: string
        secret_names:
          items:
            type: string
          type: array
        source:
          enum:
            - manual
          type: string
        updated_at:
          format: date-time
          type: string
        version:
          type: string
      required:
        - kind
        - id
        - key
        - display_name
        - runtime
        - package
        - version
        - args
        - env
        - auth
        - source
        - connection_kind
        - required
        - default_credential_policy
        - secret_names
        - created_at
        - updated_at
      type: object
    McpStdioEnvValue:
      discriminator:
        mapping:
          plain:
            $ref: '#/components/schemas/McpStdioPlainEnv'
          secret:
            $ref: '#/components/schemas/McpStdioSecretEnv'
        propertyName: kind
      oneOf:
        - $ref: '#/components/schemas/McpStdioPlainEnv'
        - $ref: '#/components/schemas/McpStdioSecretEnv'
    McpStdioPlainEnv:
      additionalProperties: false
      properties:
        kind:
          enum:
            - plain
          type: string
        value:
          type: string
      required:
        - kind
        - value
      type: object
    McpStdioSecretEnv:
      additionalProperties: false
      properties:
        kind:
          enum:
            - secret
          type: string
      required:
        - kind
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````

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