The server advertises itself as RelayCloud MCP Server.The endpoint also provides OAuth routes for clients that support MCP OAuth discovery and authorization.
The next time you run codex, it automatically opens the OAuth flow to connect to your RelayCloud account.Alternatively, edit ~/.codex/config.toml and add the MCP configuration:
Workspace creation accepts repository, deployment, package manager, web target, and domain configuration. Deploy keys are handled as encrypted, one-time inputs during workspace creation.The deploy key tool never returns the private key in plain text. It only returns an encrypted version of the private key along with the public key, so the agent can add the public key to your repository. The private key is never persisted on RelayCloud. When creating a workspace, the agent passes the encrypted version of the private key, which RelayCloud uses only to set up the workspace’s git repository.
These tools support the workspace TLS provisioning flow. Read the returned TLS configuration and follow the required challenge or activation state before treating a certificate as active.
Use these resources when your MCP client needs the expected sequence for workspace creation or TLS provisioning.
Do not paste access tokens, client secrets, orchestrator credentials, or OpenCode passwords into prompts or documentation. Use your MCP client’s secret storage.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"RelayCloud","description":"RelayCloud securely connects local development tools to remote Agents without VPNs or exposed ports.","colors":{"primary":"#0066FF","light":"#3385FF","dark":"#0052CC"},"logo":{"light":"https://mintcdn.com/relaycloud/jjRQECmsYO9Eny3X/logo/light.svg?fit=max\u0026auto=format\u0026n=jjRQECmsYO9Eny3X\u0026q=85\u0026s=bbb0a8f4097a8bbb8eccb9fc177f23b7","dark":"https://mintcdn.com/relaycloud/jjRQECmsYO9Eny3X/logo/dark.svg?fit=max\u0026auto=format\u0026n=jjRQECmsYO9Eny3X\u0026q=85\u0026s=3033b4af147b63c2f45ee29e9d74fe9a"},"favicon":"https://mintcdn.com/relaycloud/Y2u10ghJmaGBUJ3K/favicon.svg?fit=max\u0026auto=format\u0026n=Y2u10ghJmaGBUJ3K\u0026q=85\u0026s=32c7ba0f11ef226d5cc12e59948f0412","navbar":{"links":[{"href":"mailto:support@relaycloud.app","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://relaycloud.app/chat"}},"seo":{"indexing":"navigable"},"integrations":{"posthog":{"apiKey":"phc_CNVMES726jnxVLdJ9JQpoeuoavnADvevWxupo26LuTop","apiHost":"https://s.relaycloud.app","sessionRecording":false}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"relaycloud","hasAudioNarration":false,"actualSubdomain":"relaycloud","customDomains":["docs.relaycloud.app"],"gitSource":{"type":"github","owner":"alihamze","repo":"relaycloud-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6a911908b34810eb4c77e494","collectionId":"0e56f1c3-274d-4a7e-ac4c-5522fc049163","liveDeploymentHistoryId":"6a911908b34810eb4c77e494","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a911908b34810eb4c77e494","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Documentation","count":13},{"language":"default","tag":"Basics","count":6},{"language":"default","tag":"Setup","count":3},{"language":"default","tag":"Overview","count":2},{"language":"default","tag":"Integrations","count":1},{"language":"default","tag":"Security","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"integrations/mcp","slug":"/integrations/mcp","pageMetadata":{"title":"RelayCloud MCP server","description":"Connect an authenticated MCP client to RelayCloud and use tools to inspect and manage supported resources.","href":"/integrations/mcp"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect an authenticated MCP client to RelayCloud and use tools to inspect and manage supported resources.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tab,Tabs,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`RelayCloud exposes an authenticated Model Context Protocol server for managing your RelayCloud resources through an MCP client.`}),`\n`,_jsx(Heading,{level:`2`,id:`endpoint`,children:`Endpoint`}),`\n`,_jsx(_components.p,{children:`Configure your MCP client to use:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://mcp.relaycloud.app/mcp`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`The server advertises itself as `,_jsx(_components.strong,{children:`RelayCloud MCP Server`}),`.`]}),`\n`,_jsx(_components.p,{children:`The endpoint also provides OAuth routes for clients that support MCP OAuth discovery and authorization.`}),`\n`,_jsx(Heading,{level:`2`,id:`installation`,children:`Installation`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`OpenCode`,id:`opencode`,children:[_jsxs(_components.p,{children:[`Edit `,_jsx(_components.code,{children:`~/.config/opencode/opencode.json`}),` and add the MCP server:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"$schema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://opencode.ai/config.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mcp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"relaycloud\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"remote\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://mcp.relaycloud.app/mcp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"oauth\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(_components.p,{children:`Authenticate with RelayCloud by running:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`opencode`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` mcp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` auth`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` relaycloud`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Codex`,id:`codex`,children:[_jsx(_components.p,{children:`Open your terminal and run:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`codex`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` mcp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` add`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` relaycloud`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --url`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://mcp.relaycloud.app/mcp`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`The next time you run `,_jsx(_components.code,{children:`codex`}),`, it automatically opens the OAuth flow to connect to your RelayCloud account.`]}),_jsxs(_components.p,{children:[`Alternatively, edit `,_jsx(_components.code,{children:`~/.codex/config.toml`}),` and add the MCP configuration:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`toml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`toml`,children:_jsxs(_components.code,{language:`toml`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`mcp_servers`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`relaycloud`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`url`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://mcp.relaycloud.app/mcp\"`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Claude Code`,id:`claude-code`,children:[_jsx(_components.p,{children:`Open your terminal and run:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`claude`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` mcp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` add`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --transport`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` http`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` relaycloud`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://mcp.relaycloud.app/mcp`})]}),`\n`]})})}),_jsx(_components.p,{children:`This launches an OAuth authentication flow to connect Claude Code to your RelayCloud account.`})]}),_jsxs(Tab,{title:`Other`,id:`other`,children:[_jsx(_components.p,{children:`Any MCP client that supports OAuth authentication is supported. Run the following command to add the MCP server to your client:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` add-mcp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://mcp.relaycloud.app/mcp`})]}),`\n`]})})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`available-tools`,children:`Available tools`}),`\n`,_jsx(Heading,{level:`3`,id:`discover-resources`,children:`Discover resources`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`list-organizations-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`list-projects-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`list-servers-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`list-server-services-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`list-server-service-ports-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`list-workspaces-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`list-workspace-domain-listeners-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`list-workspace-tls-configs-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`list-assistants-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`list-conversations-tool`})}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`inspect-resources`,children:`Inspect resources`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`get-workspace-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`get-conversation-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`get-assistant-options-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`get-workspace-tls-config-tool`})}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`create-resources`,children:`Create resources`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`create-project-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`create-server-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`create-workspace-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`generate-workspace-deploy-key-tool`})}),`\n`]}),`\n`,_jsx(_components.p,{children:`Workspace creation accepts repository, deployment, package manager, web target, and domain configuration. Deploy keys are handled as encrypted, one-time inputs during workspace creation.`}),`\n`,_jsx(_components.p,{children:`The deploy key tool never returns the private key in plain text. It only returns an encrypted version of the private key along with the public key, so the agent can add the public key to your repository. The private key is never persisted on RelayCloud. When creating a workspace, the agent passes the encrypted version of the private key, which RelayCloud uses only to set up the workspace’s git repository.`}),`\n`,_jsx(Heading,{level:`3`,id:`assistants-and-lifecycle-actions`,children:`Assistants and lifecycle actions`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`prompt-assistant-tool`}),` sends a prompt to an OpenCode Assistant in a workspace or continues an existing conversation.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`restart-server-service-tool`}),` restarts a server service.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`restart-workspace-domain-listener-tool`}),` restarts a workspace domain listener.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`archive-assistant-tool`}),` archives an Assistant.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`archive-workspace-tool`}),` archives a workspace.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`archive-server-tool`}),` archives a server.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The prompt tool accepts a workspace ID or conversation ID and a prompt. It can also target an agent, model provider, model, and variant.`}),`\n`,_jsx(Heading,{level:`3`,id:`tls-operations`,children:`TLS operations`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`issue-workspace-tls-tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`activate-workspace-tls-config-tool`})}),`\n`]}),`\n`,_jsx(_components.p,{children:`These tools support the workspace TLS provisioning flow. Read the returned TLS configuration and follow the required challenge or activation state before treating a certificate as active.`}),`\n`,_jsx(Heading,{level:`2`,id:`resources`,children:`Resources`}),`\n`,_jsx(_components.p,{children:`The server registers two guidance resources:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`WorkspaceCreationGuideResource`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`WorkspaceTlsProvisioningGuideResource`})}),`\n`]}),`\n`,_jsx(_components.p,{children:`Use these resources when your MCP client needs the expected sequence for workspace creation or TLS provisioning.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Do not paste access tokens, client secrets, orchestrator credentials, or OpenCode passwords into prompts or documentation. Use your MCP client’s secret storage.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"RelayCloud MCP server","description":"Connect an authenticated MCP client to RelayCloud and use tools to inspect and manage supported resources.","href":"/integrations/mcp"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Endpoint","slug":"endpoint","depth":2,"children":[]},{"title":"Installation","slug":"installation","depth":2,"children":[]},{"title":"Available tools","slug":"available-tools","depth":2,"children":[{"title":"Discover resources","slug":"discover-resources","depth":3,"children":[]},{"title":"Inspect resources","slug":"inspect-resources","depth":3,"children":[]},{"title":"Create resources","slug":"create-resources","depth":3,"children":[]},{"title":"Assistants and lifecycle actions","slug":"assistants-and-lifecycle-actions","depth":3,"children":[]},{"title":"TLS operations","slug":"tls-operations","depth":3,"children":[]}]},{"title":"Resources","slug":"resources","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"relaycloud","siteName":"RelayCloud","title":"RelayCloud MCP server - RelayCloud","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-28T05:02:18.085Z","originalFileLocation":"integrations/mcp.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connect an authenticated MCP client to RelayCloud and use tools to inspect and manage supported resources.\">\u003cmeta data-mint-head name=\"application-name\" content=\"RelayCloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/relaycloud/UCEwPpISn07ZRsL7/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/relaycloud/UCEwPpISn07ZRsL7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/relaycloud/UCEwPpISn07ZRsL7/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/relaycloud/UCEwPpISn07ZRsL7/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/relaycloud/UCEwPpISn07ZRsL7/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/relaycloud/UCEwPpISn07ZRsL7/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/relaycloud/UCEwPpISn07ZRsL7/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/relaycloud/UCEwPpISn07ZRsL7/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/relaycloud/UCEwPpISn07ZRsL7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"RelayCloud MCP server - RelayCloud\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect an authenticated MCP client to RelayCloud and use tools to inspect and manage supported resources.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"RelayCloud\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.relaycloud.app/integrations/mcp\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://relaycloud.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=RelayCloud+MCP+server\u0026amp;description=Connect+an+authenticated+MCP+client+to+RelayCloud+and+use+tools+to+inspect+and+manage+supported+resources.\u0026amp;theme=f3ad9ba990f71fb6c2fc9296\u0026amp;signature=567a2eedee681457f7a347f504afac8586aaff11581e5f182b9b3e8a284ad0cd\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"RelayCloud MCP server - RelayCloud\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect an authenticated MCP client to RelayCloud and use tools to inspect and manage supported resources.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://relaycloud.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=RelayCloud+MCP+server\u0026amp;description=Connect+an+authenticated+MCP+client+to+RelayCloud+and+use+tools+to+inspect+and+manage+supported+resources.\u0026amp;theme=f3ad9ba990f71fb6c2fc9296\u0026amp;signature=567a2eedee681457f7a347f504afac8586aaff11581e5f182b9b3e8a284ad0cd\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/relaycloud/UCEwPpISn07ZRsL7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"RelayCloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0066FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.relaycloud.app/integrations/mcp\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/mcp.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.relaycloud.app/#organization\",\"name\":\"RelayCloud\",\"url\":\"https://docs.relaycloud.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/relaycloud/jjRQECmsYO9Eny3X/logo/light.svg?fit=max\u0026auto=format\u0026n=jjRQECmsYO9Eny3X\u0026q=85\u0026s=bbb0a8f4097a8bbb8eccb9fc177f23b7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.relaycloud.app#website\",\"name\":\"RelayCloud\",\"url\":\"https://docs.relaycloud.app\",\"publisher\":{\"@id\":\"https://docs.relaycloud.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.relaycloud.app/integrations/mcp#webpage\",\"url\":\"https://docs.relaycloud.app/integrations/mcp\",\"name\":\"RelayCloud MCP server\",\"description\":\"Connect an authenticated MCP client to RelayCloud and use tools to inspect and manage supported resources.\",\"dateModified\":\"2026-08-28T05:02:18.085Z\",\"isPartOf\":{\"@id\":\"https://docs.relaycloud.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.relaycloud.app/integrations/mcp#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.relaycloud.app/integrations/mcp#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"RelayCloud\",\"item\":\"https://docs.relaycloud.app\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RelayCloud MCP server\",\"item\":\"https://docs.relaycloud.app/integrations/mcp\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.relaycloud.app/integrations/mcp#article\",\"headline\":\"RelayCloud MCP server\",\"name\":\"RelayCloud MCP server\",\"description\":\"Connect an authenticated MCP client to RelayCloud and use tools to inspect and manage supported resources.\",\"url\":\"https://docs.relaycloud.app/integrations/mcp\",\"mainEntityOfPage\":{\"@id\":\"https://docs.relaycloud.app/integrations/mcp#webpage\"},\"dateModified\":\"2026-08-28T05:02:18.085Z\",\"publisher\":{\"@id\":\"https://docs.relaycloud.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.relaycloud.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"RelayCloud\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"RelayCloud","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Overview","pages":[{"title":"RelayCloud","sidebarTitle":"Introduction","href":""},{"title":"How it works","href":"/how-it-works"}]},{"group":"Basics","pages":[{"title":"Organizations","sidebarTitle":"Organizations","href":"/basics/organizations"},{"title":"Servers","sidebarTitle":"Servers","href":"/basics/servers"},{"title":"Projects","sidebarTitle":"Projects","href":"/basics/projects"},{"title":"Workspaces","sidebarTitle":"Workspaces","href":"/basics/workspaces"},{"title":"Assistants","sidebarTitle":"Assistants","href":"/basics/assistants"},{"title":"Orchestrator","sidebarTitle":"Orchestrator","href":"/basics/orchestrator"}]},{"group":"Setup","pages":[{"title":"Provision a managed server","sidebarTitle":"Provision a managed server","href":"/setup/provision-managed-server"},{"title":"Connect a self-managed server","href":"/setup/self-managed-server"},{"title":"Connect locally to an Assistant","sidebarTitle":"Connect locally","href":"/setup/connect-local-assistant"}]},{"group":"Security","pages":[{"title":"Security","description":"How RelayCloud scopes access and protects control-plane, relay, provisioning, and device credentials.","href":"/security"}]},{"group":"Integrations","pages":[{"title":"RelayCloud MCP server","href":"/integrations/mcp"}]}]}]},"title":"RelayCloud MCP server - RelayCloud","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}