{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-ai/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown","redocly_category":"Development","owner":"MB"},"seo":{"title":"AI - Norce Backend MCP Servers — Claude Desktop Setup","description":"Step-by-step guide to connecting the Norce Backend MCP Servers to Claude Desktop on Mac and Windows — including OAuth and system account setup, Node.js, config file editing, LLM instructions, and verifying the connection.","keywords":"MCP, Claude Desktop, setup, mcp-remote, configuration, Node.js, credentials, LLM instructions"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"connecting-to-norce-via-claude-desktop"},"children":["Connecting to Norce via Claude Desktop"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide walks you through connecting the Norce Backend MCP Servers to Claude Desktop — the free Mac and Windows desktop application from Anthropic. Once connected, you can ask Claude to read, check, and update your Norce data directly from the chat window."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The setup takes about 20–30 minutes and involves creating Norce credentials, installing a small helper, and editing one configuration file."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"before-you-start"},"children":["Before you start"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You will need the following before you begin:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Claude Desktop"]}," installed. Download it from ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://claude.ai/download"},"children":["claude.ai/download"]}," if you have not already."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Access to Norce Admin"]}," with permission to create OAuth clients and system accounts — or someone who can create them for you."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Your application ID"]}," — the ID of the Norce storefront you will be working with. Ask your Norce administrator if you do not know it."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1--create-your-norce-credentials"},"children":["Step 1 — Create your Norce credentials"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The MCP servers authenticate using an OAuth client and a system account. You create both in Norce Admin — if you have the necessary permissions. If you do not have access to create OAuth clients or system accounts, ask your Norce administrator to do this for you and provide you with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ClientId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ClientSecret"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountId"]},". Once you have those three values, skip to Step 2."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-an-oauth-client"},"children":["Create an OAuth client"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/setup-oauth-mcp.10483462032375141f9c29ec01165cde78af1725c4bf0211602c962463aff588.fe4eaf73.png","alt":"Example OAuth2 account setup in Admin"},"children":[]}]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In Norce Admin, go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Users"]}," → ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OAuth"]}," tab."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New"]}," and give the client a name (for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MCP Claude Desktop"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authorized applications"]},", check the applications this client should have access to."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["APIs"]},", check all the APIs the MCP servers need access to. Also check ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Norce MCP"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Copy the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]}," that appear and store them somewhere safe. The Client Secret is only shown once — you cannot retrieve it later."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-a-system-account"},"children":["Create a system account"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/setup-system-account-mcp.2522fe8ec7f0877ce8cad6030aa7484fd5b0464cdd2d9edf39e3ec66222e64b5.fe4eaf73.png","alt":"Example System account setup in Admin"},"children":[]}]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In Norce Admin, go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Users"]}," → ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["System Accounts"]}," tab."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New"]}," (or reuse an existing account if one has already been set up for AI access)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Fill in a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Login name"]}," — this appears in the Norce UI next to any changes the AI makes (for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MCP Agent"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Magnus MCP Assistant"]}," if this is your personal connector)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Fill in a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]}," — this appears in the Management API under fields like ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Updated by"]}," and ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Changed by"]},". Use something recognisable."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Fill in an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Email address"]}," — any valid address works, it will not be used."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["After saving, the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Account ID"]}," appears in the browser URL after ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["users/"]},". Copy and save it — you will need it in the configuration."]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can also use your own account login Id, but it is not recommended."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You now have three values to use in the next steps: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ClientId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ClientSecret"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountId"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2--install-node.js-and-the-bridge"},"children":["Step 2 — Install Node.js and the bridge"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The connection between Claude Desktop and the Norce MCP Servers runs through a small helper called ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mcp-remote"]}," — the bridge. It requires Node.js. You only need to do this once."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Check if Node.js is already installed by opening a terminal and running:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"node --version\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you see a version number (for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v20.11.0"]},"), Node.js is already installed. If you get an error, download and install Node.js from ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://nodejs.org"},"children":["nodejs.org"]}," — choose the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["LTS"]}," version — then open a new terminal window and run ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["node --version"]}," again to confirm it worked."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Then install the bridge:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"npm i -g mcp-remote\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Confirm it worked with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mcp-remote --version"]},". If the command is not found, open a new terminal and try again."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To update the bridge later, re-run the same install command and restart Claude Desktop — your configuration never changes."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-3--find-the-claude-desktop-config-file"},"children":["Step 3 — Find the Claude Desktop config file"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Claude Desktop reads its MCP server configuration from a file called ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["claude_desktop_config.json"]},". You need to open and edit this file."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["On Mac:"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open Finder, click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Go"]}," in the menu bar, hold down the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Option"]}," key, and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Library"]},". Navigate to:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"Library → Application Support → Claude → claude_desktop_config.json\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["On Windows:"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Press ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Windows + R"]},", type the following, and press Enter:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"%APPDATA%\\Claude\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This opens the Claude folder directly. The file you need is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["claude_desktop_config.json"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the file does not exist yet, create a new text file with that exact name in the Claude folder."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open the file in any text editor — Notepad on Windows, TextEdit on Mac, or any code editor you prefer."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-4--add-the-mcp-server-entries"},"children":["Step 4 — Add the MCP server entries"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The config file tells Claude Desktop which MCP servers to connect to and how to authenticate with them. You will add one entry per Norce MCP server."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the file is empty, paste in the following template and replace the placeholder values with your own credentials. If the file already has content, add your entries inside the existing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"mcpServers\""]}," block."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The example below connects all five Norce Backend MCP servers. Remove any servers you do not need."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"mcpServers\": {\n    \"norce-config\": {\n      \"command\": \"mcp-remote\",\n      \"args\": [\n        \"https://YOUR-CUSTOMER-SLUG.api-se.YOUR-ENVIRONMENT.norce.tech/mcp/config/v1\",\n        \"--header\",\n        \"ClientId: ${CLIENT_ID}\",\n        \"--header\",\n        \"ClientSecret: ${CLIENT_SECRET}\",\n        \"--header\",\n        \"AccountId: ${ACCOUNT_ID}\"\n      ],\n      \"env\": {\n        \"CLIENT_ID\": \"your-client-id-here\",\n        \"CLIENT_SECRET\": \"your-client-secret-here\",\n        \"ACCOUNT_ID\": \"your-account-id-here\"\n      }\n    },\n    \"norce-product\": {\n      \"command\": \"mcp-remote\",\n      \"args\": [\n        \"https://YOUR-CUSTOMER-SLUG.api-se.YOUR-ENVIRONMENT.norce.tech/mcp/product/v1\",\n        \"--header\",\n        \"ClientId: ${CLIENT_ID}\",\n        \"--header\",\n        \"ClientSecret: ${CLIENT_SECRET}\",\n        \"--header\",\n        \"AccountId: ${ACCOUNT_ID}\"\n      ],\n      \"env\": {\n        \"CLIENT_ID\": \"your-client-id-here\",\n        \"CLIENT_SECRET\": \"your-client-secret-here\",\n        \"ACCOUNT_ID\": \"your-account-id-here\"\n      }\n    },\n    \"norce-pricing\": {\n      \"command\": \"mcp-remote\",\n      \"args\": [\n        \"https://YOUR-CUSTOMER-SLUG.api-se.YOUR-ENVIRONMENT.norce.tech/mcp/pricing/v1\",\n        \"--header\",\n        \"ClientId: ${CLIENT_ID}\",\n        \"--header\",\n        \"ClientSecret: ${CLIENT_SECRET}\",\n        \"--header\",\n        \"AccountId: ${ACCOUNT_ID}\"\n      ],\n      \"env\": {\n        \"CLIENT_ID\": \"your-client-id-here\",\n        \"CLIENT_SECRET\": \"your-client-secret-here\",\n        \"ACCOUNT_ID\": \"your-account-id-here\"\n      }\n    },\n    \"norce-inventory\": {\n      \"command\": \"mcp-remote\",\n      \"args\": [\n        \"https://YOUR-CUSTOMER-SLUG.api-se.YOUR-ENVIRONMENT.norce.tech/mcp/inventory/v1\",\n        \"--header\",\n        \"ClientId: ${CLIENT_ID}\",\n        \"--header\",\n        \"ClientSecret: ${CLIENT_SECRET}\",\n        \"--header\",\n        \"AccountId: ${ACCOUNT_ID}\"\n      ],\n      \"env\": {\n        \"CLIENT_ID\": \"your-client-id-here\",\n        \"CLIENT_SECRET\": \"your-client-secret-here\",\n        \"ACCOUNT_ID\": \"your-account-id-here\"\n      }\n    },\n    \"norce-supplier\": {\n      \"command\": \"mcp-remote\",\n      \"args\": [\n        \"https://YOUR-CUSTOMER-SLUG.api-se.YOUR-ENVIRONMENT.norce.tech/mcp/supplier/v1\",\n        \"--header\",\n        \"ClientId: ${CLIENT_ID}\",\n        \"--header\",\n        \"ClientSecret: ${CLIENT_SECRET}\",\n        \"--header\",\n        \"AccountId: ${ACCOUNT_ID}\"\n      ],\n      \"env\": {\n        \"CLIENT_ID\": \"your-client-id-here\",\n        \"CLIENT_SECRET\": \"your-client-secret-here\",\n        \"ACCOUNT_ID\": \"your-account-id-here\"\n      }\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to replace:"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Placeholder"},"children":["Placeholder"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Replace with"},"children":["Replace with"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["YOUR-CUSTOMER-SLUG"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your Norce customer slug (the same one you use in other Norce URLs)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["YOUR-ENVIRONMENT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The environment you are connecting to, for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["playground"]}," — the same host part as in that environment's other Norce API URLs. Credentials are environment-specific."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["your-client-id-here"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ClientId"]}," from Step 1"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["your-client-secret-here"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ClientSecret"]}," from Step 1"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["your-account-id-here"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountId"]}," from Step 1"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Save the file when you are done."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Important:"]}," JSON is sensitive to formatting. Make sure every block is separated by commas, all brackets are closed, and there are no trailing commas after the last item in a list. If you are unsure, paste your file into ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://jsonlint.com"},"children":["jsonlint.com"]}," to check it before saving."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"alternative-run-the-bridge-through-npx"},"children":["Alternative: run the bridge through npx"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you prefer not to install ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mcp-remote"]}," globally, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["npx"]}," can fetch and run it at each launch instead. This makes startup slower and can fail intermittently, which is why the installed bridge above is the recommended setup."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In each server entry, change ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["command"]}," and add ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"mcp-remote\""]}," as the first argument:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"diff","header":{"controls":{"copy":{}}},"source":"-      \"command\": \"mcp-remote\",\n+      \"command\": \"npx\",\n       \"args\": [\n+        \"mcp-remote\",\n         \"https://YOUR-CUSTOMER-SLUG.api-se.YOUR-ENVIRONMENT.norce.tech/mcp/config/v1\",\n","lang":"diff"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Everything else stays exactly as it is — the URL, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--header"]}," lines, and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["env"]}," block."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Windows note (npx only):"]}," If Node.js is installed in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["C:\\Program Files\\nodejs"]}," (the default location), Claude Desktop may fail to launch ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["npx"]}," with the error ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["'C:\\Program' is not recognized as an internal or external command"]},". This is caused by a space in the path — Claude Desktop does not quote the resolved path when passing it to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cmd.exe"]},". The fix is to replace ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"command\": \"npx\""]}," with the full path to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["npx.cmd"]}," in your npm global directory, which typically has no spaces:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"\"command\": \"C:\\\\Users\\\\YOUR-USERNAME\\\\AppData\\\\Roaming\\\\npm\\\\npx.cmd\"\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Replace ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["YOUR-USERNAME"]}," with your Windows username. The rest of the configuration stays the same. The installed bridge in the main setup is not affected by this issue."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-5--restart-claude-desktop"},"children":["Step 5 — Restart Claude Desktop"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Claude Desktop reads the config file at startup. If Claude is already open, you must close it completely and reopen it — a window refresh is not enough."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On Mac, make sure to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Quit"]}," Claude from the menu bar (not just close the window). On Windows, right-click the Claude icon in the taskbar and choose ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Quit"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Exit"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After restarting, Claude will attempt to connect to the MCP servers in the background."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-6--verify-the-connection"},"children":["Step 6 — Verify the connection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once Claude has restarted, look for the MCP server indicator at the bottom of the chat window. Connected servers appear as small icons or labels you can click to see their status."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/claude-desktop-mcp-status.5aff179982953b38c28dbf4640b6a9e3bdce355bcc06020a5f603dc479f098ba.fe4eaf73.png","alt":"MCP server status in Claude Desktop"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Click on a server name to see which tools it has loaded. If the tools list is populated, the server is connected and ready to use."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can also ask Claude directly:"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["\"Which Norce MCP tools do you have available?\""]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Claude will list the tools it can see. If a server failed to connect, it will not appear in the tool list and you will see an error indicator instead."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you run into problems, see the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/ai/norce-backend-mcp-troubleshooting"},"children":["Troubleshooting and FAQ"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-7--add-your-llm-instructions"},"children":["Step 7 — Add your LLM instructions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To get the best results, give Claude a few lines of context about your environment — so it knows which storefront you are working with and how to coordinate the servers. You add this in Claude Desktop's settings."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings"]}," (top-right menu) and find ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Custom instructions"]}," under your profile or the Claude tab. Paste in something like the following and adjust it for your setup:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"You have access to the Norce Backend MCP Servers for [your company name].\n\nThe application ID for our [storefront name] storefront is [your application ID].\n\nWhen working with product data, use the Product MCP. For prices and price lists,\nuse the Pricing MCP. When a task spans both, coordinate them automatically.\n\nWrite operations on production require my explicit confirmation before proceeding.\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The more specific you make these instructions, the less Claude needs to ask clarifying questions at the start of each session. If you work with multiple storefronts or environments, list all the relevant application IDs here."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You may also want to connect the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Norce Assistant MCP"]}," alongside the Backend servers — it knows the full Norce API reference and is useful when you encounter an unfamiliar field or result. See ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/ai/norce-backend-mcp-working-across-servers"},"children":["Working across MCP servers"]}," for how to combine it with the Backend servers and what to add to your instructions."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For a full starting-point instruction block covering all five servers, see ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/ai/using-the-norce-backend-mcp-servers#suggested-llm-instructions"},"children":["Suggested LLM instructions"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"you-are-ready"},"children":["You are ready"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Start a new conversation and try a simple first prompt:"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["\"Give me an overview of the Norce environment — what applications and storefronts are configured?\""]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Claude will call the Config MCP and return a structured summary. From there, you can start working with your data directly in the conversation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For ideas on what to do next, see the how-to guide for your role:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/ai/norce-backend-mcp-pim-manager"},"children":["PIM manager how-to"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/ai/norce-backend-mcp-pricing-manager"},"children":["Pricing manager how-to"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/ai/norce-backend-mcp-developer"},"children":["Developer / solution architect how-to"]}]}]}]},"headings":[{"value":"Connecting to Norce via Claude Desktop","id":"connecting-to-norce-via-claude-desktop","depth":1},{"value":"Before you start","id":"before-you-start","depth":2},{"value":"Step 1 — Create your Norce credentials","id":"step-1--create-your-norce-credentials","depth":2},{"value":"Create an OAuth client","id":"create-an-oauth-client","depth":3},{"value":"Create a system account","id":"create-a-system-account","depth":3},{"value":"Step 2 — Install Node.js and the bridge","id":"step-2--install-node.js-and-the-bridge","depth":2},{"value":"Step 3 — Find the Claude Desktop config file","id":"step-3--find-the-claude-desktop-config-file","depth":2},{"value":"Step 4 — Add the MCP server entries","id":"step-4--add-the-mcp-server-entries","depth":2},{"value":"Alternative: run the bridge through npx","id":"alternative-run-the-bridge-through-npx","depth":3},{"value":"Step 5 — Restart Claude Desktop","id":"step-5--restart-claude-desktop","depth":2},{"value":"Step 6 — Verify the connection","id":"step-6--verify-the-connection","depth":2},{"value":"Step 7 — Add your LLM instructions","id":"step-7--add-your-llm-instructions","depth":2},{"value":"You are ready","id":"you-are-ready","depth":2}],"frontmatter":{"seo":{"title":"AI - Norce Backend MCP Servers — Claude Desktop Setup","description":"Step-by-step guide to connecting the Norce Backend MCP Servers to Claude Desktop on Mac and Windows — including OAuth and system account setup, Node.js, config file editing, LLM instructions, and verifying the connection.","keywords":"MCP, Claude Desktop, setup, mcp-remote, configuration, Node.js, credentials, LLM instructions"},"metadata":{"redocly_category":"Development","owner":"MB"}},"lastModified":"2026-09-16T06:55:22.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/ai/norce-backend-mcp-claude-desktop","userData":{"isAuthenticated":false,"teams":["anonymous"]}}