Insert up to 100 registry servers in a single atomic batch. All-or-nothing โ if any row fails validation or violates a constraint (e.g., duplicate saved_name), no rows are inserted and the request returns an error. All servers in the batch are scoped to the default registry; the registry is auto-created if it does not exist.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Enkrypt AI","colors":{"primary":"#ff6b6b","light":"#ff8a80","dark":"#ee5a24"},"logo":{"light":"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/light-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=3e4d5072cef08dc6b8885a03a7821b72","dark":"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/dark-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=2134a9f8208236db09c1727430559527"},"favicon":"https://mintcdn.com/enkryptai-42/rjcjkOmgLVUKmbck/favicon.svg?fit=max\u0026auto=format\u0026n=rjcjkOmgLVUKmbck\u0026q=85\u0026s=89efba126b5f4577a46794f171d766f0","appearance":{"default":"light","strict":false},"background":{"decoration":"gradient","color":{"light":"#fff5f5","dark":"#1a0f0f"}},"navbar":{"links":[{"href":"https://app.enkryptai.com/login","label":"Login"},{"href":"https://www.enkryptai.com/request-a-demo","label":"Schedule Demo"}],"primary":{"type":"button","label":"Learn More","href":"https://enkryptai.com"}},"footer":{"socials":{"x":"https://x.com/enkryptai","linkedin":"https://www.linkedin.com/company/enkryptai","website":"https://enkryptai.com"}},"styling":{"codeblocks":"system","latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"enkryptai-42","hasAudioNarration":false,"actualSubdomain":"enkryptai-42","customDomains":["docs.enkryptai.com"],"gitSource":{"type":"github","owner":"enkryptai","repo":"sentry","deployBranch":"docs-wip","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae1c016d6a250fd1db8d8b2","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":340},{"language":"default","tag":"Get Started","count":65},{"language":"default","tag":"๐๏ธ Archived","count":48},{"language":"default","tag":"Get Started for Guardrails","count":39},{"language":"default","tag":"Examples","count":35},{"language":"default","tag":"๐ด Red Team API","count":30},{"language":"default","tag":"๐ก๏ธ Guardrails API Endpoints","count":24},{"language":"default","tag":"Red Team (Legacy)","count":22},{"language":"default","tag":"Guardrails Policy (Legacy)","count":11},{"language":"default","tag":"Get Started for Red Team","count":11}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers","slug":"/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers","pageMetadata":{"openapi":"POST /mcp-registry/bulk-add-servers","title":"Bulk-create MCP Registry Servers (atomic)","description":"Insert up to 100 registry servers in a single atomic batch. **All-or-nothing** โ if any row fails validation or violates a constraint (e.g., duplicate `saved_name`), no rows are inserted and the request returns an error. All servers in the batch are scoped to the default registry; the registry is auto-created if it does not exist.","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Insert up to 100 registry servers in a single atomic batch. \", _jsx(_components.strong, {\n children: \"All-or-nothing\"\n }), \" โ if any row fails validation or violates a constraint (e.g., duplicate \", _jsx(_components.code, {\n children: \"saved_name\"\n }), \"), no rows are inserted and the request returns an error. All servers in the batch are scoped to the default registry; the registry is auto-created if it does not exist.\"]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}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":{"codeStyling":"system","config":{},"pageMetadata":{"openapi":"POST /mcp-registry/bulk-add-servers","title":"Bulk-create MCP Registry Servers (atomic)","description":"Insert up to 100 registry servers in a single atomic batch. **All-or-nothing** โ if any row fails validation or violates a constraint (e.g., duplicate `saved_name`), no rows are inserted and the request returns an error. All servers in the batch are scoped to the default registry; the registry is auto-created if it does not exist.","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Bulk-create MCP Registry Servers (atomic)","operationId":"bulkAddRegistryServers","tags":["MCP Registry Servers"],"description":"Insert up to 100 registry servers in a single atomic batch. **All-or-nothing** โ if any row fails validation or violates a constraint (e.g., duplicate `saved_name`), no rows are inserted and the request returns an error. All servers in the batch are scoped to the default registry; the registry is auto-created if it does not exist.","requestBody":"f18a964b-1205-4a16-a536-0543db1cb7dc","responses":{"200":"2f3c1703-132e-42a4-9769-58a3fd1917a2","400":"79522f7a-814d-4d3c-b704-6fb28bb996aa","401":"25d35132-d903-4e2d-b710-a82389a9a5b2","403":"55cea140-f8d7-4c2a-8bf7-62541fa1deaa","409":"e48319ca-5d64-48e7-bd85-ee28c6a55a14","413":"bd5d116c-b955-4e21-ae54-cb38c0e91bce","500":"4bca778f-22ef-44e4-b4c8-5668ba2ff598"},"method":"post","type":"path","servers":["46d259d2-9225-46ce-aca1-4e05427371e5"],"security":["8565320a-4e60-418d-8700-2d1d509f0638"],"path":"/mcp-registry/bulk-add-servers","baseUrlOptions":["https://api.enkryptai.com"],"title":"Bulk-create MCP Registry Servers (atomic)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["servers"],"properties":{"servers":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","required":["saved_name"],"properties":{"saved_name":{"type":"string","maxLength":32,"description":"User-given name for the server, unique per project and version","example":"my-filesystem-server","isRequired":true,"uniqueKey":"servers.items.[INDEX].saved_name","typeLabel":"string"},"server_version":{"type":"string","default":"v1","description":"Server version (v1, v2, etc.)","example":"v1","uniqueKey":"servers.items.[INDEX].server_version","typeLabel":"string"},"is_active":{"type":"boolean","default":true,"description":"Whether the server is enabled. Inactive servers are hidden from gateway resolution but not soft-deleted.","uniqueKey":"servers.items.[INDEX].is_active","typeLabel":"boolean"},"job_id":{"oneOf":[{"type":"string","format":"uuid","description":"MCP Hub server identifier (UUID). Optional โ manually-configured servers may omit it.","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"servers.items.[INDEX].job_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"MCP Hub server identifier (UUID). Optional โ manually-configured servers may omit it.","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"servers.items.[INDEX].job_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"servers.items.[INDEX].job_id","typeLabel":"string\u003cuuid> | null"},"source_url":{"oneOf":[{"type":"string","description":"Source URL (e.g., GitHub link)","example":"https://github.com/modelcontextprotocol/servers","uniqueKey":"servers.items.[INDEX].source_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Source URL (e.g., GitHub link)","example":"https://github.com/modelcontextprotocol/servers","uniqueKey":"servers.items.[INDEX].source_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"servers.items.[INDEX].source_url","typeLabel":"string | null"},"source_version":{"oneOf":[{"type":"string","description":"Source version or commit hash","example":"v0.6.2","uniqueKey":"servers.items.[INDEX].source_version.oneOf.0","typeLabel":"string"},{"type":"null","description":"Source version or commit hash","example":"v0.6.2","uniqueKey":"servers.items.[INDEX].source_version.oneOf.1","typeLabel":"null"}],"uniqueKey":"servers.items.[INDEX].source_version","typeLabel":"string | null"},"server_name":{"oneOf":[{"type":"string","description":"Server package name","example":"@modelcontextprotocol/server-filesystem","uniqueKey":"servers.items.[INDEX].server_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Server package name","example":"@modelcontextprotocol/server-filesystem","uniqueKey":"servers.items.[INDEX].server_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"servers.items.[INDEX].server_name","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"Human-readable server description","example":"Filesystem access for MCP","uniqueKey":"servers.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Human-readable server description","example":"Filesystem access for MCP","uniqueKey":"servers.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"servers.items.[INDEX].description","typeLabel":"string | null"},"mcp_config":{"type":"object","description":"MCP server configuration template. Shape mirrors a single entry of secure-mcp-gateway's `mcp_configs.\u003cid>.mcp_config[]` array, so the registry server's mcp_config is directly consumable by the gateway runtime.","properties":{"config":{"type":"object","description":"Server execution configuration","properties":{"command":{"type":"string","description":"Command to execute the MCP server","example":"npx","uniqueKey":"servers.items.[INDEX].mcp_config.config.command","typeLabel":"string"},"args":{"type":"array","items":{"type":"string","uniqueKey":"servers.items.[INDEX].mcp_config.config.args.items.[INDEX]","typeLabel":"string"},"description":"Command-line arguments","example":["-y","@modelcontextprotocol/server-filesystem","/tmp"],"uniqueKey":"servers.items.[INDEX].mcp_config.config.args","typeLabel":"string[]"},"env":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"servers.items.[INDEX].mcp_config.config.env.additionalProperties","typeLabel":"string"},"description":"Environment variables passed to the MCP server process at spawn time. Use this for credentials the server needs (e.g. `OPENAI_API_KEY`, `GITHUB_TOKEN`). Values are strings only. When omitted, the server inherits the gateway's environment subject to the sandbox `allowed_env` allowlist.","example":{"OPENAI_API_KEY":"sk-...","LOG_LEVEL":"info"},"uniqueKey":"servers.items.[INDEX].mcp_config.config.env","typeLabel":"object"}},"uniqueKey":"servers.items.[INDEX].mcp_config.config","typeLabel":"object"},"oauth_config":{"type":"object","description":"OAuth 2.0/2.1 configuration for MCP server with support for PKCE, mTLS, and advanced security features","properties":{"enabled":{"type":"boolean","description":"Enable OAuth authentication","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.enabled","typeLabel":"boolean"},"is_remote":{"type":"boolean","description":"Whether OAuth service is remote","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.is_remote","typeLabel":"boolean"},"OAUTH_VERSION":{"type":"string","description":"OAuth version (2.0 or 2.1)","example":"2.1","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_VERSION","typeLabel":"string"},"OAUTH_GRANT_TYPE":{"type":"string","description":"OAuth grant type","example":"authorization_code","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_GRANT_TYPE","typeLabel":"string"},"OAUTH_CLIENT_ID":{"type":"string","description":"OAuth client identifier","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CLIENT_ID","typeLabel":"string"},"OAUTH_CLIENT_SECRET":{"type":"string","description":"OAuth client secret","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CLIENT_SECRET","typeLabel":"string"},"OAUTH_TOKEN_URL":{"type":"string","format":"uri","description":"OAuth token endpoint URL","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_TOKEN_URL","typeLabel":"string\u003curi>"},"OAUTH_AUTHORIZATION_URL":{"type":"string","format":"uri","description":"OAuth authorization endpoint URL","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_AUTHORIZATION_URL","typeLabel":"string\u003curi>"},"OAUTH_REDIRECT_URI":{"type":"string","format":"uri","description":"OAuth redirect URI for callbacks","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_REDIRECT_URI","typeLabel":"string\u003curi>"},"OAUTH_AUDIENCE":{"type":"string","description":"OAuth audience parameter","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_AUDIENCE","typeLabel":"string"},"OAUTH_ORGANIZATION":{"type":"string","description":"OAuth organization identifier","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_ORGANIZATION","typeLabel":"string"},"OAUTH_SCOPE":{"type":"string","description":"Space-separated OAuth scopes","example":"read write","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_SCOPE","typeLabel":"string"},"OAUTH_RESOURCE":{"type":"string","format":"uri","description":"OAuth resource parameter","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_RESOURCE","typeLabel":"string\u003curi>"},"OAUTH_USE_PKCE":{"type":"boolean","description":"Enable Proof Key for Code Exchange (PKCE)","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_USE_PKCE","typeLabel":"boolean"},"OAUTH_CODE_CHALLENGE_METHOD":{"type":"string","description":"PKCE code challenge method","example":"S256","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CODE_CHALLENGE_METHOD","typeLabel":"string"},"OAUTH_TOKEN_EXPIRY_BUFFER":{"type":"integer","description":"Token expiry buffer in seconds","example":300,"uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_TOKEN_EXPIRY_BUFFER","typeLabel":"integer"},"OAUTH_USE_BASIC_AUTH":{"type":"boolean","description":"Use HTTP Basic Auth for token requests","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_USE_BASIC_AUTH","typeLabel":"boolean"},"OAUTH_ENFORCE_HTTPS":{"type":"boolean","description":"Enforce HTTPS for OAuth endpoints","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_ENFORCE_HTTPS","typeLabel":"boolean"},"OAUTH_TOKEN_IN_HEADER_ONLY":{"type":"boolean","description":"Only send tokens in Authorization header","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_TOKEN_IN_HEADER_ONLY","typeLabel":"boolean"},"OAUTH_VALIDATE_SCOPES":{"type":"boolean","description":"Validate OAuth scopes","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_VALIDATE_SCOPES","typeLabel":"boolean"},"OAUTH_USE_MTLS":{"type":"boolean","description":"Enable mutual TLS (mTLS)","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_USE_MTLS","typeLabel":"boolean"},"OAUTH_CLIENT_CERT_PATH":{"oneOf":[{"type":"string","description":"Path to client certificate for mTLS","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CLIENT_CERT_PATH.oneOf.0","typeLabel":"string"},{"type":"null","description":"Path to client certificate for mTLS","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CLIENT_CERT_PATH.oneOf.1","typeLabel":"null"}],"uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CLIENT_CERT_PATH","typeLabel":"string | null"},"OAUTH_CLIENT_KEY_PATH":{"oneOf":[{"type":"string","description":"Path to client private key for mTLS","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CLIENT_KEY_PATH.oneOf.0","typeLabel":"string"},{"type":"null","description":"Path to client private key for mTLS","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CLIENT_KEY_PATH.oneOf.1","typeLabel":"null"}],"uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CLIENT_KEY_PATH","typeLabel":"string | null"},"OAUTH_CA_BUNDLE_PATH":{"oneOf":[{"type":"string","description":"Path to CA certificate bundle","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CA_BUNDLE_PATH.oneOf.0","typeLabel":"string"},{"type":"null","description":"Path to CA certificate bundle","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CA_BUNDLE_PATH.oneOf.1","typeLabel":"null"}],"uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CA_BUNDLE_PATH","typeLabel":"string | null"},"OAUTH_REVOCATION_URL":{"oneOf":[{"type":"string","format":"uri","description":"OAuth token revocation endpoint","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_REVOCATION_URL.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"OAuth token revocation endpoint","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_REVOCATION_URL.oneOf.1","typeLabel":"null"}],"uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_REVOCATION_URL","typeLabel":"string\u003curi> | null"},"OAUTH_ADDITIONAL_PARAMS":{"type":"object","additionalProperties":true,"description":"Additional OAuth parameters","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_ADDITIONAL_PARAMS","typeLabel":"object"},"OAUTH_CUSTOM_HEADERS":{"type":"object","additionalProperties":true,"description":"Custom headers for OAuth requests","uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config.OAUTH_CUSTOM_HEADERS","typeLabel":"object"}},"uniqueKey":"servers.items.[INDEX].mcp_config.oauth_config","typeLabel":"object"},"tools":{"type":"object","additionalProperties":true,"description":"Tool restrictions and per-tool overrides. Empty object means no per-tool customisation.","uniqueKey":"servers.items.[INDEX].mcp_config.tools","typeLabel":"object"},"denied_tools":{"type":"array","description":"Tools to deny. Each entry is either a tool-name string supporting fnmatch globs (e.g. `\"delete_*\"`, `\"*\"`) or an object with `name`, `reason`, and optional `description` fields. The wildcard `\"*\"` denies everything **not** explicitly listed in `tools` (deny-all with allow-list exemption). Denied tools are filtered out before being exposed to LLMs and rejected at execution time.","items":{"oneOf":[{"type":"string","description":"A deny-list entry. Either a bare tool-name string (supports fnmatch globs like `\"tool_a_*\"` or `\"*\"`), or an object with at least a `name` field plus optional `reason` and `description`. The wildcard `\"*\"` denies all tools **not** explicitly listed in the `tools` allow-list.","example":"delete_*","uniqueKey":"servers.items.[INDEX].mcp_config.denied_tools.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"object","description":"A deny-list entry. Either a bare tool-name string (supports fnmatch globs like `\"tool_a_*\"` or `\"*\"`), or an object with at least a `name` field plus optional `reason` and `description`. The wildcard `\"*\"` denies all tools **not** explicitly listed in the `tools` allow-list.","required":["name"],"properties":{"name":{"type":"string","description":"Tool name or fnmatch glob pattern","example":"delete_file","isRequired":true,"uniqueKey":"servers.items.[INDEX].mcp_config.denied_tools.items.[INDEX].oneOf.1.name","typeLabel":"string"},"reason":{"type":"string","description":"Human-readable reason surfaced to LLMs, callers, and audit logs","example":"destructive operation, denied by policy","uniqueKey":"servers.items.[INDEX].mcp_config.denied_tools.items.[INDEX].oneOf.1.reason","typeLabel":"string"},"description":{"type":"string","description":"Optional longer description for documentation purposes","uniqueKey":"servers.items.[INDEX].mcp_config.denied_tools.items.[INDEX].oneOf.1.description","typeLabel":"string"}},"uniqueKey":"servers.items.[INDEX].mcp_config.denied_tools.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"servers.items.[INDEX].mcp_config.denied_tools.items.[INDEX]","typeLabel":"string | object"},"example":["delete_*",{"name":"write_file","reason":"destructive"}],"uniqueKey":"servers.items.[INDEX].mcp_config.denied_tools","typeLabel":"(string | object)[]"},"input_guardrails_config":{"type":"object","description":"Guardrails configuration","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"servers.items.[INDEX].mcp_config.input_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"servers.items.[INDEX].mcp_config.input_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"servers.items.[INDEX].mcp_config.input_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"servers.items.[INDEX].mcp_config.input_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"servers.items.[INDEX].mcp_config.input_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"servers.items.[INDEX].mcp_config.input_guardrails_config","typeLabel":"object"},"output_guardrails_config":{"type":"object","description":"Guardrails configuration","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"servers.items.[INDEX].mcp_config.output_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"servers.items.[INDEX].mcp_config.output_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"servers.items.[INDEX].mcp_config.output_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"servers.items.[INDEX].mcp_config.output_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"servers.items.[INDEX].mcp_config.output_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"servers.items.[INDEX].mcp_config.output_guardrails_config","typeLabel":"object"}},"uniqueKey":"servers.items.[INDEX].mcp_config","typeLabel":"object"}},"uniqueKey":"servers.items.[INDEX]","typeLabel":"object"},"description":"Array of 1-100 server payloads. The whole batch is atomic โ if any item fails validation or violates a unique constraint, no rows are inserted.","isRequired":true,"uniqueKey":"servers","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"two-servers":{"title":"two-servers","value":{"servers":[{"saved_name":"my-filesystem-server","server_version":"v1","job_id":"550e8400-e29b-41d4-a716-446655440000","mcp_config":{"config":{"command":"npx","args":["-y","@modelcontextprotocol/server-filesystem","/tmp"]}}},{"saved_name":"my-github-server","server_version":"v1","mcp_config":{"config":{"command":"npx","args":["-y","@modelcontextprotocol/server-github"]}}}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"2f3c1703-132e-42a4-9769-58a3fd1917a2":{"description":"Servers created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"registry_name":{"type":"string","uniqueKey":"registry_name","typeLabel":"string"},"count":{"type":"integer","uniqueKey":"count","typeLabel":"integer"},"data":{"type":"array","items":{"type":"object","properties":{"saved_name":{"type":"string","description":"User-given name for the server","uniqueKey":"data.items.[INDEX].saved_name","typeLabel":"string"},"server_version":{"type":"string","description":"Server version","uniqueKey":"data.items.[INDEX].server_version","typeLabel":"string"},"job_id":{"oneOf":[{"type":"string","format":"uuid","description":"MCP Hub server identifier (optional)","uniqueKey":"data.items.[INDEX].job_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"MCP Hub server identifier (optional)","uniqueKey":"data.items.[INDEX].job_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].job_id","typeLabel":"string\u003cuuid> | null"},"source_url":{"oneOf":[{"type":"string","description":"Source URL","uniqueKey":"data.items.[INDEX].source_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Source URL","uniqueKey":"data.items.[INDEX].source_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].source_url","typeLabel":"string | null"},"source_version":{"oneOf":[{"type":"string","description":"Source version or commit hash","uniqueKey":"data.items.[INDEX].source_version.oneOf.0","typeLabel":"string"},{"type":"null","description":"Source version or commit hash","uniqueKey":"data.items.[INDEX].source_version.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].source_version","typeLabel":"string | null"},"server_name":{"oneOf":[{"type":"string","description":"Server package name","uniqueKey":"data.items.[INDEX].server_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Server package name","uniqueKey":"data.items.[INDEX].server_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].server_name","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"Server description","uniqueKey":"data.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Server description","uniqueKey":"data.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].description","typeLabel":"string | null"},"mcp_config":{"oneOf":[{"type":"object","description":"MCP server configuration template. Shape mirrors a single entry of secure-mcp-gateway's `mcp_configs.\u003cid>.mcp_config[]` array, so the registry server's mcp_config is directly consumable by the gateway runtime.","properties":{"config":{"type":"object","description":"Server execution configuration","properties":{"command":{"type":"string","description":"Command to execute the MCP server","example":"npx","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.config.command","typeLabel":"string"},"args":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.config.args.items.[INDEX]","typeLabel":"string"},"description":"Command-line arguments","example":["-y","@modelcontextprotocol/server-filesystem","/tmp"],"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.config.args","typeLabel":"string[]"},"env":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.config.env.additionalProperties","typeLabel":"string"},"description":"Environment variables passed to the MCP server process at spawn time. Use this for credentials the server needs (e.g. `OPENAI_API_KEY`, `GITHUB_TOKEN`). Values are strings only. When omitted, the server inherits the gateway's environment subject to the sandbox `allowed_env` allowlist.","example":{"OPENAI_API_KEY":"sk-...","LOG_LEVEL":"info"},"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.config.env","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.config","typeLabel":"object"},"oauth_config":{"type":"object","description":"OAuth 2.0/2.1 configuration for MCP server with support for PKCE, mTLS, and advanced security features","properties":{"enabled":{"type":"boolean","description":"Enable OAuth authentication","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.enabled","typeLabel":"boolean"},"is_remote":{"type":"boolean","description":"Whether OAuth service is remote","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.is_remote","typeLabel":"boolean"},"OAUTH_VERSION":{"type":"string","description":"OAuth version (2.0 or 2.1)","example":"2.1","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_VERSION","typeLabel":"string"},"OAUTH_GRANT_TYPE":{"type":"string","description":"OAuth grant type","example":"authorization_code","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_GRANT_TYPE","typeLabel":"string"},"OAUTH_CLIENT_ID":{"type":"string","description":"OAuth client identifier","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CLIENT_ID","typeLabel":"string"},"OAUTH_CLIENT_SECRET":{"type":"string","description":"OAuth client secret","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CLIENT_SECRET","typeLabel":"string"},"OAUTH_TOKEN_URL":{"type":"string","format":"uri","description":"OAuth token endpoint URL","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_TOKEN_URL","typeLabel":"string\u003curi>"},"OAUTH_AUTHORIZATION_URL":{"type":"string","format":"uri","description":"OAuth authorization endpoint URL","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_AUTHORIZATION_URL","typeLabel":"string\u003curi>"},"OAUTH_REDIRECT_URI":{"type":"string","format":"uri","description":"OAuth redirect URI for callbacks","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_REDIRECT_URI","typeLabel":"string\u003curi>"},"OAUTH_AUDIENCE":{"type":"string","description":"OAuth audience parameter","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_AUDIENCE","typeLabel":"string"},"OAUTH_ORGANIZATION":{"type":"string","description":"OAuth organization identifier","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_ORGANIZATION","typeLabel":"string"},"OAUTH_SCOPE":{"type":"string","description":"Space-separated OAuth scopes","example":"read write","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_SCOPE","typeLabel":"string"},"OAUTH_RESOURCE":{"type":"string","format":"uri","description":"OAuth resource parameter","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_RESOURCE","typeLabel":"string\u003curi>"},"OAUTH_USE_PKCE":{"type":"boolean","description":"Enable Proof Key for Code Exchange (PKCE)","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_USE_PKCE","typeLabel":"boolean"},"OAUTH_CODE_CHALLENGE_METHOD":{"type":"string","description":"PKCE code challenge method","example":"S256","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CODE_CHALLENGE_METHOD","typeLabel":"string"},"OAUTH_TOKEN_EXPIRY_BUFFER":{"type":"integer","description":"Token expiry buffer in seconds","example":300,"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_TOKEN_EXPIRY_BUFFER","typeLabel":"integer"},"OAUTH_USE_BASIC_AUTH":{"type":"boolean","description":"Use HTTP Basic Auth for token requests","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_USE_BASIC_AUTH","typeLabel":"boolean"},"OAUTH_ENFORCE_HTTPS":{"type":"boolean","description":"Enforce HTTPS for OAuth endpoints","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_ENFORCE_HTTPS","typeLabel":"boolean"},"OAUTH_TOKEN_IN_HEADER_ONLY":{"type":"boolean","description":"Only send tokens in Authorization header","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_TOKEN_IN_HEADER_ONLY","typeLabel":"boolean"},"OAUTH_VALIDATE_SCOPES":{"type":"boolean","description":"Validate OAuth scopes","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_VALIDATE_SCOPES","typeLabel":"boolean"},"OAUTH_USE_MTLS":{"type":"boolean","description":"Enable mutual TLS (mTLS)","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_USE_MTLS","typeLabel":"boolean"},"OAUTH_CLIENT_CERT_PATH":{"oneOf":[{"type":"string","description":"Path to client certificate for mTLS","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CLIENT_CERT_PATH.oneOf.0","typeLabel":"string"},{"type":"null","description":"Path to client certificate for mTLS","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CLIENT_CERT_PATH.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CLIENT_CERT_PATH","typeLabel":"string | null"},"OAUTH_CLIENT_KEY_PATH":{"oneOf":[{"type":"string","description":"Path to client private key for mTLS","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CLIENT_KEY_PATH.oneOf.0","typeLabel":"string"},{"type":"null","description":"Path to client private key for mTLS","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CLIENT_KEY_PATH.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CLIENT_KEY_PATH","typeLabel":"string | null"},"OAUTH_CA_BUNDLE_PATH":{"oneOf":[{"type":"string","description":"Path to CA certificate bundle","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CA_BUNDLE_PATH.oneOf.0","typeLabel":"string"},{"type":"null","description":"Path to CA certificate bundle","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CA_BUNDLE_PATH.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CA_BUNDLE_PATH","typeLabel":"string | null"},"OAUTH_REVOCATION_URL":{"oneOf":[{"type":"string","format":"uri","description":"OAuth token revocation endpoint","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_REVOCATION_URL.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"OAuth token revocation endpoint","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_REVOCATION_URL.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_REVOCATION_URL","typeLabel":"string\u003curi> | null"},"OAUTH_ADDITIONAL_PARAMS":{"type":"object","additionalProperties":true,"description":"Additional OAuth parameters","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_ADDITIONAL_PARAMS","typeLabel":"object"},"OAUTH_CUSTOM_HEADERS":{"type":"object","additionalProperties":true,"description":"Custom headers for OAuth requests","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config.OAUTH_CUSTOM_HEADERS","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.oauth_config","typeLabel":"object"},"tools":{"type":"object","additionalProperties":true,"description":"Tool restrictions and per-tool overrides. Empty object means no per-tool customisation.","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.tools","typeLabel":"object"},"denied_tools":{"type":"array","description":"Tools to deny. Each entry is either a tool-name string supporting fnmatch globs (e.g. `\"delete_*\"`, `\"*\"`) or an object with `name`, `reason`, and optional `description` fields. The wildcard `\"*\"` denies everything **not** explicitly listed in `tools` (deny-all with allow-list exemption). Denied tools are filtered out before being exposed to LLMs and rejected at execution time.","items":{"oneOf":[{"type":"string","description":"A deny-list entry. Either a bare tool-name string (supports fnmatch globs like `\"tool_a_*\"` or `\"*\"`), or an object with at least a `name` field plus optional `reason` and `description`. The wildcard `\"*\"` denies all tools **not** explicitly listed in the `tools` allow-list.","example":"delete_*","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.denied_tools.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"object","description":"A deny-list entry. Either a bare tool-name string (supports fnmatch globs like `\"tool_a_*\"` or `\"*\"`), or an object with at least a `name` field plus optional `reason` and `description`. The wildcard `\"*\"` denies all tools **not** explicitly listed in the `tools` allow-list.","required":["name"],"properties":{"name":{"type":"string","description":"Tool name or fnmatch glob pattern","example":"delete_file","isRequired":true,"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.denied_tools.items.[INDEX].oneOf.1.name","typeLabel":"string"},"reason":{"type":"string","description":"Human-readable reason surfaced to LLMs, callers, and audit logs","example":"destructive operation, denied by policy","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.denied_tools.items.[INDEX].oneOf.1.reason","typeLabel":"string"},"description":{"type":"string","description":"Optional longer description for documentation purposes","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.denied_tools.items.[INDEX].oneOf.1.description","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.denied_tools.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.denied_tools.items.[INDEX]","typeLabel":"string | object"},"example":["delete_*",{"name":"write_file","reason":"destructive"}],"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.denied_tools","typeLabel":"(string | object)[]"},"input_guardrails_config":{"type":"object","description":"Guardrails configuration","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.input_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.input_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.input_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.input_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.input_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.input_guardrails_config","typeLabel":"object"},"output_guardrails_config":{"type":"object","description":"Guardrails configuration","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.output_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.output_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.output_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.output_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.output_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0.output_guardrails_config","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].mcp_config.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"data.items.[INDEX].mcp_config.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].mcp_config","typeLabel":"object | null"},"registry_id":{"type":"string","description":"Hashed ID of the parent registry this server belongs to","uniqueKey":"data.items.[INDEX].registry_id","typeLabel":"string"},"registry_name":{"type":"string","description":"Name of the parent registry (defaults to \"default\")","uniqueKey":"data.items.[INDEX].registry_name","typeLabel":"string"},"project_name":{"type":"string","description":"Project name","uniqueKey":"data.items.[INDEX].project_name","typeLabel":"string"},"is_active":{"type":"boolean","description":"Whether the server is enabled (distinct from is_deleted)","uniqueKey":"data.items.[INDEX].is_active","typeLabel":"boolean"},"is_sample":{"type":"boolean","description":"Whether this is a sample server","uniqueKey":"data.items.[INDEX].is_sample","typeLabel":"boolean"},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp","uniqueKey":"data.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp","uniqueKey":"data.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"},"created_by":{"oneOf":[{"type":"string","format":"uuid","description":"User ID who created this server","uniqueKey":"data.items.[INDEX].created_by.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"User ID who created this server","uniqueKey":"data.items.[INDEX].created_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].created_by","typeLabel":"string\u003cuuid> | null"},"updated_by":{"oneOf":[{"type":"string","format":"uuid","description":"User ID who last updated this server","uniqueKey":"data.items.[INDEX].updated_by.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"User ID who last updated this server","uniqueKey":"data.items.[INDEX].updated_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].updated_by","typeLabel":"string\u003cuuid> | null"}},"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","registry_name":"\u003cstring>","count":123,"data":[{"saved_name":"\u003cstring>","server_version":"\u003cstring>","job_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","source_url":"\u003cstring>","source_version":"\u003cstring>","server_name":"\u003cstring>","description":"\u003cstring>","mcp_config":{"config":{"command":"npx","args":["-y","@modelcontextprotocol/server-filesystem","/tmp"],"env":{"OPENAI_API_KEY":"sk-...","LOG_LEVEL":"info"}},"oauth_config":{"enabled":true,"is_remote":true,"OAUTH_VERSION":"2.1","OAUTH_GRANT_TYPE":"authorization_code","OAUTH_CLIENT_ID":"\u003cstring>","OAUTH_CLIENT_SECRET":"\u003cstring>","OAUTH_TOKEN_URL":"\u003cstring>","OAUTH_AUTHORIZATION_URL":"\u003cstring>","OAUTH_REDIRECT_URI":"\u003cstring>","OAUTH_AUDIENCE":"\u003cstring>","OAUTH_ORGANIZATION":"\u003cstring>","OAUTH_SCOPE":"read write","OAUTH_RESOURCE":"\u003cstring>","OAUTH_USE_PKCE":true,"OAUTH_CODE_CHALLENGE_METHOD":"S256","OAUTH_TOKEN_EXPIRY_BUFFER":300,"OAUTH_USE_BASIC_AUTH":true,"OAUTH_ENFORCE_HTTPS":true,"OAUTH_TOKEN_IN_HEADER_ONLY":true,"OAUTH_VALIDATE_SCOPES":true,"OAUTH_USE_MTLS":true,"OAUTH_CLIENT_CERT_PATH":"\u003cstring>","OAUTH_CLIENT_KEY_PATH":"\u003cstring>","OAUTH_CA_BUNDLE_PATH":"\u003cstring>","OAUTH_REVOCATION_URL":"\u003cstring>","OAUTH_ADDITIONAL_PARAMS":{},"OAUTH_CUSTOM_HEADERS":{}},"tools":{},"denied_tools":["delete_*",{"name":"write_file","reason":"destructive"}],"input_guardrails_config":{"enabled":true,"guardrail_name":"\u003cstring>","additional_config":{},"block":["policy_violation"]},"output_guardrails_config":{"enabled":true,"guardrail_name":"\u003cstring>","additional_config":{},"block":["policy_violation"]}},"registry_id":"\u003cstring>","registry_name":"\u003cstring>","project_name":"\u003cstring>","is_active":true,"is_sample":true,"created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","created_by":"3c90c3cc-0d44-4b50-8888-8dd25736052a","updated_by":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"79522f7a-814d-4d3c-b704-6fb28bb996aa":{"description":"Bad request - invalid input","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"25d35132-d903-4e2d-b710-a82389a9a5b2":{"description":"Unauthorized - invalid or missing API key","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"55cea140-f8d7-4c2a-8bf7-62541fa1deaa":{"description":"Forbidden - insufficient permissions","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"e48319ca-5d64-48e7-bd85-ee28c6a55a14":{"description":"Conflict - resource already exists","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"bd5d116c-b955-4e21-ae54-cb38c0e91bce":{"description":"Request body too large (more than 100 servers)","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"4bca778f-22ef-44e4-b4c8-5668ba2ff598":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"8565320a-4e60-418d-8700-2d1d509f0638":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"apikey","scopes":[],"schemeName":"apiKeyAuth"}}},"servers":{"46d259d2-9225-46ce-aca1-4e05427371e5":{"url":"https://api.enkryptai.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"apikey","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"apikey","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"apikey"}],"title":"apiKeyAuth"}]},"originalFileLocation":"enkrypt-openapi.json"},"subdomain":"enkryptai-42","siteName":"Enkrypt AI","title":"Bulk-create MCP Registry Servers (atomic) - Enkrypt AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-01T11:41:33.258Z","originalFileLocation":"api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers.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=\"light\"}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=\"Insert up to 100 registry servers in a single atomic batch. All-or-nothing โ if any row fails validation or violates a constraint (e.g., duplicate saved_name), no rows are inserted and the request returns an error. All servers in the batch are scoped to the default registry; the registry is auto-created if it does not exist.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Enkrypt AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_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/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_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/enkryptai-42/zTk8P2FqD4OFror7/_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/enkryptai-42/zTk8P2FqD4OFror7/_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/enkryptai-42/zTk8P2FqD4OFror7/_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/enkryptai-42/zTk8P2FqD4OFror7/_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/enkryptai-42/zTk8P2FqD4OFror7/_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/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Bulk-create MCP Registry Servers (atomic) - Enkrypt AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Insert up to 100 registry servers in a single atomic batch. All-or-nothing โ if any row fails validation or violates a constraint (e.g., duplicate saved_name), no rows are inserted and the request returns an error. All servers in the batch are scoped to the default registry; the registry is auto-created if it does not exist.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Enkrypt AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://enkryptai-42.mintlify.site/_mintlify/api/og/v2?division=%F0%9F%97%82%EF%B8%8F+MCP+Registry+Servers+API\u0026amp;title=Bulk-create+MCP+Registry+Servers+%28atomic%29\u0026amp;description=Insert+up+to+100+registry+servers+in+a+single+atomic+batch.+**All-or-nothing**+%E2%80%94+if+any+row+fails+validation+or+violates+a+constraint+%28e.g.%2C+duplicate+%60saved_na\u0026amp;theme=5c5765592b2aa2fed5d07d28\u0026amp;signature=51b870ac86e6561b23b067b00b41d1f74154f73c680486ab21b01d9e5a259a6e\">\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=\"Bulk-create MCP Registry Servers (atomic) - Enkrypt AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Insert up to 100 registry servers in a single atomic batch. All-or-nothing โ if any row fails validation or violates a constraint (e.g., duplicate saved_name), no rows are inserted and the request returns an error. All servers in the batch are scoped to the default registry; the registry is auto-created if it does not exist.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://enkryptai-42.mintlify.site/_mintlify/api/og/v2?division=%F0%9F%97%82%EF%B8%8F+MCP+Registry+Servers+API\u0026amp;title=Bulk-create+MCP+Registry+Servers+%28atomic%29\u0026amp;description=Insert+up+to+100+registry+servers+in+a+single+atomic+batch.+**All-or-nothing**+%E2%80%94+if+any+row+fails+validation+or+violates+a+constraint+%28e.g.%2C+duplicate+%60saved_na\u0026amp;theme=5c5765592b2aa2fed5d07d28\u0026amp;signature=51b870ac86e6561b23b067b00b41d1f74154f73c680486ab21b01d9e5a259a6e\">\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/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Enkrypt AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff6b6b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.enkryptai.com/#organization\",\"name\":\"Enkrypt AI\",\"url\":\"https://docs.enkryptai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/light-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=3e4d5072cef08dc6b8885a03a7821b72\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.enkryptai.com#website\",\"name\":\"Enkrypt AI\",\"url\":\"https://docs.enkryptai.com\",\"publisher\":{\"@id\":\"https://docs.enkryptai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers#webpage\",\"url\":\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers\",\"name\":\"Bulk-create MCP Registry Servers (atomic)\",\"description\":\"Insert up to 100 registry servers in a single atomic batch. All-or-nothing โ if any row fails validation or violates a constraint (e.g., duplicate saved_name), no rows are inserted and the request returns an error. All servers in the batch are scoped to the default registry; the registry is auto-created if it does not exist.\",\"dateModified\":\"2026-09-01T11:41:33.258Z\",\"isPartOf\":{\"@id\":\"https://docs.enkryptai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.enkryptai.com/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"๐๏ธ MCP Registry Servers API\",\"item\":\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/add-server\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Bulk-create MCP Registry Servers (atomic)\",\"item\":\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers#apireference\",\"headline\":\"Bulk-create MCP Registry Servers (atomic)\",\"name\":\"Bulk-create MCP Registry Servers (atomic)\",\"description\":\"Insert up to 100 registry servers in a single atomic batch. All-or-nothing โ if any row fails validation or violates a constraint (e.g., duplicate saved_name), no rows are inserted and the request returns an error. All servers in the batch are scoped to the default registry; the registry is auto-created if it does not exist.\",\"url\":\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers\",\"mainEntityOfPage\":{\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers#webpage\"},\"dateModified\":\"2026-09-01T11:41:33.258Z\",\"publisher\":{\"@id\":\"https://docs.enkryptai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.enkryptai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Enkrypt AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Enkrypt AI","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home/introduction"}]},{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Overview","href":"/api-reference/introduction"},{"group":"๐ Code of Conduct API","pages":[{"title":"Infer Document","openapi":"POST /guardrails/policy-wizard/infer-document","href":"/api-reference/coc-api-reference/endpoint/infer-document"},{"title":"Generate Rules","openapi":"POST /guardrails/policy-wizard/generate-rules","href":"/api-reference/coc-api-reference/endpoint/generate-rules"},{"title":"Add Policy","openapi":"POST /code-of-conduct/add-policy","href":"/api-reference/coc-api-reference/endpoint/add-policy"},{"title":"Get Policy","openapi":"GET /code-of-conduct/get-policy","href":"/api-reference/coc-api-reference/endpoint/get-policy"},{"title":"Modify Policy","openapi":"PATCH /code-of-conduct/modify-policy","href":"/api-reference/coc-api-reference/endpoint/modify-policy"},{"title":"Delete Policy","openapi":"DELETE /code-of-conduct/delete-policy","href":"/api-reference/coc-api-reference/endpoint/delete-policy"},{"title":"List Policies","openapi":"GET /code-of-conduct/list-policies","href":"/api-reference/coc-api-reference/endpoint/list-policies"}]},{"group":"๐ก๏ธ Guardrails API Endpoints","pages":[{"openapi":"GET /guardrails/health","title":"Health Check","href":"/api-reference/guardrails-api-reference/endpoint/health-check"},{"openapi":"GET /guardrails/status","title":"Status Check","href":"/api-reference/guardrails-api-reference/endpoint/status"},{"openapi":"GET /guardrails/models","title":"Models Loaded","href":"/api-reference/guardrails-api-reference/endpoint/models"},{"openapi":"POST /guardrails/detect","title":"Guardrails Detect","href":"/api-reference/guardrails-api-reference/endpoint/detect"},{"openapi":"POST /guardrails/batch/detect","title":"Guardrails Batch Detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect"},{"title":"Scan URL","openapi":"POST /guardrails/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/scan-url"},{"title":"Scan PDF","openapi":"POST /guardrails/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/scan-pdf"},{"title":"Detect Image","openapi":"POST /guardrails/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/detect-image"},{"title":"Detect Audio","openapi":"POST /guardrails/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/detect-audio"},{"title":"Guardrail Detect Image","openapi":"POST /guardrails/guardrail/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-detect-image"},{"title":"Guardrail Detect Audio","openapi":"POST /guardrails/guardrail/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-detect-audio"},{"openapi":"POST /guardrails/pii","title":"PII anonymization and de-anonymization","href":"/api-reference/guardrails-api-reference/endpoint/pii"},{"openapi":"POST /guardrails/hallucination","title":"Detect Hallucination","href":"/api-reference/guardrails-api-reference/endpoint/hallucination"},{"openapi":"POST /guardrails/adherence","title":"Guardrails Adherence","href":"/api-reference/guardrails-api-reference/endpoint/adherence"},{"openapi":"POST /guardrails/relevancy","title":"Guardrails Relevancy","href":"/api-reference/guardrails-api-reference/endpoint/relevancy"},{"title":"Add Guardrail","openapi":"POST /guardrails/add-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/add-guardrail"},{"title":"Get Guardrail","openapi":"GET /guardrails/get-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/get-guardrail"},{"title":"Modify Guardrail","openapi":"PATCH /guardrails/modify-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/modify-guardrail"},{"title":"Delete Guardrail","openapi":"DELETE /guardrails/delete-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/delete-guardrail"},{"title":"List Guardrails","openapi":"GET /guardrails/list-guardrails","href":"/api-reference/guardrails-api-reference/endpoint/list-guardrails"},{"title":"Detect with Guardrail","openapi":"POST /guardrails/guardrail/detect","href":"/api-reference/guardrails-api-reference/endpoint/detect-using-guardrail"},{"title":"Batch Detect with Guardrail","openapi":"POST /guardrails/guardrail/batch/detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect-using-guardrail"},{"title":"Guardrail Scan URL","openapi":"POST /guardrails/guardrail/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-scan-url"},{"title":"Guardrail Scan PDF","openapi":"POST /guardrails/guardrail/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-scan-pdf"}]},{"group":"๐ค Models API (Endpoints)","pages":[{"openapi":"POST /models/add-model","title":"Create Model","href":"/api-reference/models-api-reference/endpoint/add-model"},{"openapi":"GET /models/get-model","title":"Get Model","href":"/api-reference/models-api-reference/endpoint/get-model"},{"openapi":"PATCH /models/modify-model","title":"Modify Model","href":"/api-reference/models-api-reference/endpoint/modify-model"},{"openapi":"DELETE /models/delete-model","title":"Delete Model","href":"/api-reference/models-api-reference/endpoint/delete-model"},{"title":"List Models","openapi":"GET /models/list-models","href":"/api-reference/models-api-reference/endpoint/list-models"},{"openapi":"GET /models/get-defaults","title":"Get Defaults","href":"/api-reference/models-api-reference/endpoint/get-defaults"}]},{"group":"๐ด Red Team API","pages":[{"openapi":"POST /rt/redteam","title":"Run Redteam","href":"/api-reference/redteam-v2-api-reference/endpoint/run-redteam"},{"openapi":"POST /rt/model/redteam","title":"Run Redteam with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-redteam-saved-model"},{"openapi":"POST /rt/redteam/jailbreak","title":"Run Jailbreak Benchmark","href":"/api-reference/redteam-v2-api-reference/endpoint/run-jailbreak"},{"openapi":"POST /rt/model/redteam/jailbreak","title":"Run Jailbreak Benchmark with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-jailbreak-saved-model"},{"openapi":"POST /rt/threat-modeling","title":"Run Threat Modeling","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling"},{"openapi":"POST /rt/threat-modeling/categories","title":"Run Threat Modeling Categories","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling-categories"},{"openapi":"POST /rt/threat-modeling/data","title":"Run Threat Modeling Data","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling-data"},{"openapi":"POST /rt/playground","title":"Run Playground","href":"/api-reference/redteam-v2-api-reference/endpoint/run-playground"},{"openapi":"POST /rt/model/playground","title":"Run Playground with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-playground-saved-model"},{"openapi":"POST /rt/eval","title":"Submit Eval Batch","href":"/api-reference/redteam-v2-api-reference/endpoint/submit-eval"},{"openapi":"POST /rt/leaderboard","title":"Run Leaderboard","href":"/api-reference/redteam-v2-api-reference/endpoint/run-leaderboard"},{"openapi":"POST /rt/model/leaderboard","title":"Run Leaderboard with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-leaderboard-saved-model"},{"openapi":"GET /rt/runs/{run_id}","title":"Get Run Status","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-status"},{"openapi":"GET /rt/runs/{run_id}/records","title":"Get Run Records","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-records"},{"openapi":"GET /rt/runs/{run_id}/results","title":"Get Run Results","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-results"},{"openapi":"GET /rt/runs/{run_id}/compliance/{framework_id}","title":"Get Compliance Report","href":"/api-reference/redteam-v2-api-reference/endpoint/get-compliance-report"},{"openapi":"POST /rt/runs/{run_id}/signal/{name}","title":"Send Signal","href":"/api-reference/redteam-v2-api-reference/endpoint/send-signal"},{"openapi":"POST /rt/runs/{run_id}/resume","title":"Resume Run","href":"/api-reference/redteam-v2-api-reference/endpoint/resume-run"},{"openapi":"GET /rt/runs/{run_id}/stream","title":"Stream Run Events","href":"/api-reference/redteam-v2-api-reference/endpoint/stream-run-events"},{"openapi":"GET /wss/redteam/v1/logs/tasks/{owner_id}/{job_id}/{model_folder}/app.log","playground":"none","title":"Stream Run Logs (WebSocket)","href":"/api-reference/redteam-v2-api-reference/endpoint/stream-run-logs"},{"openapi":"GET /rt/datasets/{dataset_id}","title":"Get Dataset","href":"/api-reference/redteam-v2-api-reference/endpoint/get-dataset"},{"openapi":"POST /rt/model-health","title":"Model Health","href":"/api-reference/redteam-v2-api-reference/endpoint/model-health"},{"openapi":"POST /rt/model/model-health","title":"Model Health with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/model-health-saved"},{"openapi":"GET /redteam/relay/v1/relay/bridge","playground":"none","title":"Connect a relay bridge (WebSocket)","href":"/api-reference/redteam-v2-api-reference/endpoint/relay-bridge-connect"},{"openapi":"GET /redteam/relay/v1/relay/bridges/{bridge_id}/status","title":"Relay bridge status","href":"/api-reference/redteam-v2-api-reference/endpoint/relay-bridge-status"},{"openapi":"POST /rt/findings","title":"Get findings based on summary","href":"/api-reference/redteam-v2-api-reference/endpoint/get-findings"},{"openapi":"POST /rt/risk-mitigation/system-prompt","title":"Generate a system prompt for risk mitigation based on red teaming test results","href":"/api-reference/redteam-v2-api-reference/endpoint/risk-mitigation-system-prompt"},{"openapi":"POST /rt/risk-mitigation/guardrails-policy","title":"Generate a guardrail and policy for risk mitigation based on summary","href":"/api-reference/redteam-v2-api-reference/endpoint/risk-mitigation-guardrails-policy"},{"openapi":"GET /rt/health","title":"Red Team Health","href":"/api-reference/redteam-v2-api-reference/endpoint/health"},{"openapi":"GET /rt/status-check","title":"Red Team Status Check","href":"/api-reference/redteam-v2-api-reference/endpoint/status-check"}]},{"group":"๐ Deployments API","pages":[{"openapi":"POST /deployments/add-deployment","title":"Create Deployment","href":"/api-reference/deployments-api-reference/endpoint/add-deployment"},{"openapi":"GET /deployments/get-deployment","title":"Get Deployment","href":"/api-reference/deployments-api-reference/endpoint/get-deployment"},{"openapi":"PATCH /deployments/modify-deployment","title":"Modify Deployment","href":"/api-reference/deployments-api-reference/endpoint/modify-deployment"},{"openapi":"DELETE /deployments/delete-deployment","title":"Delete Deployment","href":"/api-reference/deployments-api-reference/endpoint/delete-deployment"},{"title":"List Deployments","openapi":"GET /deployments/list-deployments","href":"/api-reference/deployments-api-reference/endpoint/list-deployments"},{"openapi":"GET /deployments/get-allowed-config","title":"Get Allowed Config","href":"/api-reference/deployments-api-reference/endpoint/get-allowed-config"}]},{"group":"๐ AI Proxy API","pages":[{"openapi":"POST /ai-proxy/chat/completions","title":"AI Chat Completions Proxy Endpoint","href":"/api-reference/ai-proxy-api-reference/endpoint/chat-completions"},{"openapi":"POST /ai-proxy/completions","title":"AI Completions Proxy Endpoint","href":"/api-reference/ai-proxy-api-reference/endpoint/completions"}]},{"group":"๐ MCP Hub API","pages":[{"openapi":"POST /mcp-hub/scan","title":"Start a New Vulnerability Scan","href":"/api-reference/mcp-hub-api-reference/endpoint/scan"},{"openapi":"POST /mcp-hub/scan/hosted","title":"Scan a Hosted MCP Server","href":"/api-reference/mcp-hub-api-reference/endpoint/hosted-scan"},{"openapi":"POST /mcp-hub/scan/hosted/config","title":"Scan MCP Servers from Config JSON","href":"/api-reference/mcp-hub-api-reference/endpoint/hosted-scan-from-config"},{"openapi":"GET /mcp-hub/scan/{job_id}/status","title":"Get Scan Job Status","href":"/api-reference/mcp-hub-api-reference/endpoint/get-status"},{"openapi":"GET /mcp-hub/scan/{job_id}/results","title":"Get Complete Scan Results","href":"/api-reference/mcp-hub-api-reference/endpoint/get-results"},{"openapi":"GET /mcp-hub/scans","title":"List Scans","href":"/api-reference/mcp-hub-api-reference/endpoint/list-scans"},{"openapi":"GET /mcp-hub/dashboard-stats","title":"Get MCP Hub Scan Statistics","href":"/api-reference/mcp-hub-api-reference/endpoint/dashboard-stats"},{"openapi":"GET /mcp-hub/usage","title":"Get MCP Hub API Usage Summary","href":"/api-reference/mcp-hub-api-reference/endpoint/usage"}]},{"group":"๐๏ธ MCP Registry Servers API","pages":[{"openapi":"POST /mcp-registry/add-server","title":"Create MCP Registry Server","description":"Add a new MCP registry server whitelisted from MCP Hub. The server can be referenced by gateways to build complete MCP configurations. The server is scoped to the default registry; the registry is auto-created if it does not exist.","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/add-server"},{"openapi":"POST /mcp-registry/bulk-add-servers","title":"Bulk-create MCP Registry Servers (atomic)","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers"},{"openapi":"GET /mcp-registry/get-server","title":"Get MCP Registry Server","description":"Retrieve details of a specific MCP registry server by saved_name and version. Requires X-Enkrypt-MCP-Registry-Server header.","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/get-server"},{"openapi":"PATCH /mcp-registry/modify-server","title":"Update MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/modify-server"},{"openapi":"DELETE /mcp-registry/delete-server","title":"Delete MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/delete-server"},{"openapi":"GET /mcp-registry/list-servers","title":"List MCP Registry Servers","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/list-servers"},{"openapi":"GET /mcp-registry/list-gateways-by-server","title":"List Gateways by Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/list-gateways-by-server"}]},{"group":"๐ช MCP Gateways API","pages":[{"openapi":"POST /mcp-gateway/add-gateway","title":"Create MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/add-gateway"},{"openapi":"GET /mcp-gateway/get-gateway","title":"Get MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/get-gateway"},{"openapi":"GET /mcp-gateway/get-gateway-config","title":"Get Expanded MCP Gateway Configuration","href":"/api-reference/mcp-gateways-api-reference/endpoint/get-gateway-config"},{"openapi":"PATCH /mcp-gateway/modify-gateway","title":"Update MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway"},{"openapi":"DELETE /mcp-gateway/delete-gateway","title":"Delete MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/delete-gateway"},{"openapi":"GET /mcp-gateway/list-gateways","title":"List MCP Gateways","href":"/api-reference/mcp-gateways-api-reference/endpoint/list-gateways"}]},{"group":"๐งช MCP Playground API","pages":[{"openapi":"POST /mcp-playground/test-server","title":"Test MCP Server Connectivity","href":"/api-reference/mcp-playground-api-reference/endpoint/test-server"},{"openapi":"GET /mcp-playground/get-tools","title":"Get MCP Server Tools","href":"/api-reference/mcp-playground-api-reference/endpoint/get-tools"},{"openapi":"POST /mcp-playground/call-tool","title":"Call MCP Server Tool","href":"/api-reference/mcp-playground-api-reference/endpoint/call-tool"}]},{"group":"๐ Skill Scanner API","pages":[{"openapi":"POST /skill-hub/scan","title":"Submit a Skill Scan","href":"/api-reference/skill-scanner-api-reference/endpoint/scan"},{"openapi":"GET /skill-hub/scans/{scan_id}","title":"Get Skill Scan","href":"/api-reference/skill-scanner-api-reference/endpoint/get-scan"},{"openapi":"GET /skill-hub/scans/{scan_id}/report","title":"Get Skill Scan Report","href":"/api-reference/skill-scanner-api-reference/endpoint/get-report"},{"openapi":"GET /skill-hub/scans","title":"List Skill Scans","href":"/api-reference/skill-scanner-api-reference/endpoint/list-scans"},{"openapi":"GET /skill-hub/healthz","title":"Skill Scanner Health","href":"/api-reference/skill-scanner-api-reference/endpoint/health"}]},{"group":"โ๏ธ Compliance API","pages":[{"openapi":"POST /compliance/test-connection","title":"Test Compliance Connection","href":"/api-reference/compliance-api-reference/endpoint/test-connection"},{"openapi":"POST /compliance/add-scan","title":"Add Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/add-scan"},{"openapi":"GET /compliance/get-scan","title":"Get Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/get-scan"},{"openapi":"PATCH /compliance/modify-scan","title":"Modify Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/modify-scan"},{"openapi":"DELETE /compliance/delete-scan","title":"Delete Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/delete-scan"},{"openapi":"GET /compliance/list-scans","title":"List Compliance Scans","href":"/api-reference/compliance-api-reference/endpoint/list-scans"},{"openapi":"POST /compliance/start-scan","title":"Start Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/start-scan"},{"openapi":"POST /compliance/pause-scan","title":"Pause Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/pause-scan"},{"openapi":"GET /compliance/list-log-files","title":"List Compliance Log Files","href":"/api-reference/compliance-api-reference/endpoint/list-log-files"},{"openapi":"GET /compliance/get-message","title":"Get Compliance Message","href":"/api-reference/compliance-api-reference/endpoint/get-message"}]},{"group":"๐ Leaderboard API","pages":[{"openapi":"GET /leaderboard/v2/models-list","title":"v2 Models List","href":"/api-reference/leaderboard-api-reference/endpoint/v2/models/models-list"},{"openapi":"GET /leaderboard/v2/scores","title":"v2 Scores list","href":"/api-reference/leaderboard-api-reference/endpoint/v2/scores/scores-list"},{"openapi":"GET /leaderboard/v2/scores/{modelName}","title":"v2 Model Score","href":"/api-reference/leaderboard-api-reference/endpoint/v2/scores/model-score"},{"openapi":"GET /leaderboard/v2/details/{modelName}","title":"v2 Model Detail","href":"/api-reference/leaderboard-api-reference/endpoint/v2/details/model-detail"},{"openapi":"GET /leaderboard/v2/summary/{modelName}","title":"v2 Model Summary","href":"/api-reference/leaderboard-api-reference/endpoint/v2/summary/model-summary"},{"openapi":"GET /leaderboard/v2/rank/{modelName}","title":"v2 Model Rank","href":"/api-reference/leaderboard-api-reference/endpoint/v2/rank/model-rank"},{"openapi":"GET /leaderboard/v2/percentiles","title":"v2 Models Risk Percentiles","href":"/api-reference/leaderboard-api-reference/endpoint/v2/percentiles/models-risk-percentiles"}]},{"group":"๐๏ธ Archived","pages":[{"group":"Datasets (Legacy)","pages":[{"openapi":"POST /datasets/add-task","title":"Datasets Add Task","href":"/api-reference/datasets-api-reference/endpoint/add-task"},{"openapi":"GET /datasets/task-status","title":"Datasets Get Task Status","href":"/api-reference/datasets-api-reference/endpoint/task-status"},{"openapi":"GET /datasets/get-task","title":"Datasets Get Task","href":"/api-reference/datasets-api-reference/endpoint/get-task"},{"openapi":"GET /datasets/get-datacard","title":"Datasets Get Datacard","href":"/api-reference/datasets-api-reference/endpoint/get-datacard"},{"openapi":"GET /datasets/get-dataset","title":"Datasets Get Dataset","href":"/api-reference/datasets-api-reference/endpoint/get-dataset"},{"openapi":"GET /datasets/get-summary","title":"Datasets Get Summary","href":"/api-reference/datasets-api-reference/endpoint/get-summary"},{"title":"List Tasks","openapi":"GET /datasets/list-tasks","href":"/api-reference/datasets-api-reference/endpoint/list-tasks"}]},{"group":"Guardrails Policy (Legacy)","pages":[{"title":"Add Policy (Legacy)","openapi":"POST /guardrails/add-policy","href":"/api-reference/guardrails-api-reference/endpoint/add-policy"},{"title":"Get Policy (Legacy)","openapi":"GET /guardrails/get-policy","href":"/api-reference/guardrails-api-reference/endpoint/get-policy"},{"title":"Modify Policy (Legacy)","openapi":"PATCH /guardrails/modify-policy","href":"/api-reference/guardrails-api-reference/endpoint/modify-policy"},{"title":"Delete Policy (Legacy)","openapi":"DELETE /guardrails/delete-policy","href":"/api-reference/guardrails-api-reference/endpoint/delete-policy"},{"title":"List Policies (Legacy)","openapi":"GET /guardrails/list-policies","href":"/api-reference/guardrails-api-reference/endpoint/list-policies"},{"title":"Detect with Policy (Legacy)","openapi":"POST /guardrails/policy/detect","href":"/api-reference/guardrails-api-reference/endpoint/detect-using-policy"},{"title":"Detect Image with Policy (Legacy)","openapi":"POST /guardrails/policy/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/detect-image-using-policy"},{"title":"Detect Audio with Policy (Legacy)","openapi":"POST /guardrails/policy/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/detect-audio-using-policy"},{"title":"Policy Batch Detect (Legacy)","openapi":"POST /guardrails/policy/batch/detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect-using-policy"},{"title":"Policy Scan URL (Legacy)","openapi":"POST /guardrails/policy/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/policy-scan-url"},{"title":"Policy Scan PDF (Legacy)","openapi":"POST /guardrails/policy/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/policy-scan-pdf"}]},{"group":"Red Team (Legacy)","pages":[{"openapi":"GET /redteam/health","title":"Redteam Health","href":"/api-reference/redteam-api-reference/endpoint/health"},{"openapi":"POST /redteam/v3/model-health","title":"Model Health (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-model-health"},{"openapi":"POST /redteam/model/model-health","title":"Model Health of saved model","href":"/api-reference/redteam-api-reference/endpoint/model-health-saved"},{"openapi":"POST /redteam/v3/add-custom-task","title":"Add Custom Task (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-add-custom-task"},{"openapi":"POST /redteam/v3/model/add-custom-task","title":"Add Custom Task with saved model (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-model-add-custom-task"},{"openapi":"PATCH /redteam/cancel-task","title":"Cancel Task","href":"/api-reference/redteam-api-reference/endpoint/cancel-task"},{"openapi":"GET /redteam/get-task","title":"Get Task","href":"/api-reference/redteam-api-reference/endpoint/get-task"},{"openapi":"GET /redteam/task-status","title":"Get Task Status","href":"/api-reference/redteam-api-reference/endpoint/get-task-status"},{"openapi":"GET /redteam/download-link","title":"Get Download Link","href":"/api-reference/redteam-api-reference/endpoint/get-download-link"},{"openapi":"GET /redteam/v3/results/summary","title":"Get Task Results Summary","href":"/api-reference/redteam-api-reference/endpoint/get-results-summary"},{"openapi":"GET /redteam/v3/results/summary/{test_type}","title":"Get Task Results Summary of a specific test type","href":"/api-reference/redteam-api-reference/endpoint/get-summary-test-type"},{"openapi":"GET /redteam/v3/results/details","title":"Get Task Results Details","href":"/api-reference/redteam-api-reference/endpoint/get-all-details"},{"openapi":"GET /redteam/v3/results/details/{test_type}","title":"Get Task Results Details of a specific test type","href":"/api-reference/redteam-api-reference/endpoint/get-details-test-type"},{"openapi":"POST /redteam/findings","title":"Get findings based on summary","href":"/api-reference/redteam-api-reference/endpoint/get-findings"},{"openapi":"POST /redteam/risk-mitigation/system-prompt","title":"Generate a system prompt for risk mitigation based on red teaming test results","href":"/api-reference/redteam-api-reference/endpoint/risk-mitigation-system-prompt"},{"openapi":"POST /redteam/risk-mitigation/guardrails-policy","title":"Generate a guardrail and policy for risk mitigation based on summary","href":"/api-reference/redteam-api-reference/endpoint/risk-mitigation-guardrails-policy"},{"title":"List All Tasks","openapi":"GET /redteam/list-tasks","href":"/api-reference/redteam-api-reference/endpoint/list-all-tasks"},{"openapi":"POST /redteam/model-health","title":"Model Health","href":"/api-reference/redteam-api-reference/endpoint/model-health"},{"openapi":"POST /redteam/v2/add-task","title":"Add Task","href":"/api-reference/redteam-api-reference/endpoint/add-task"},{"openapi":"POST /redteam/v2/model/add-task","title":"Add Task with saved model","href":"/api-reference/redteam-api-reference/endpoint/model-add-task"},{"openapi":"POST /redteam/v2/add-custom-task","title":"Add Custom Task","href":"/api-reference/redteam-api-reference/endpoint/add-custom-task"},{"openapi":"POST /redteam/v2/model/add-custom-task","title":"Add Custom Task with saved model","href":"/api-reference/redteam-api-reference/endpoint/model-add-custom-task"}]},{"group":"Leaderboard","pages":[{"openapi":"GET /leaderboard/models-list","title":"v1 Models List","href":"/api-reference/leaderboard-api-reference/endpoint/v1/models/models-list"},{"openapi":"GET /leaderboard/scores","title":"v1 Scores list","href":"/api-reference/leaderboard-api-reference/endpoint/v1/scores/scores-list"},{"openapi":"GET /leaderboard/scores/{modelName}","title":"v1 Model Score","href":"/api-reference/leaderboard-api-reference/endpoint/v1/scores/model-score"},{"openapi":"GET /leaderboard/details/{modelName}","title":"v1 Model Detail","href":"/api-reference/leaderboard-api-reference/endpoint/v1/details/model-detail"},{"openapi":"GET /leaderboard/summary/{modelName}","title":"v1 Model Summary","href":"/api-reference/leaderboard-api-reference/endpoint/v1/summary/model-summary"},{"openapi":"GET /leaderboard/rank/{modelName}","title":"v1 Model Rank","href":"/api-reference/leaderboard-api-reference/endpoint/v1/rank/model-rank"},{"openapi":"GET /leaderboard/percentiles","title":"v1 Models Risk Percentiles","href":"/api-reference/leaderboard-api-reference/endpoint/v1/percentiles/models-risk-percentiles"}]},{"group":"Policy Atomizer (Legacy)","pages":[{"title":"Policy Atomizer","openapi":"POST /guardrails/policy-atomizer","href":"/api-reference/coc-api-reference/endpoint/policy-atomizer"}]}]}]}]},{"tab":"SDK Reference","pages":[{"title":"SDK Reference","href":"/sdk-reference/python/introduction"}]},{"tab":"Schema and Postman","pages":[{"title":"Schema and Postman","href":"/schema-and-postman/introduction"}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/resources/introduction"}]}]},"basePath":"","title":"Bulk-create MCP Registry Servers (atomic) - Enkrypt AI","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}