Zum Hauptinhalt springen

Connect an MCP client to the Sheet MCP

Purpose​

Point an MCP-capable AI client at the Nooxl Sheet MCP endpoint and authenticate it with a personal access token, so the agent can list, read, and change apps and models.

Prerequisites​

  • A personal access token (nxlpat_...) with the scope the agent needs.
  • An MCP client that supports a remote Streamable HTTP MCP server with a bearer header.

Endpoint and authentication​

Endpointhttps://{nooxlApiHostName}/api/v1/nooxlsheetmcp
TransportStreamable HTTP
AuthenticationAuthorization: Bearer nxlpat_...
Extra headersnone

The API host depends on the installation — for the Nooxl demo it is https://ncs-demo.nooxl.com, giving https://ncs-demo.nooxl.com/api/v1/nooxlsheetmcp.

Client configuration​

Generic HTTP MCP client​

Any client that speaks Streamable HTTP MCP needs two things:

generic MCP client
Server URL: https://{nooxlApiHostName}/api/v1/nooxlsheetmcp
Auth header: Authorization: Bearer nxlpat_...

Langdock​

Langdock - MCP server
Server URL: https://{nooxlApiHostName}/api/v1/nooxlsheetmcp
Auth: API Key, header type "Authorization: Bearer"
Key value: nxlpat_... (your personal access token)

Claude Desktop​

Claude Desktop reaches a remote MCP server through the mcp-remote helper (which needs Node.js installed). Add this to claude_desktop_config.json:

claude_desktop_config.json
{
"mcpServers": {
"nooxlsheetmcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://{nooxlApiHostName}/api/v1/nooxlsheetmcp",
"--header",
"Authorization:Bearer ${NOOXL_PAT}"
],
"env": {
"NOOXL_PAT": "nxlpat_..."
}
}
}
}

Cursor / VS Code​

Cursor and VS Code use an mcp.json file. The following mirrors the Claude Desktop setup above (same mcp-remote helper and bearer header):

mcp.json
{
"mcpServers": {
"nooxlsheetmcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://{nooxlApiHostName}/api/v1/nooxlsheetmcp",
"--header",
"Authorization:Bearer ${NOOXL_PAT}"
],
"env": {
"NOOXL_PAT": "nxlpat_..."
}
}
}
}

Verify the connection​

Ask the agent to run apps_list. It should return the tenants and apps your token can reach. If it does, the connection and the token work.

Troubleshooting​

SymptomLikely cause
401 UnauthorizedThe token is wrong, was copied incompletely, or has been revoked or has expired. Create a new token.
insufficient_pat_scopeThe token's scope does not cover the requested action — for example writing data with a read-only token. Create a token with the needed scope.
session_not_found_or_principal_mismatchThe session expired (30 minutes idle) or a different token is being used than the one that opened it. Open a new session.