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

> ## Agent Instructions
> Melso product MCP: https://melso.ai/api/mcp (OAuth; one company per grant). REST: https://melso.ai. Documentation-search MCP: https://docs.melso.ai/mcp. The docs search server does not act on customer accounts.
>
> Use the live tool schema and respect company membership. Ask the person to authorize the exact fiscal document version in the signed-in app. A professional prepares and files included returns after authorization; AI does not file alone. A prepared file or approval receipt is not evidence of filing. Never claim completion from an accepted Task or Run. Keep credentials out of chat and logs. Agents features are internal or by private invitation.

# Upload mcp skill

> MCP OAuth token or Run credential; acts in its workspace. Also served at `/api/mcp/upload-skill`.

Request: Multipart `file:binary` required: a `.zip` or `.skill` archive of one skill folder with its `SKILL.md`, scripts and binary files. Optional `on_conflict`: `fail` (default), `overwrite`, `rename` or `skip`.

Response: `{status:"created"|"updated"|"skipped"|"conflict"|"failed",reason?:string,skill?:SkillResponse,existing_skill?:{id,name}}`.

Status: 201 created; 200 updated or skipped; 400 not a multipart archive; 403 denied; 409 a skill with that name exists; 413 too large. Authentication and resource-access errors follow [Overview](/api-reference/errors).



## OpenAPI

````yaml /api-reference/openapi.json post /mcp/upload-skill
openapi: 3.1.0
info:
  title: Melso API
  version: '2026-10-12'
  description: >-
    Customer integration contracts for Melso. Agents access is internal or by
    private invitation. Fiscal approval remains in the authenticated app.
  contact:
    name: Melso
    url: https://melso.ai/en
servers:
  - url: https://melso.ai
    description: Production API origin
security: []
tags:
  - name: Areas
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Areas operations available within the caller's documented permissions.
  - name: Artifacts
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Artifacts operations available within the caller's documented permissions.
  - name: Authentication
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Authentication operations available within the caller's documented
      permissions.
  - name: Automations
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Automations operations available within the caller's documented
      permissions.
  - name: Companies
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Companies operations available within the caller's documented permissions.
  - name: Execution funding
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Execution funding operations available within the caller's documented
      permissions.
  - name: Files
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Files operations available within the caller's documented permissions.
  - name: GitHub
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      GitHub operations available within the caller's documented permissions.
  - name: Interactions
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Interactions operations available within the caller's documented
      permissions.
  - name: Knowledge
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Knowledge operations available within the caller's documented permissions.
  - name: MCP
    description: MCP operations available within the caller's documented permissions.
  - name: Messages
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Messages operations available within the caller's documented permissions.
  - name: OAuth
    description: OAuth operations available within the caller's documented permissions.
  - name: Private network
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Private network operations available within the caller's documented
      permissions.
  - name: Runs
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Runs operations available within the caller's documented permissions.
  - name: Skills
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Skills operations available within the caller's documented permissions.
  - name: Tasks
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Tasks operations available within the caller's documented permissions.
  - name: Vault
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Vault operations available within the caller's documented permissions.
  - name: Webhooks
    description: >-
      <Info>Melso Agents is available only internally or by private invitation.
      Agents-specific features require existing access. For the autónomo fiscal
      service, see [Get started](/essentials/quickstart).</Info>


      Webhooks operations available within the caller's documented permissions.
paths:
  /mcp/upload-skill:
    post:
      tags:
        - MCP
      summary: Upload mcp skill
      description: >-
        MCP OAuth token or Run credential; acts in its workspace. Also served at
        `/api/mcp/upload-skill`.


        Request: Multipart `file:binary` required: a `.zip` or `.skill` archive
        of one skill folder with its `SKILL.md`, scripts and binary files.
        Optional `on_conflict`: `fail` (default), `overwrite`, `rename` or
        `skip`.


        Response:
        `{status:"created"|"updated"|"skipped"|"conflict"|"failed",reason?:string,skill?:SkillResponse,existing_skill?:{id,name}}`.


        Status: 201 created; 200 updated or skipped; 400 not a multipart
        archive; 403 denied; 409 a skill with that name exists; 413 too large.
        Authentication and resource-access errors follow
        [Overview](/api-reference/errors).
      operationId: uploadMCPSkill2
      parameters: []
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                scope:
                  type: string
                area_ids:
                  type: string
                on_conflict:
                  type: string
                name:
                  type: string
              required:
                - file
      responses:
        '200':
          description: >-
            Imported Skill result; conflict handling can return an existing
            Skill.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillImportResult'
        '201':
          description: New Skill imported.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillImportResult'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Credential, company or resource access denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource unavailable to this caller.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Request failed; see the operation contract for the condition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: Request failed; see the operation contract for the condition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited; respect Retry-After when present.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - mcpOAuth:
            - mcp:tools
        - runToken: []
components:
  schemas:
    SkillImportResult:
      type: object
      properties:
        status:
          type: string
        reason:
          type: string
        skill:
          anyOf:
            - $ref: '#/components/schemas/SkillWithFilesResponse'
            - type: 'null'
        existing_skill:
          anyOf:
            - $ref: '#/components/schemas/ExistingSkillIdentity'
            - type: 'null'
      required:
        - status
    Error:
      type: object
      properties:
        error:
          type: string
        code:
          type: string
      required:
        - error
      additionalProperties: true
    SkillWithFilesResponse:
      type: object
      properties:
        id:
          type: string
        workspace_id:
          type: string
        name:
          type: string
        description:
          type: string
        content:
          type: string
        config: {}
        created_by:
          anyOf:
            - type: string
            - type: 'null'
        created_at:
          type: string
        updated_at:
          type: string
        scope:
          type: string
        area_ids:
          type: array
          items:
            type: string
        files:
          type: array
          items:
            $ref: '#/components/schemas/SkillFileResponse'
        source_edited:
          anyOf:
            - type: boolean
            - type: 'null'
      required:
        - id
        - workspace_id
        - name
        - description
        - content
        - config
        - created_by
        - created_at
        - updated_at
        - scope
        - area_ids
        - files
    ExistingSkillIdentity:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        created_by:
          type: string
        can_overwrite:
          type: boolean
      required:
        - id
        - name
    SkillFileResponse:
      type: object
      properties:
        id:
          type: string
        skill_id:
          type: string
        path:
          type: string
        content:
          type: string
        encoding:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - skill_id
        - path
        - content
        - encoding
        - created_at
        - updated_at
  securitySchemes:
    mcpOAuth:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.melso.ai/oauth/authorize
          tokenUrl: https://melso.ai/oauth/token
          scopes:
            mcp:tools: Call the tools available in the company selected at consent.
    runToken:
      type: http
      scheme: bearer
      description: Active Run token; execution-scoped permissions apply.

````

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