Storm MCP · Schema
KnownMcpServer
Static catalog definition of an available MCP server, loaded from known-mcp-servers.json.
CompanyCloudIntegrationAutomationSecurityLow-Code
Properties
| Name | Type | Description |
|---|---|---|
| oAuthCreationMethod | object | |
| images | nullarray | Gets or sets the images for the MCP server. |
| documentation | object | |
| systemRequirements | object | |
| addedDate | nullstring | Gets or sets the date when the app was added to the catalog. |
| permissionDescriptions | nullobject | Gets or sets the permission descriptions mapping permission names to their descriptions. |
| landingPage | object | |
| videos | nullarray | Gets or sets the tutorial videos. |
| links | object | |
| credentialProviderConfigIds | nullobject | Gets or sets the seeded `CredentialProviderConfigId`s for this server, keyed by UCS realm name (e.g. `storm-mcp`, `airia-platform`). MCPG-816: source of truth for the running realm's `CredentialProvid |
| id | string | Gets or sets the unique identifier for the server. |
| provider | object | Gets or sets the known MCP server provider identifier. |
| type | object | Gets or sets the server type (Remote, Sandbox, Hosted, McpLink). |
| name | string | Gets or sets the display name of the server. |
| description | string | Gets or sets the brief description of the server. |
| scopes | array | Gets or sets the OAuth scopes required by the server. |
| authType | array | Gets or sets the supported authentication types. |
| tags | array | Gets or sets the tags associated with the server. |
| category | string | Gets or sets the category of the server. |
| status | object | Gets or sets the catalog status of the server. |
| availability | object | Gets or sets the availability of the server. Defaults to General if not specified. |
| featured | boolean | Gets or sets a value indicating whether this server is featured. Featured servers are curated, high-profile integrations highlighted in the catalog. |
| longDescription | nullstring | Gets or sets the detailed description of the server. |
| features | nullarray | Gets or sets the list of key features. |
| ui | object | |
| remoteConfig | object | |
| requestTimeoutSeconds | integerstring | Gets or sets the request timeout in seconds for waiting for responses from the server. Default: 60 seconds. Set higher for servers that may take longer to process requests. |
| testEndpoint | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/stormmcp/main/json-schema/stormmcp-known-mcp-server-schema.json",
"title": "KnownMcpServer",
"description": "Static catalog definition of an available MCP server, loaded from known-mcp-servers.json.",
"x-generated": "2026-10-19",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/stormmcp-openapi.json#/components/schemas/KnownMcpServer",
"type": "object",
"properties": {
"oAuthCreationMethod": {
"oneOf": [
{
"type": "null"
},
{
"description": "Gets or sets the OAuth creation method for OAuth-enabled servers.\nDetermines whether OAuth credentials are obtained via DCR (automatic) or Manual (user-provided).",
"$ref": "#/$defs/OAuthCreationMethod"
}
]
},
"images": {
"type": [
"null",
"array"
],
"items": {
"$ref": "#/$defs/McpImage"
},
"description": "Gets or sets the images for the MCP server."
},
"documentation": {
"oneOf": [
{
"type": "null"
},
{
"description": "Gets or sets the documentation links for the MCP server.",
"$ref": "#/$defs/McpDocumentation"
}
]
},
"systemRequirements": {
"oneOf": [
{
"type": "null"
},
{
"description": "Gets or sets the system requirements for locally installed apps.",
"$ref": "#/$defs/McpSystemRequirements"
}
]
},
"addedDate": {
"type": [
"null",
"string"
],
"description": "Gets or sets the date when the app was added to the catalog."
},
"permissionDescriptions": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets the permission descriptions mapping permission names to their descriptions."
},
"landingPage": {
"oneOf": [
{
"type": "null"
},
{
"description": "Gets or sets the landing page information.",
"$ref": "#/$defs/LandingPage"
}
]
},
"videos": {
"type": [
"null",
"array"
],
"items": {
"$ref": "#/$defs/Video"
},
"description": "Gets or sets the tutorial videos."
},
"links": {
"oneOf": [
{
"type": "null"
},
{
"description": "Gets or sets the various links related to the app.",
"$ref": "#/$defs/Links"
}
]
},
"credentialProviderConfigIds": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string",
"format": "uuid"
},
"description": "Gets or sets the seeded `CredentialProviderConfigId`s for this server,\nkeyed by UCS realm name (e.g. `storm-mcp`, `airia-platform`).\nMCPG-816: source of truth for the running realm's\n`CredentialProviderConfigId` for the legacy hosted providers\n(MicrosoftGraph, GoogleSuite, Slack, Atlassian) that pre-date the\n`CredentialProviderConfigId` model. The closed provider allow-list\nand the McpServerType.Hosted structural invariant are\nenforced by `known-mcp-servers.schema.json` at edit / CI time;\n`SeededCredentialProviderConfigResolver` re-checks the structural\ninvariant at request time and surfaces malformed seeds via\nInvalidSeed. Never copied\nonto the integration row; readers consult this map only via the\nresolver service, which has the running realm pre-bound."
},
"id": {
"type": "string",
"description": "Gets or sets the unique identifier for the server.",
"format": "uuid"
},
"provider": {
"description": "Gets or sets the known MCP server provider identifier.",
"$ref": "#/$defs/KnownMcpProvider"
},
"type": {
"description": "Gets or sets the server type (Remote, Sandbox, Hosted, McpLink).",
"$ref": "#/$defs/McpServerType"
},
"name": {
"type": "string",
"description": "Gets or sets the display name of the server."
},
"description": {
"type": "string",
"description": "Gets or sets the brief description of the server."
},
"scopes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the OAuth scopes required by the server."
},
"authType": {
"type": "array",
"items": {
"$ref": "#/$defs/McpServerAuthType"
},
"description": "Gets or sets the supported authentication types."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the tags associated with the server."
},
"category": {
"type": "string",
"description": "Gets or sets the category of the server."
},
"status": {
"description": "Gets or sets the catalog status of the server.",
"$ref": "#/$defs/McpServerStatus"
},
"availability": {
"description": "Gets or sets the availability of the server.\nDefaults to General if not specified.",
"$ref": "#/$defs/ServerAvailability"
},
"featured": {
"type": "boolean",
"description": "Gets or sets a value indicating whether this server is featured.\nFeatured servers are curated, high-profile integrations highlighted in the catalog."
},
"longDescription": {
"type": [
"null",
"string"
],
"description": "Gets or sets the detailed description of the server."
},
"features": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "Gets or sets the list of key features."
},
"ui": {
"oneOf": [
{
"type": "null"
},
{
"description": "Gets or sets the UI configuration for the server.",
"$ref": "#/$defs/UiConfiguration"
}
]
},
"remoteConfig": {
"oneOf": [
{
"type": "null"
},
{
"description": "Gets or sets the remote server configuration.\nContains Uri, Transport, and other remote-specific settings.",
"$ref": "#/$defs/RemoteServerConfig"
}
]
},
"requestTimeoutSeconds": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"description": "Gets or sets the request timeout in seconds for waiting for responses from the server.\nDefault: 60 seconds. Set higher for servers that may take longer to process requests.",
"format": "int32"
},
"testEndpoint": {
"oneOf": [
{
"type": "null"
},
{
"description": "Gets or sets the test endpoint configuration for credential validation.",
"$ref": "#/$defs/TestEndpointConfig"
}
]
}
},
"$defs": {
"KnownMcpProvider": {
"type": "integer",
"description": "An MCP Server provider type."
},
"LandingPage": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Gets or sets the URL of the landing page."
},
"screenshot": {
"type": [
"null",
"string"
],
"description": "Gets or sets the screenshot URL for the landing page."
}
},
"description": "Landing page information for the MCP server."
},
"Links": {
"type": "object",
"properties": {
"mainSite": {
"type": [
"null",
"string"
],
"description": "Gets or sets the main site URL."
},
"documentation": {
"type": [
"null",
"string"
],
"description": "Gets or sets the documentation URL."
},
"apiKeyCreation": {
"type": [
"null",
"string"
],
"description": "Gets or sets the API key creation URL."
}
},
"description": "Various links related to the MCP server."
},
"McpDocumentation": {
"type": "object",
"properties": {
"official": {
"type": [
"null",
"string"
],
"description": "Gets or sets the official documentation URL."
},
"internal": {
"type": [
"null",
"string"
],
"description": "Gets or sets the internal documentation path."
},
"setup": {
"type": [
"null",
"string"
],
"description": "Gets or sets the setup guide path."
}
},
"description": "Documentation links."
},
"McpImage": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Gets or sets the image URL."
},
"alt": {
"type": "string",
"description": "Gets or sets the alt text for the image."
},
"caption": {
"type": [
"null",
"string"
],
"description": "Gets or sets the optional caption for the image."
}
},
"description": "Image for the MCP server gallery."
},
"McpServerAuthType": {
"type": "integer",
"description": "An enumeration representing the authentication types for MCP servers."
},
"McpServerStatus": {
"enum": [
"Available",
"ComingSoon",
"Beta",
"Deprecated",
"Custom"
],
"description": "Availability status for MCP servers."
},
"McpServerType": {
"type": "integer",
"description": "An mcp server type enumeration."
},
"McpSystemRequirements": {
"type": "object",
"properties": {
"os": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the supported operating systems."
},
"runtime": {
"type": [
"null",
"string"
],
"description": "Gets or sets the required runtime."
},
"minVersion": {
"type": [
"null",
"string"
],
"description": "Gets or sets the minimum runtime version."
}
},
"description": "System requirements for locally installed applications."
},
"OAuthConfig": {
"type": "object",
"properties": {
"authorizationEndpoint": {
"type": "string",
"description": "Gets or sets the OAuth authorization endpoint URL."
},
"tokenEndpoint": {
"type": "string",
"description": "Gets or sets the OAuth token endpoint URL."
},
"revokeEndpoint": {
"type": [
"null",
"string"
],
"description": "Gets or sets the OAuth token revocation endpoint URL (optional)."
},
"refreshTokenEndpoint": {
"type": [
"null",
"string"
],
"description": "Gets or sets the OAuth refresh token endpoint URL (optional).\nWARNING: User Credential Store currently does not support separate refresh endpoints."
},
"grantType": {
"type": "string",
"description": "Gets or sets the grant type (default: Authorization Code with PKCE)."
},
"scopeSeparator": {
"type": "string",
"description": "Gets or sets the scope separator character (default: space)."
},
"tokenEndpointAuthMethod": {
"type": "string",
"description": "Gets or sets the token endpoint authentication method."
},
"grantTypesSupported": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the grant types supported (default: [\"authorization_code\"])."
},
"responseTypesSupported": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the response types supported (default: [\"code\"])."
},
"codeChallengeMethodsSupported": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the code challenge methods supported for PKCE (e.g., \"S256\", \"plain\")."
},
"authorizationParameters": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets additional parameters to include in authorization requests."
},
"tokenParameters": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets additional parameters to include in token requests."
},
"tokenHeaders": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets additional headers to include in token requests."
}
},
"description": "OAuth-specific configuration for Manual OAuth providers.\nContains OAuth endpoint URLs and behavior configuration."
},
"OAuthCreationMethod": {
"type": "integer"
},
"RemoteServerConfig": {
"type": "object",
"properties": {
"transport": {
"type": "string",
"description": "Gets or sets the transport protocol (e.g., \"sse\" for Server-Sent Events)."
},
"connectionTimeoutSeconds": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"description": "Gets or sets the connection timeout in seconds.",
"format": "int32"
},
"autoReconnect": {
"type": "boolean",
"description": "Gets or sets a value indicating whether to automatically reconnect on disconnect."
},
"maxReconnectAttempts": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"description": "Gets or sets the maximum number of reconnection attempts.",
"format": "int32"
},
"endpointConfig": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets additional endpoint-specific configuration."
},
"uri": {
"type": [
"null",
"string"
],
"description": "Gets or sets the remote server URI."
},
"uriVariables": {
"type": [
"null",
"object"
],
"additionalProperties": {
"$ref": "#/$defs/UriVariable"
},
"description": "Gets or sets the URI variables that can be substituted in the URI.\nUsed for dynamic parameterization (e.g., {zone} for region, {token} for API keys)."
},
"headers": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets HTTP headers to be sent with requests.\nSupports both static headers and dynamic placeholders like {AuthToken} and {BasicAuth:VarName}.\nFor auth-type-specific headers (e.g., different Authorization formats), use AuthHeaders instead."
},
"oAuth": {
"oneOf": [
{
"type": "null"
},
{
"description": "Gets or sets OAuth-specific configuration for Manual OAuth providers.\nContains OAuth endpoints and behavior configuration.",
"$ref": "#/$defs/OAuthConfig"
}
]
},
"authHeaders": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"description": "Gets or sets auth-type-specific HTTP headers.\nKeys are auth types (e.g., \"ApiKey\", \"OAuth\"), values are header dictionaries.\nWhen a specific auth type is selected, headers from AuthHeaders[authType] are merged with/override base Headers.\nThis allows different Authorization header formats per auth type (e.g., \"Basic {AuthToken}\" for ApiKey, \"Bearer {AuthToken}\" for OAuth)."
},
"bodyParams": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets parameters to inject into request bodies for MCP-Link servers.\nUsed for APIs that require authentication in the request body (e.g., Canny's apiKey parameter).\nSupports {AuthToken} placeholder for dynamic auth token injection.\nOnly applies to McpLink server types - regular remote servers ignore this property."
},
"oAuthResourceUrl": {
"type": [
"null",
"string"
],
"description": "Gets or sets the OAuth protected resource URL for DCR registration.\nWhen set, this URL is sent as `ResourceUrl` to UCS instead of string? RemoteServerConfig.Uri,\nenabling RFC 9728 (Protected Resource Metadata) discovery against an external OAuth provider\n(e.g., Atlassian) while routing MCP traffic through the internal mcp-link service."
},
"useAcc": {
"type": "boolean",
"description": "Gets or sets a value indicating whether to route traffic through the ACC connector.\nWhen true, the gateway routes traffic for this server through the tenant's on-premise\nACC connector instead of direct HTTP. Transport mechanism TBD (MCPG-455 Phase 3)."
},
"schemaHeaders": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets HTTP headers serialized into mcp-link's `?sh=` query parameter for\nOpenAPI spec fetching at session start (MCPG-756). Values may contain\n`{SchemaCredential:FieldName}` placeholders, resolved at factory time against the\nbinder declared by string? RemoteServerConfig.SchemaCredentialProviderName and the per-tenant\nSchemaCredentialBinderId on the integration row. Only applies to McpLink server types."
},
"schemaCredentialProviderName": {
"type": [
"null",
"string"
],
"description": "Gets or sets the UCS provider name used to resolve the secondary spec-fetch credential\n(e.g. `\"GithubPersonalAccessToken\"`). Free-form string matching a provider in UCS\nprovider-definitions.json. The binder ID is selected per-tenant at integration-config\ntime and stored on the ProviderIntegration row, sibling to `CredentialProviderConfigId`.\nOnly meaningful when Dictionary<string, string>? RemoteServerConfig.SchemaHeaders contains a `{SchemaCredential:*}`\nplaceholder. Only applies to McpLink server types."
},
"accGroupId": {
"type": [
"null",
"string"
],
"description": "Gets or sets the ACC connector group to route traffic through when bool RemoteServerConfig.UseAcc is true.\nNull means \"any connector for this tenant\" (tenant-default routing).\nIgnored when bool RemoteServerConfig.UseAcc is false.",
"format": "uuid"
},
"openApiYamlUrl": {
"type": [
"null",
"string"
],
"description": "Gets or sets the customer-supplied OpenAPI YAML URL for SpecLink (private-spec) custom servers (MCPG-803).\nWhen set, the gateway infers `Type = McpLink` server-side and builds the canonical mcp-link URI\nfrom this value + string? RemoteServerConfig.UpstreamApiBaseUrl. Ignored when both are null. Only meaningful on\ncustom servers created via the SpecLink wizard; seed entries use string? RemoteServerConfig.Uri directly."
},
"upstreamApiBaseUrl": {
"type": [
"null",
"string"
],
"description": "Gets or sets the upstream API base URL that the YAML at string? RemoteServerConfig.OpenApiYamlUrl describes (MCPG-803).\nMay contain `{Variable}` placeholders (e.g. `https://{Domain}.atlassian.net`) whose values are\nstored in Dictionary<string, string>? RemoteServerConfig.UpstreamVariableValues and substituted gateway-side at connection-build time\n(mcp-link does not expand base-URL variables). Used together with string? RemoteServerConfig.OpenApiYamlUrl to build\nthe canonical mcp-link URI server-side."
},
"upstreamVariableValues": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets the values for the `{Variable}` placeholders in string? RemoteServerConfig.UpstreamApiBaseUrl\n(MCPG-803), keyed by variable name without braces (e.g. `{\"CloudId\": \"abc-123\"}`). Unlike the\nURL fields these <b>are persisted</b> — the stored string? RemoteServerConfig.Uri only carries the unresolved\ntemplate, so the values are not derivable from it. Substituted into the canonical URI at\nconnection-build time by `SpecLinkUriResolver`. Only meaningful for SpecLink (McpLink) servers."
},
"skillRepoUrl": {
"type": [
"null",
"string"
],
"description": "Gets or sets the repository URL exposed through mcp-link skills mode.\nThe current mcp-link contract accepts public github.com URLs.\nTransport-only: re-derived from string? RemoteServerConfig.Uri on responses and not persisted."
},
"skillRepoRef": {
"type": [
"null",
"string"
],
"description": "Gets or sets the optional Git ref used for skill discovery.\nWhen omitted, mcp-link resolves the repository's default branch.\nTransport-only: re-derived from string? RemoteServerConfig.Uri on responses and not persisted."
},
"skillRepoPath": {
"type": [
"null",
"string"
],
"description": "Gets or sets the optional repository-relative subpath used for skill discovery.\nTransport-only: re-derived from string? RemoteServerConfig.Uri on responses and not persisted."
},
"skillRepoProvider": {
"type": [
"null",
"string"
],
"description": "Gets or sets the repository host backing a SkillLink server, from\nSkillRepoProviders. Defaults to\nstring SkillRepoProviders.GitHub when a SkillLink shape is saved without one."
},
"sourceRef": {
"type": [
"null",
"string"
],
"description": "Gets or sets the source ref the administrator configured for a SpecLink or SkillLink server\n(MCPG-1891): the branch or tag name (for example `main`) that string? RemoteServerConfig.SourceRevision\nwas resolved from. Null for a content-hash pin (a non-GitHub spec URL) and for an unpinned row."
},
"sourceRevision": {
"type": [
"null",
"string"
],
"description": "Gets or sets the pinned source revision (MCPG-1891): the full 40-hex commit SHA for a GitHub\nsource, or the lowercase hex SHA-256 of the fetched document for any other https spec URL.\nThe canonical string? RemoteServerConfig.Uri embeds this value (as `ref=` inside `s=`, as the\nskills `ref=`, or as the `v=` query parameter), which is what makes an explicit\nrefresh a guaranteed cache miss on every mcp-link replica. Null when the row is unpinned."
},
"sourceResolvedAt": {
"type": [
"null",
"string"
],
"description": "Gets or sets the instant string? RemoteServerConfig.SourceRevision was last resolved (MCPG-1891).\nNull when the row is unpinned.",
"format": "date-time"
}
},
"description": "Template configuration for remote MCP servers, loaded from known-mcp-servers.json."
},
"ServerAvailability": {
"enum": [
"General",
"Restricted"
],
"description": "Enumeration for MCP server availability levels."
},
"TestEndpointConfig": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "Gets or sets the URI of the test endpoint.\nSupports variable substitution (e.g., {AuthToken})."
},
"method": {
"type": "string",
"description": "Gets or sets the HTTP method to use (GET, POST, etc.)."
},
"headers": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets the headers to include in the request.\nSupports variable substitution in values (e.g., \"Bearer {AuthToken}\")."
},
"expectedStatusCodes": {
"type": "array",
"items": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32"
},
"description": "Gets or sets the expected HTTP status codes that indicate success."
}
},
"description": "Configuration for testing credentials against an external API endpoint.\nUsed to validate authentication before establishing a full MCP connection."
},
"UiConfiguration": {
"type": "object",
"properties": {
"icon": {
"type": "string",
"description": "Gets or sets the React Icons component name."
},
"colorClass": {
"type": "string",
"description": "Gets or sets the Tailwind CSS text color class."
},
"bgGradient": {
"type": "string",
"description": "Gets or sets the Tailwind CSS gradient classes."
}
},
"description": "UI configuration for the MCP server display."
},
"UriVariable": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Gets or sets the human-readable description of this variable."
},
"required": {
"type": "boolean",
"description": "Gets or sets a value indicating whether this variable is required."
},
"options": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "Gets or sets the available options for this variable (e.g., [\"eu\", \"us\"] for region).\nOnly applicable for variables with predefined choices."
},
"defaultValue": {
"type": [
"null",
"string"
],
"description": "Gets or sets the default value for this variable."
},
"placeholder": {
"type": [
"null",
"string"
],
"description": "Gets or sets the placeholder text to show in the UI."
},
"helpText": {
"type": [
"null",
"string"
],
"description": "Gets or sets additional help text for this variable."
},
"type": {
"type": [
"null",
"string"
],
"description": "Gets or sets the variable type hint for UI rendering (e.g., \"string\", \"integer\", \"url\").\nUsed for UI validation and input control selection, but all values are ultimately strings."
},
"scope": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "Gets or sets the authentication types this variable applies to.\nIf null or empty, the variable applies to all authentication types (backward compatible).\nIf specified, the variable is only shown/validated for the listed auth types (e.g., [\"ApiKey\"], [\"OAuth\"], or [\"ApiKey\", \"OAuth\"])."
},
"sharing": {
"description": "Gets or sets a value indicating whether this variable may be inherited onto another\nuser's Personal overlay at read time (MCPG-1609). The overlay runs only for OAuth/Fhir\nPersonal target rows. Omitted / default is UriVariableSharing.Shared.\nOnly UriVariableSharing.Personal is written in the seed.\nDoes not constrain a Tenant-level row, which is shared by design.\nThe name Scope is taken on this model for auth-type filtering.",
"$ref": "#/$defs/UriVariableSharing"
}
},
"description": "Represents a URI variable that can be substituted in remote MCP server URIs.\nUsed for dynamic parameterization of server endpoints (e.g., region, API keys).\nAll variables are treated as strings for URL substitution."
},
"UriVariableSharing": {
"enum": [
"Shared",
"Personal"
],
"description": "Whether a catalog URI variable may be inherited onto another user's Personal overlay\nat read time (MCPG-1609). The overlay runs only for OAuth/Fhir Personal target rows.\nAbsent / default is UriVariableSharing.Shared so hostname and instance variables inherit\nwithout marking every seed entry. Only UriVariableSharing.Personal is written in seed.\nDoes not constrain a Tenant-level row, which is shared by design."
},
"Video": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Gets or sets the title of the video."
},
"url": {
"type": "string",
"description": "Gets or sets the URL of the video."
},
"type": {
"type": "string",
"description": "Gets or sets the type of video (e.g., \"youtube\")."
},
"embedUrl": {
"type": [
"null",
"string"
],
"description": "Gets or sets the embed URL for the video."
}
},
"description": "Video tutorial information."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/stormmcp-known-mcp-server"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.