1
2
Add the product endpoint
Enter
https://melso.ai/api/mcp. Do not paste a REST API key or personal token into the connection.3
Sign in and choose a company
Complete Melso’s OAuth screen. Review the company and requested access before authorizing. Each connection is bound to the company chosen at consent.
4
Read the available tools
Ask the client to list Melso tools, then read company context with
workspace_status. Tool visibility can vary with company type, plan, membership and connected services.Reconnect or change access
If authentication expires, let the client refresh its OAuth token or reconnect. To work with a different company, authorize a connection for that company; a tool argument cannot switch an existing grant’s company. A401 can mean you used the wrong credential type. A 403 can mean company membership or tool access changed. Reconnecting does not grant permissions that your Melso account lacks.
Try a first read
After consent, ask your client: “Read my Melso company context without changing anything.” The client lists tools and callsworkspace_status with {"include":["company"]}. The include field is optional; specifying it limits this first read to company context. Successful sections appear by name. The errors object appears only when a requested section could not be read.
For a custom client, initialize with the supported 2025-11-25 protocol version for this example and use the access_token from the /oauth/token response in Token exchange. The following Bash subshell disables tracing, reads the token without echoing or exporting it, and sends the header through standard input. Do not use a REST key or add a company header:
initialize, then notifications/initialized) before the first tools/call, as every MCP client does. Include the negotiated MCP-Protocol-Version header on every request. A successful JSON-RPC envelope has result; tools return MCP content blocks and may also include structuredContent. For example, this success envelope is trimmed to the company name and kind:
errors field when every requested section succeeds. If the company read fails, the decoded payload can instead be:
error, result.isError and these section errors before relying on a read. See the workspace_status contract and result handling. A 401 requires the correct OAuth flow; a 403 requires checking company access. Use a secret manager for a deployed client.