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
| Endpoint | https://{nooxlApiHostName}/api/v1/nooxlsheetmcp |
| Transport | Streamable HTTP |
| Authentication | Authorization: Bearer nxlpat_... |
| Extra headers | none |
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:
Server URL: https://{nooxlApiHostName}/api/v1/nooxlsheetmcp
Auth header: Authorization: Bearer nxlpat_...
Langdock
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:
- macOS / Linux
- Windows
{
"mcpServers": {
"nooxlsheetmcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://{nooxlApiHostName}/api/v1/nooxlsheetmcp",
"--header",
"Authorization:Bearer ${NOOXL_PAT}"
],
"env": {
"NOOXL_PAT": "nxlpat_..."
}
}
}
}
On Windows, Claude Desktop cannot launch npx directly (it is a .cmd wrapper), so the
command has to run through cmd /c:
{
"mcpServers": {
"nooxlsheetmcp": {
"command": "cmd",
"args": [
"/c",
"npx",
"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):
- macOS / Linux
- Windows
{
"mcpServers": {
"nooxlsheetmcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://{nooxlApiHostName}/api/v1/nooxlsheetmcp",
"--header",
"Authorization:Bearer ${NOOXL_PAT}"
],
"env": {
"NOOXL_PAT": "nxlpat_..."
}
}
}
}
As with Claude Desktop, wrap the command in cmd /c on Windows:
{
"mcpServers": {
"nooxlsheetmcp": {
"command": "cmd",
"args": [
"/c",
"npx",
"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
| Symptom | Likely cause |
|---|---|
| 401 Unauthorized | The token is wrong, was copied incompletely, or has been revoked or has expired. Create a new token. |
insufficient_pat_scope | The 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_mismatch | The session expired (30 minutes idle) or a different token is being used than the one that opened it. Open a new session. |