{"componentChunkName":"component---src-templates-simple-markdown-js","path":"/docs/mcp/architecture/","matchPath":"","result":{"data":{"markdownRemark":{"html":"<h1 style=\"position:relative;\"><a href=\"#architecture--authentication\" aria-label=\"architecture  authentication permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"architecture--authentication\"></div>Architecture &#x26; Authentication</h1>\n<h2 style=\"position:relative;\"><a href=\"#authentication\" aria-label=\"authentication permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"authentication\"></div>Authentication</h2>\n<p>Agents authenticate using a standard Shipwell API token passed in the <code class=\"language-text\">Authorization</code> header on every request:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"18104861427155440000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`Authorization: Bearer YOUR_SHIPWELL_API_TOKEN`, `18104861427155440000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-18104861427155440000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Authorization: Bearer YOUR_SHIPWELL_API_TOKEN</code></pre></div>\n      </div>\n<p><strong>No tokens are stored on the MCP server.</strong> Authentication is stateless and per-request — the server forwards the token to the Shipwell API and returns the result. If your token is revoked or rotated in Shipwell, it takes effect immediately with no MCP-side changes needed.</p>\n<h2 style=\"position:relative;\"><a href=\"#hosted-deployment\" aria-label=\"hosted deployment permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"hosted-deployment\"></div>Hosted Deployment</h2>\n<p>The production MCP Server is hosted behind HTTPS:</p>\n<ul>\n<li>\n<strong>Stateless</strong>\n — no session state, no server-side token storage\n</li>\n<li>\n<strong>Horizontally scalable</strong>\n — each request is fully independent\n</li>\n<li>\n<strong>HTTPS only</strong>\n — all traffic is encrypted in transit\n</li>\n</ul>\n<table>\n<thead>\n<tr>\n<th>Environment</th>\n<th>Endpoint</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Production</td>\n<td><code class=\"language-text\">https://mcp.shipwell.com/mcp</code></td>\n</tr>\n<tr>\n<td>Sandbox</td>\n<td><code class=\"language-text\">https://sandbox-mcp.shipwell.com/mcp</code></td>\n</tr>\n</tbody>\n</table>\n<h2 style=\"position:relative;\"><a href=\"#local-deployment-stdio\" aria-label=\"local deployment stdio permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"local-deployment-stdio\"></div>Local Deployment (Stdio)</h2>\n<p>You can also run the MCP server as a local stdio process. This is useful for individual developer setups or environments where outbound HTTPS to the hosted server is not permitted.</p>\n<p>Set your token as an environment variable:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"51831712077239130000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`export SHIPWELL_API_TOKEN=your_token_here`, `51831712077239130000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-51831712077239130000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token builtin class-name\">export</span> <span class=\"token assign-left variable\">SHIPWELL_API_TOKEN</span><span class=\"token operator\">=</span>your_token_here</code></pre></div>\n      </div>\n<p>Then configure your AI client to launch the server process via stdio. Refer to your client's MCP documentation for the exact config format.</p>\n<h2 style=\"position:relative;\"><a href=\"#security-model\" aria-label=\"security model permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"security-model\"></div>Security Model</h2>\n<ul>\n<li>\nThe server acts as a pass-through proxy — it holds no Shipwell credentials of its own\n</li>\n<li>\nWrite tools are disabled by default (see \n<a href=\"/docs/mcp/safety/\">Safety &#x26; Write Access</a>\n)\n</li>\n<li>\nEach tool documents its side effects, preconditions, and risk level so agents can reason safely before acting\n</li>\n</ul>","headings":[{"value":"Architecture & Authentication","depth":1},{"value":"Authentication","depth":2},{"value":"Hosted Deployment","depth":2},{"value":"Local Deployment (Stdio)","depth":2},{"value":"Security Model","depth":2}]},"contentItem":{"data":{"lastModified":"2026-05-14T19:02:55.000Z","enableToc":null,"disableLastModified":null,"tocMaxDepth":null,"requestLogin":false}},"siteConfig":{"enableToc":true,"disableLastModified":false,"tocMaxDepth":4}},"pageContext":{"matchPath":"","id":"609dd6ca-9493-5d91-9ff4-27ebb74ae836__redocly content/docs/mcp/architecture/","seo":{"title":"Architecture & Authentication","description":null,"image":"","keywords":null,"jsonLd":null,"lang":null,"siteUrl":null},"pageId":"docs/mcp/architecture.md","pageBaseUrl":"/docs/mcp/architecture","type":"markdown","toc":{"enable":true,"maxDepth":4,"headings":[{"depth":1,"value":"Architecture & Authentication","id":"architecture--authentication"},{"depth":2,"value":"Authentication","id":"authentication"},{"depth":2,"value":"Hosted Deployment","id":"hosted-deployment"},{"depth":2,"value":"Local Deployment (Stdio)","id":"local-deployment-stdio"},{"depth":2,"value":"Security Model","id":"security-model"}]},"data":{"title":""},"catalogInfo":null,"link":"/docs/mcp/architecture/","sidebarName":"developerPortal","isLanding":false,"showPrevButton":null,"showNextButton":null,"apiVersions":null,"apiVersionId":null,"isDefaultApiVersion":null}},"staticQueryHashes":["1123603147","1302185487","1344209882","1398840060","1520077861","1975142765","2667623876","2950305614","3240152602","3743992808","561138138"]}