Bridge is the MCP server that ships with Soma. Agents can use Bridge to securely invoke functions and API endpoints for external systems. Bridge supports the following credential types:
No Auth
API Key
Bearer Token
Oauth Authorization Code Flow
Oauth Authorization Code Flow with PKCE
Credential rotation via refresh tokens for Oauth Authorization Code Flow and Oauth Authorization Code Flow with PKCE is automatically handled by Bridge.You can use any pre-existing SaaS provider in Bridge or add custom functions with configure which credential type to your agent as per the relevant SDK. You can configure these credentials via the UI when running soma dev and navigating to http://localhost:3000.
⌘I
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Soma","colors":{"primary":"#b87332","light":"#b87332","dark":"#b87332"},"logo":{"light":"https://mintcdn.com/soma-5ed3fd37/s2WKJqjGrjmymEdr/assets/logo/light.svg?fit=max\u0026auto=format\u0026n=s2WKJqjGrjmymEdr\u0026q=85\u0026s=e86d8169e6662cf8d0d8f336fdb26ca7","dark":"https://mintcdn.com/soma-5ed3fd37/s2WKJqjGrjmymEdr/assets/logo/dark.svg?fit=max\u0026auto=format\u0026n=s2WKJqjGrjmymEdr\u0026q=85\u0026s=ad0203c2857da8684140508874247418"},"favicon":"/assets/favicon.svg","navbar":{"links":[{"label":"Get technical support","href":"https://form.typeform.com/to/D8qL5efI"}],"primary":{"type":"button","label":"Join private beta","href":"https://form.typeform.com/to/D8qL5efI"}},"footer":{"socials":{"x":"https://x.com/try_soma_ai","github":"https://github.com/trysoma","linkedin":"https://www.linkedin.com/company/try-soma-ai"}},"fonts":{"heading":{"family":"Newsreader"},"body":{"family":"Geist Sans"}},"integrations":{"ga4":{"measurementId":"G-SVZ9EHGRMW"}},"banner":{"content":"🚀 We are preparing our documentation and source code for our first release. For any questions \u0026 to meet the founders, please fill in [this form](https://form.typeform.com/to/D8qL5efI)","dismissible":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"]},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"soma-5ed3fd37","hasAudioNarration":false,"actualSubdomain":"soma-5ed3fd37","customDomains":["docs.trysoma.ai"],"gitSource":{"type":"github","owner":"trysoma","repo":"documentation","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e94cf325d2bf10066b0a","collectionId":"a1731299-97ee-476a-862b-62bb0ad74a08","schemaVersion":"v2"},"feedback":{"thumbs":false},"entitlements":{},"buildId":"6a21e94cf325d2bf10066b0a:success","clientVersion":"0.0.3939","searchFilterCounts":[{"language":"default","tag":"API reference","count":53},{"language":"default","tag":"Docs","count":31},{"language":"default","tag":"bridge","count":20},{"language":"default","tag":"encryption","count":11},{"language":"default","tag":"Security, authentication \u0026 access control","count":10},{"language":"default","tag":"secret","count":8},{"language":"default","tag":"task","count":7},{"language":"default","tag":"Usage with AI frameworks","count":4},{"language":"default","tag":"Testing \u0026 evals","count":4},{"language":"default","tag":"a2a","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":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":"mcp-functions/managing-mcp-function-credentials","slug":"/mcp-functions/managing-mcp-function-credentials","pageMetadata":{"title":"MCP function credentials","description":"Managing credentials for MCP functions","href":"/mcp-functions/managing-mcp-function-credentials"},"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: \"Managing credentials for MCP functions\"\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`,ul:`ul`,..._provideComponents(),...props.components};return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Bridge is the MCP server that ships with Soma. Agents can use Bridge to securely invoke functions and API endpoints for external systems. Bridge supports the following credential types:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`No Auth`}),`\n`,_jsx(_components.li,{children:`API Key`}),`\n`,_jsx(_components.li,{children:`Bearer Token`}),`\n`,_jsx(_components.li,{children:`Oauth Authorization Code Flow`}),`\n`,_jsx(_components.li,{children:`Oauth Authorization Code Flow with PKCE`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Credential rotation via refresh tokens for Oauth Authorization Code Flow and Oauth Authorization Code Flow with PKCE is automatically handled by Bridge.`}),`\n`,_jsxs(_components.p,{children:[`You can use any pre-existing SaaS provider in Bridge or add custom functions with configure which credential type to your agent as per the relevant SDK. You can configure these credentials via the UI when running `,_jsx(_components.code,{children:`soma dev`}),` and navigating to `,_jsx(_components.code,{children:`http://localhost:3000`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"MCP function credentials","description":"Managing credentials for MCP functions","href":"/mcp-functions/managing-mcp-function-credentials"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"soma-5ed3fd37","siteName":"Soma","title":"MCP function credentials - Soma","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"mcp-functions/managing-mcp-function-credentials.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=\"Managing credentials for MCP functions\">\u003cmeta data-mint-head name=\"application-name\" content=\"Soma\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/soma-5ed3fd37/RktQixO-RkkT4QWu/_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/soma-5ed3fd37/RktQixO-RkkT4QWu/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/soma-5ed3fd37/RktQixO-RkkT4QWu/_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/soma-5ed3fd37/RktQixO-RkkT4QWu/_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/soma-5ed3fd37/RktQixO-RkkT4QWu/_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/soma-5ed3fd37/RktQixO-RkkT4QWu/_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/soma-5ed3fd37/RktQixO-RkkT4QWu/_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/soma-5ed3fd37/RktQixO-RkkT4QWu/_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/soma-5ed3fd37/RktQixO-RkkT4QWu/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"MCP function credentials - Soma\">\u003cmeta data-mint-head property=\"og:description\" content=\"Managing credentials for MCP functions\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Soma\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trysoma.ai/mcp-functions/managing-mcp-function-credentials\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://soma-5ed3fd37.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=MCP+function+credentials\u0026amp;description=Managing+credentials+for+MCP+functions\u0026amp;theme=84a1fedbc22dfaf9fd23bfa7\u0026amp;signature=d7b40efe8614f8f09de1c481f25435bf3a464c4f5498cc2ca4eb7a529888de51\">\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=\"MCP function credentials - Soma\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Managing credentials for MCP functions\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://soma-5ed3fd37.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=MCP+function+credentials\u0026amp;description=Managing+credentials+for+MCP+functions\u0026amp;theme=84a1fedbc22dfaf9fd23bfa7\u0026amp;signature=d7b40efe8614f8f09de1c481f25435bf3a464c4f5498cc2ca4eb7a529888de51\">\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/soma-5ed3fd37/RktQixO-RkkT4QWu/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Soma\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#b87332\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.trysoma.ai/mcp-functions/managing-mcp-function-credentials\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/mcp-functions/managing-mcp-function-credentials.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Soma\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Soma","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Docs","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":""},{"title":"Quickstart","href":"/quickstart"},{"title":"Deployment","href":"/deployment"}]},{"group":"Security, authentication \u0026 access control","pages":[{"title":"Overview","href":"/security/overview"},{"title":"Agent vs API server isolation","href":"/security/agent-vs-api-server-isolation"},{"title":"Environment variables","href":"/security/environment-variables"},{"title":"Secrets","href":"/security/secrets"},{"title":"Configuring an external identity provider","href":"/security/configuring-an-external-identity-provider"},{"title":"API Keys \u0026 service accounts","href":"/security/api-keys-and-service-accounts"},{"title":"Configuring access control","href":"/security/configuring-access-control"},{"title":"User \u0026 group provisioning","href":"/security/user-and-group-provisioning"},{"title":"Appendix: The Role of soma.yaml","href":"/security/appendix-the-role-of-soma-yaml"},{"title":"Appendix: roles \u0026 permissions","href":"/security/appendix-roles-and-permissions"}]},{"group":"Common patterns","pages":[{"title":"Chat Agent","href":"/common-patterns/chat-agent"},{"title":"Workflow Agent","href":"/common-patterns/workflow-agent"},{"title":"Combined Agent","href":"/common-patterns/combined-agent"}]},{"group":"Usage with AI frameworks","pages":[{"title":"Overview","href":"/ai-frameworks/overview"},{"title":"Vercel AI SDK","href":"/ai-frameworks/vercel-ai-sdk"},{"title":"LangChain","href":"/ai-frameworks/langchain"},{"title":"OpenAI SDK","href":"/ai-frameworks/openai-sdk"}]},{"group":"Secure MCP functions","pages":[{"title":"Overview","href":"/mcp-functions/overview"},{"title":"Credential management","href":"/mcp-functions/credential-management"},{"title":"Encryption","href":"/mcp-functions/encryption"},{"title":"Saas providers","href":"/mcp-functions/saas-providers"},{"title":"Adding Custom Functions","href":"/mcp-functions/adding-custom-functions"}]},{"group":"Invoking your agent","pages":[{"title":"Via Agent 2 Agent Endpoint","href":"/invoking-your-agent/via-agent-2-agent-endpoint"},{"title":"Via OpenAI Streaming Endpoint","href":"/invoking-your-agent/via-openai-streaming-endpoint"}]},{"group":"Testing \u0026 evals","pages":[{"title":"A2A Chat Debugger","href":"/testing-and-evals/A2A-chat-debugger"},{"title":"MCP Inspector","href":"/testing-and-evals/MCP-inspector"},{"title":"Evals","href":"/testing-and-evals/evals"},{"title":"Unit \u0026 Integration Testing","href":"/testing-and-evals/unit-\u0026-integration-testing"}]},{"group":"Fault tolerance \u0026 resumability","pages":[{"title":"Things to Watch Out For","href":"/fault-tolerance/things-to-watch-out-for"},{"title":"Crash Recovery","href":"/fault-tolerance/crash-recovery"},{"title":"Resumability","href":"/fault-tolerance/resumability"}]}]},{"tab":"API reference","groups":[{"group":"_internal","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /_internal/v1/health","href":"/api-reference/_internal/health-check"},{"title":"Get runtime config","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /_internal/v1/runtime_config","href":"/api-reference/_internal/get-runtime-config"},{"title":"Trigger codegen","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /_internal/v1/trigger_codegen","href":"/api-reference/_internal/trigger-codegen"}]},{"group":"a2a","pages":[{"title":"Handle JSON-RPC","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/a2a/v1","href":"/api-reference/a2a/handle-json-rpc"},{"title":"Get agent card","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/a2a/v1/.well-known/agent.json","href":"/api-reference/a2a/get-agent-card"},{"title":"Get extended agent card","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/a2a/v1/agent/authenticatedExtendedCard","href":"/api-reference/a2a/get-extended-agent-card"},{"title":"Get agent definition","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/a2a/v1/definition","href":"/api-reference/a2a/get-agent-definition"}]},{"group":"bridge","pages":[{"title":"List providers","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/bridge/v1/available-providers","href":"/api-reference/bridge/list-providers"},{"title":"Create provider","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/bridge/v1/available-providers/{provider_controller_type_id}/available-credentials/{credential_controller_type_id}","href":"/api-reference/bridge/create-provider"},{"title":"Create resource server credential","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/bridge/v1/available-providers/{provider_controller_type_id}/available-credentials/{credential_controller_type_id}/credential/resource-server","href":"/api-reference/bridge/create-resource-server-credential"},{"title":"Encrypt resource server config","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/bridge/v1/available-providers/{provider_controller_type_id}/available-credentials/{credential_controller_type_id}/credential/resource-server/encrypt","href":"/api-reference/bridge/encrypt-resource-server-config"},{"title":"Create user credential","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/bridge/v1/available-providers/{provider_controller_type_id}/available-credentials/{credential_controller_type_id}/credential/user-credential","href":"/api-reference/bridge/create-user-credential"},{"title":"Start credential brokering","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/bridge/v1/available-providers/{provider_controller_type_id}/available-credentials/{credential_controller_type_id}/credential/user-credential/broker","href":"/api-reference/bridge/start-credential-brokering"},{"title":"Encrypt user credential config","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/bridge/v1/available-providers/{provider_controller_type_id}/available-credentials/{credential_controller_type_id}/credential/user-credential/encrypt","href":"/api-reference/bridge/encrypt-user-credential-config"},{"title":"List function instances","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/bridge/v1/function-instances","href":"/api-reference/bridge/list-function-instances"},{"title":"Get function OpenAPI spec","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/bridge/v1/function-instances/openapi.json","href":"/api-reference/bridge/get-function-openapi-spec"},{"title":"OAuth callback","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/bridge/v1/generic-oauth-callback","href":"/api-reference/bridge/oauth-callback"},{"title":"MCP SSE connection","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/bridge/v1/mcp","href":"/api-reference/bridge/mcp-sse-connection"},{"title":"Send MCP message","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/bridge/v1/mcp","href":"/api-reference/bridge/send-mcp-message"},{"title":"List provider instances","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/bridge/v1/provider","href":"/api-reference/bridge/list-provider-instances"},{"title":"List providers by function","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/bridge/v1/provider/grouped-by-function","href":"/api-reference/bridge/list-providers-by-function"},{"title":"Get provider","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/bridge/v1/provider/{provider_instance_id}","href":"/api-reference/bridge/get-provider"},{"title":"Delete provider","deprecated":null,"version":null,"openapi":"api-reference/openapi.json delete /api/bridge/v1/provider/{provider_instance_id}","href":"/api-reference/bridge/delete-provider"},{"title":"Update provider","deprecated":null,"version":null,"openapi":"api-reference/openapi.json patch /api/bridge/v1/provider/{provider_instance_id}","href":"/api-reference/bridge/update-provider"},{"title":"Disable function","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/bridge/v1/provider/{provider_instance_id}/function/{function_controller_type_id}/disable","href":"/api-reference/bridge/disable-function"},{"title":"Enable function","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/bridge/v1/provider/{provider_instance_id}/function/{function_controller_type_id}/enable","href":"/api-reference/bridge/enable-function"},{"title":"Invoke function","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/bridge/v1/provider/{provider_instance_id}/function/{function_controller_type_id}/invoke","href":"/api-reference/bridge/invoke-function"}]},{"group":"encryption","pages":[{"title":"Create DEK alias","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/encryption/v1/dek/alias","href":"/api-reference/encryption/create-dek-alias"},{"title":"Get DEK by alias","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/encryption/v1/dek/alias/{alias}","href":"/api-reference/encryption/get-dek-by-alias"},{"title":"Update DEK alias","deprecated":null,"version":null,"openapi":"api-reference/openapi.json put /api/encryption/v1/dek/alias/{alias}","href":"/api-reference/encryption/update-dek-alias"},{"title":"Delete DEK alias","deprecated":null,"version":null,"openapi":"api-reference/openapi.json delete /api/encryption/v1/dek/alias/{alias}","href":"/api-reference/encryption/delete-dek-alias"},{"title":"List envelope keys","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/encryption/v1/envelope","href":"/api-reference/encryption/list-envelope-keys"},{"title":"Create envelope key","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/encryption/v1/envelope","href":"/api-reference/encryption/create-envelope-key"},{"title":"List data keys","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/encryption/v1/envelope/{envelope_id}/dek","href":"/api-reference/encryption/list-data-keys"},{"title":"Create data key","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/encryption/v1/envelope/{envelope_id}/dek","href":"/api-reference/encryption/create-data-key"},{"title":"Import data key","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/encryption/v1/envelope/{envelope_id}/dek/import","href":"/api-reference/encryption/import-data-key"},{"title":"Migrate data key","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/encryption/v1/envelope/{envelope_id}/dek/{dek_id}/migrate","href":"/api-reference/encryption/migrate-data-key"},{"title":"Migrate all data keys","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/encryption/v1/envelope/{envelope_id}/migrate","href":"/api-reference/encryption/migrate-all-data-keys"}]},{"group":"secret","pages":[{"title":"List secrets","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/secret/v1","href":"/api-reference/secret/list-secrets"},{"title":"Create secret","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/secret/v1","href":"/api-reference/secret/create-secret"},{"title":"Import secret","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/secret/v1/import","href":"/api-reference/secret/import-secret"},{"title":"Get secret by key","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/secret/v1/key/{key}","href":"/api-reference/secret/get-secret-by-key"},{"title":"List decrypted secrets","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/secret/v1/list-decrypted","href":"/api-reference/secret/list-decrypted-secrets"},{"title":"Get secret","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/secret/v1/{secret_id}","href":"/api-reference/secret/get-secret"},{"title":"Update secret","deprecated":null,"version":null,"openapi":"api-reference/openapi.json put /api/secret/v1/{secret_id}","href":"/api-reference/secret/update-secret"},{"title":"Delete secret","deprecated":null,"version":null,"openapi":"api-reference/openapi.json delete /api/secret/v1/{secret_id}","href":"/api-reference/secret/delete-secret"}]},{"group":"task","pages":[{"title":"List tasks","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/task/v1","href":"/api-reference/task/list-tasks"},{"title":"List contexts","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/task/v1/context","href":"/api-reference/task/list-contexts"},{"title":"List tasks by context","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/task/v1/context/{context_id}/task","href":"/api-reference/task/list-tasks-by-context"},{"title":"Get task","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/task/v1/{task_id}","href":"/api-reference/task/get-task"},{"title":"Update task status","deprecated":null,"version":null,"openapi":"api-reference/openapi.json put /api/task/v1/{task_id}","href":"/api-reference/task/update-task-status"},{"title":"Send message","deprecated":null,"version":null,"openapi":"api-reference/openapi.json post /api/task/v1/{task_id}/message","href":"/api-reference/task/send-message"},{"title":"Get task timeline","deprecated":null,"version":null,"openapi":"api-reference/openapi.json get /api/task/v1/{task_id}/timeline","href":"/api-reference/task/get-task-timeline"}]}]},{"tab":"Secure SaaS MCP integrations","pages":[{"title":"Google","href":"/secure-saas-mcp-integrations/google"},{"title":"Stripe","href":"/secure-saas-mcp-integrations/stripe"}]}]},"title":"MCP function credentials - Soma","buildId":"dpl_5UDDZ9hnigTkoV7QtvQ39eUp84nu","deploymentId":"dpl_5UDDZ9hnigTkoV7QtvQ39eUp84nu","dynamics":["10e4515597"],"chunks":["BannerMarkdown-DDchecE6.js","dist-Bv80vOZR.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-BLvOhwI7.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}