{
  "type": "record",
  "Aspect": {
    "name": "mcpServerProperties"
  },
  "name": "McpServerProperties",
  "namespace": "com.linkedin.pegasus2avro.service",
  "fields": [
    {
      "Searchable": {
        "fieldType": "TEXT"
      },
      "type": "string",
      "name": "url",
      "doc": "MCP server endpoint URL.\nExample: https://mcp.glean.com/v1"
    },
    {
      "type": {
        "type": "enum",
        "symbolDocs": {
          "HTTP": "Standard HTTP/HTTPS transport.",
          "SSE": "Server-Sent Events for streaming responses.",
          "WEBSOCKET": "WebSocket for bidirectional communication."
        },
        "name": "McpTransport",
        "namespace": "com.linkedin.pegasus2avro.service",
        "symbols": [
          "HTTP",
          "SSE",
          "WEBSOCKET"
        ]
      },
      "name": "transport",
      "default": "HTTP",
      "doc": "Transport protocol for MCP communication."
    },
    {
      "type": [
        "null",
        "float"
      ],
      "name": "timeout",
      "default": null,
      "doc": "Connection timeout in seconds.\nWhen absent, the integrations service applies its own default (currently 300s)."
    },
    {
      "type": [
        "null",
        {
          "type": "map",
          "values": "string"
        }
      ],
      "name": "customHeaders",
      "default": null,
      "doc": "Custom headers to send with every request.\nThese are non-auth headers (e.g., X-Tenant-ID, X-Client-Version).\nAuth headers are configured in GlobalSettings.aiPlugins."
    }
  ],
  "doc": "MCP-specific properties for Services of subtype MCP_SERVER.\n\nOnly attached to Service entities where subType = MCP_SERVER.\nContains connection details for the MCP server.\n\nNote: This contains only connection information (URL, transport, timeout).\nAuthentication and Ask DataHub configuration are in GlobalSettings.aiPlugins."
}