> ## 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 MCP: https://mcp.melso.ai/mcp (OAuth; one company per connection). Documentation-search MCP: https://docs.melso.ai/mcp; it does not act on customer accounts.
>
> Use the live tool list and respect company membership. Ask the person to approve the exact invoice or tax return version in the signed-in app. Melso's professionals prepare and file included returns after approval; an AI assistant does not file. A prepared file or an approval is not evidence of filing: only the AEAT's reference and receipt are. Keep credentials out of chat and logs.

# Consultar gestiones de alta y SL — gestiones_read MCP

> MCP gestiones_read: read case kinds, cases, documents and approval links. Live in the app and MCP.

Read-only actions. Open and follow this company's cases with Melso's professionals: tax forms (modelo); for an autónomo, self-employed registration (alta) and annual income tax (renta); incorporating an S.L.; and any other kind that kinds lists with its details schema and price. Save drafts, send covered cases, exchange messages and documents, answer information requests and request changes. get includes the conversation, versions, request and documents, and for a case sold once what Melso paid on the customer's behalf and its invoice. Approving a version and paying a case sold once stay with the owner in the web app; no action files a return or pays. Monetary amounts are EUR decimal strings unless named in cents. Each action accepts only its own fields (\* required): list; get(id\*); kinds; request\_approval(id\*); document\_get(id\*, attachment\_id\*).

**Availability:** Autónomo / Empresa.

**Access:** Live in the Melso app and over MCP for a signed-in person. Where the partner REST API covers the same area, that path is private beta until Melso enables your account. See [Access and pricing](https://docs.melso.ai/api/access.md).

The live tool list is authoritative: the company's plan and your role can narrow this contract. [Understand access](https://docs.melso.ai/mcp/permissions.md).

## When to use

Use `gestiones_read` for `document_get`, `get`, `kinds`, `list`, `request_approval`. Use [`gestiones`](https://docs.melso.ai/mcp/tools/gestiones) for the companion actions. The live tool list determines availability.

## Input

```json theme={null}
{
  "additionalProperties": false,
  "oneOf": [
    {
      "additionalProperties": false,
      "properties": {
        "action": {
          "const": "list"
        }
      },
      "required": [
        "action"
      ],
      "type": "object"
    },
    {
      "additionalProperties": false,
      "properties": {
        "action": {
          "const": "get"
        },
        "id": {
          "description": "Case UUID from list or get, belonging to this company.",
          "type": "string"
        }
      },
      "required": [
        "action",
        "id"
      ],
      "type": "object"
    },
    {
      "additionalProperties": false,
      "properties": {
        "action": {
          "const": "kinds"
        }
      },
      "required": [
        "action"
      ],
      "type": "object"
    },
    {
      "additionalProperties": false,
      "properties": {
        "action": {
          "const": "request_approval"
        },
        "id": {
          "description": "Case UUID from list or get, belonging to this company.",
          "type": "string"
        }
      },
      "required": [
        "action",
        "id"
      ],
      "type": "object"
    },
    {
      "additionalProperties": false,
      "properties": {
        "action": {
          "const": "document_get"
        },
        "attachment_id": {
          "description": "Attachment UUID in the case's documents or versions from get.",
          "type": "string"
        },
        "id": {
          "description": "Case UUID from list or get, belonging to this company.",
          "type": "string"
        }
      },
      "required": [
        "action",
        "id",
        "attachment_id"
      ],
      "type": "object"
    }
  ],
  "properties": {
    "action": {
      "enum": [
        "list",
        "get",
        "kinds",
        "request_approval",
        "document_get"
      ],
      "type": "string"
    },
    "attachment_id": {
      "description": "Attachment UUID in the case's documents or versions from get.",
      "type": "string"
    },
    "id": {
      "description": "Case UUID from list or get, belonging to this company.",
      "type": "string"
    }
  },
  "required": [
    "action"
  ],
  "type": "object"
}
```

## Actions

The tool's schema combines the fields of every action. Each action accepts only its own fields below; send `action` with them.

### Read actions

These actions only read. They change nothing.

> [accordion] document\_get
>
> Read a document linked to this case, including a professional draft or receipt, as content\_base64 with filename and content\_type. Decode the bytes unchanged. At most 15 MB; larger documents are read in the authenticated web app.
>
> ```json theme={null}
> {
>   "additionalProperties": false,
>   "properties": {
>     "attachment_id": {
>       "description": "Attachment UUID in the case's documents or versions from get.",
>       "type": "string"
>     },
>     "id": {
>       "description": "Case UUID from list or get, belonging to this company.",
>       "type": "string"
>     }
>   },
>   "required": [
>     "id",
>     "attachment_id"
>   ],
>   "type": "object"
> }
> ```

> [accordion] get
>
> Read one case with its conversation, versions, pending information request and documents, including drafts and filing receipts.
>
> ```json theme={null}
> {
>   "additionalProperties": false,
>   "properties": {
>     "id": {
>       "description": "Case UUID from list or get, belonging to this company.",
>       "type": "string"
>     }
>   },
>   "required": [
>     "id"
>   ],
>   "type": "object"
> }
> ```

> [accordion] kinds
>
> List the kinds of case this company can open: what each is, its details\_schema (JSON Schema for create), whether a member of the company approves a draft, and how it is paid: payment.mode plan (included when payment.covered) or service (a one-off price, payment.amount\_cents in EUR cents, paid by the owner in the web app before it is sent).
>
> ```json theme={null}
> {
>   "additionalProperties": false,
>   "properties": {},
>   "type": "object"
> }
> ```

> [accordion] list
>
> List the company's cases, newest first, with status, kind, deadlines, current and approved versions, filing reference and tax-service coverage.
>
> ```json theme={null}
> {
>   "additionalProperties": false,
>   "properties": {},
>   "type": "object"
> }
> ```

> [accordion] request\_approval
>
> Return the current case version and authenticated web page where a member of the company reviews and approves it. Share approval\_url. No MCP action approves, files or pays a return.
>
> ```json theme={null}
> {
>   "additionalProperties": false,
>   "properties": {
>     "id": {
>       "description": "Case UUID from list or get, belonging to this company.",
>       "type": "string"
>     }
>   },
>   "required": [
>     "id"
>   ],
>   "type": "object"
> }
> ```

## Output

`list` returns cases and their status. `get` returns a case with its conversation, versions, information requests and documents. `kinds` returns available kinds and their details schemas. `request_approval` returns the current version and the owner's approval link. `document_get` returns the file as base64. No action approves or files a case.

The result uses MCP `content` blocks; JSON payloads are encoded in text and may also appear in `structuredContent`. Check `isError` before reading a success payload. When the server declares an `outputSchema`, it is reproduced below. Check the action result and its declared fields before reporting success.

### Declared output schema

```json theme={null}
{
  "anyOf": [
    {
      "properties": {
        "gestiones": {
          "items": {
            "properties": {
              "current_version": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "filing_reference": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "id": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "status": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    {
      "properties": {
        "documents": {
          "items": {
            "properties": {},
            "type": "object"
          },
          "type": "array"
        },
        "gestion": {
          "properties": {
            "current_version": {
              "type": [
                "integer",
                "null"
              ]
            },
            "filing_reference": {
              "type": [
                "string",
                "null"
              ]
            },
            "id": {
              "type": "string"
            },
            "kind": {
              "type": "string"
            },
            "status": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "request": {
          "type": [
            "object",
            "null"
          ]
        },
        "versions": {
          "items": {
            "properties": {},
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "gestion"
      ],
      "type": "object"
    },
    {
      "properties": {
        "kinds": {
          "items": {
            "properties": {},
            "type": "object"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    {
      "properties": {
        "approval_required": {
          "type": "boolean"
        },
        "approval_url": {
          "type": "string"
        },
        "is_preview": {
          "type": "boolean"
        },
        "version": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    {
      "properties": {
        "content_base64": {
          "type": "string"
        },
        "content_type": {
          "type": "string"
        },
        "filename": {
          "type": "string"
        }
      },
      "required": [
        "filename",
        "content_type",
        "content_base64"
      ],
      "type": "object"
    }
  ],
  "type": "object"
}
```

## Example

Use the actions of this tool in the order shown; its companion tool covers the other actions. These are the `arguments` of each call, in order.

**1. See what the company can ask for**

```json theme={null}
{
  "action": "kinds"
}
```

**2. Read the case and any question it has**

```json theme={null}
{
  "action": "get",
  "id": "11111111-1111-4111-8111-111111111111"
}
```

The first call as a request. Use an OAuth access token issued for this MCP resource and replace the example identifiers with values from your own company.

```bash theme={null}
curl --fail-with-body https://mcp.melso.ai/mcp \
  -H "Authorization: Bearer $MELSO_MCP_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  --data-binary @- <<'JSON'
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "gestiones_read",
    "arguments": {
      "action": "kinds"
    }
  }
}
JSON
```


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