{
    "document_type": "bimeta-provider-connection-guide",
    "schema_version": "1.0",
    "standard_status": "site_specific_informational_document",
    "canonical_url": "https://chat.bimeta.net/agent/providers.json",
    "description": "Config-derived setup examples for established AI clients. This document is not a provider-owned discovery standard and does not create provider-specific BIMeta protocols.",
    "notice": "These examples document connection mappings, not provider certification or endorsement. Product availability and administrator policy may vary.",
    "canonical_origin": "https://chat.bimeta.net",
    "generated_from": "WoWonder configured site_url",
    "interfaces": {
        "mcp": {
            "url": "https://chat.bimeta.net/mcp",
            "transport": "streamable_http",
            "protocol_versions": [
                "2025-11-25",
                "2025-06-18",
                "2025-03-26"
            ],
            "public_access": true,
            "tools": [
                "search",
                "fetch",
                "get_site_overview",
                "list_public_sections",
                "search_public_resources",
                "get_agent_endpoints"
            ]
        },
        "a2a": {
            "url": "https://chat.bimeta.net/agent/a2a",
            "agent_card": "https://chat.bimeta.net/.well-known/agent-card.json",
            "protocol_version": "1.0",
            "public_access": true
        },
        "openapi": {
            "url": "https://chat.bimeta.net/openapi.json",
            "version": "3.1.1",
            "automatic_provider_discovery": false
        },
        "agent_skills": "https://chat.bimeta.net/.well-known/agent-skills/index.json"
    },
    "authentication": {
        "public_tools": "No credential is required.",
        "restricted_tools": "agent.read requires a manually registered confidential BIMeta developer application, exact callback, PKCE S256, and client_secret_basic.",
        "registration_guide": "https://chat.bimeta.net/auth.md",
        "protected_resource_metadata": "https://chat.bimeta.net/.well-known/oauth-protected-resource",
        "automatic_public_client_registration": false,
        "warning": "Do not configure automatic OAuth, DCR, or CIMD unless this deployment later advertises and implements that capability."
    },
    "providers": {
        "openai": {
            "native_remote_mcp": true,
            "endpoint": "https://chat.bimeta.net/mcp",
            "responses_api_tool": {
                "type": "mcp",
                "server_label": "bimeta",
                "server_description": "Search and retrieve public BIMeta AEC, platform, and software information.",
                "server_url": "https://chat.bimeta.net/mcp",
                "allowed_tools": [
                    "search",
                    "fetch",
                    "get_site_overview",
                    "list_public_sections",
                    "search_public_resources",
                    "get_agent_endpoints"
                ],
                "require_approval": "always"
            },
            "codex": {
                "command": "codex mcp add bimeta --url https://chat.bimeta.net/mcp",
                "config_toml": "[mcp_servers.bimeta]\nurl = \"https://chat.bimeta.net/mcp\"\ndefault_tools_approval_mode = \"prompt\""
            },
            "chatgpt": {
                "connection": "Developer mode or a workspace plugin using the public Streamable HTTP URL.",
                "server_url": "https://chat.bimeta.net/mcp",
                "public_authentication_mode": "No Authentication"
            },
            "notes": [
                "Use server_url for this custom MCP server; connector_id is only for OpenAI-maintained connectors.",
                "The Responses API caller must obtain and send any OAuth access token itself for restricted tools.",
                "ChatGPT deep research and company knowledge can use the public, citable search and fetch tools."
            ],
            "official_documentation": {
                "responses_api": "https://developers.openai.com/api/docs/guides/tools-connectors-mcp",
                "codex_and_desktop": "https://learn.chatgpt.com/docs/extend/mcp"
            }
        },
        "anthropic_claude": {
            "native_remote_mcp": true,
            "endpoint": "https://chat.bimeta.net/mcp",
            "custom_connector": {
                "name": "BIMeta",
                "url": "https://chat.bimeta.net/mcp"
            },
            "claude_code_command": "claude mcp add --transport http bimeta https://chat.bimeta.net/mcp",
            "project_mcp_json": {
                "mcpServers": {
                    "bimeta": {
                        "type": "http",
                        "url": "https://chat.bimeta.net/mcp"
                    }
                }
            },
            "messages_api": {
                "mcp_servers": [
                    {
                        "type": "url",
                        "url": "https://chat.bimeta.net/mcp",
                        "name": "bimeta"
                    }
                ],
                "tools": [
                    {
                        "type": "mcp_toolset",
                        "mcp_server_name": "bimeta"
                    }
                ]
            },
            "notes": [
                "No Claude-specific BIMeta endpoint or manifest is required."
            ],
            "official_documentation": "https://code.claude.com/docs/en/mcp"
        },
        "google_gemini": {
            "native_remote_mcp": true,
            "endpoint": "https://chat.bimeta.net/mcp",
            "gemini_cli_command": "gemini mcp add --transport http bimeta https://chat.bimeta.net/mcp",
            "gemini_settings_json": {
                "mcpServers": {
                    "bimeta": {
                        "httpUrl": "https://chat.bimeta.net/mcp",
                        "trust": false
                    }
                }
            },
            "google_adk": {
                "mcp_transport_url": "https://chat.bimeta.net/mcp",
                "a2a_agent_card": "https://chat.bimeta.net/.well-known/agent-card.json"
            },
            "notes": [
                "Gemini clients use the standard MCP URL; A2A-capable Google agents may use the A2A Agent Card."
            ],
            "official_documentation": "https://geminicli.com/docs/tools/mcp-server/"
        },
        "microsoft_and_github": {
            "native_remote_mcp": true,
            "endpoint": "https://chat.bimeta.net/mcp",
            "github_copilot_mcp_json": {
                "mcpServers": {
                    "bimeta": {
                        "type": "http",
                        "url": "https://chat.bimeta.net/mcp"
                    }
                }
            },
            "vscode_mcp_json": {
                "servers": {
                    "bimeta": {
                        "type": "http",
                        "url": "https://chat.bimeta.net/mcp"
                    }
                }
            },
            "copilot_studio": {
                "transport": "Streamable",
                "server_url": "https://chat.bimeta.net/mcp"
            },
            "azure_ai_foundry_tool": {
                "type": "mcp",
                "server_label": "bimeta",
                "server_url": "https://chat.bimeta.net/mcp",
                "require_approval": "always"
            },
            "notes": [
                "No Microsoft-specific BIMeta endpoint is required."
            ],
            "official_documentation": {
                "vscode": "https://code.visualstudio.com/docs/agent-customization/mcp-servers",
                "copilot_studio": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent"
            }
        },
        "deepseek": {
            "native_remote_mcp": false,
            "connection_mode": "adapter_required",
            "bridge_source": "https://chat.bimeta.net/mcp",
            "openapi_for_orchestrators": "https://chat.bimeta.net/openapi.json",
            "workflow": [
                "The host application initializes BIMeta MCP and reads tools/list.",
                "The host maps selected MCP input schemas to DeepSeek function-calling tools.",
                "When DeepSeek requests a function, the host calls MCP tools/call and returns the result to the model.",
                "The host preserves DeepSeek reasoning_content where its thinking-mode API requires it."
            ],
            "warning": "DeepSeek does not natively discover or connect to remote MCP by receiving a server URL. Do not present the MCP URL as a native DeepSeek configuration.",
            "official_documentation": "https://api-docs.deepseek.com/guides/tool_calls"
        },
        "compatibility_matrix": [
            {
                "name": "OpenAI Responses API",
                "id": "openai_responses",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "tools[].type=mcp with server_url; keep approval enabled for non-read tools.",
                "docs": "https://developers.openai.com/api/docs/guides/tools-connectors-mcp"
            },
            {
                "name": "ChatGPT Developer Mode",
                "id": "chatgpt",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Add a public custom connector using the Streamable HTTP URL.",
                "docs": "https://developers.openai.com/plugins/deploy/connect-chatgpt"
            },
            {
                "name": "Codex CLI",
                "id": "codex",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "codex mcp add bimeta --url <configured MCP URL>",
                "docs": "https://learn.chatgpt.com/docs/extend/mcp"
            },
            {
                "name": "Claude",
                "id": "claude",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Add a custom remote connector with the MCP URL.",
                "docs": "https://claude.com/docs/connectors/custom/remote-mcp"
            },
            {
                "name": "Claude Code",
                "id": "claude_code",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "claude mcp add --transport http bimeta <configured MCP URL>",
                "docs": "https://code.claude.com/docs/en/mcp"
            },
            {
                "name": "Gemini CLI",
                "id": "gemini_cli",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Use mcpServers.bimeta.httpUrl in Gemini settings.",
                "docs": "https://geminicli.com/docs/tools/mcp-server/"
            },
            {
                "name": "Google ADK / A2A",
                "id": "google_adk",
                "mode": "native_mcp_and_a2a",
                "endpoint": "https://chat.bimeta.net/mcp",
                "agent_card": "https://chat.bimeta.net/.well-known/agent-card.json",
                "setup": "Use MCP Streamable HTTP or the published A2A Agent Card.",
                "docs": "https://google.github.io/adk-docs/"
            },
            {
                "name": "Microsoft Copilot Studio",
                "id": "copilot_studio",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Add an existing MCP server and select Streamable transport.",
                "docs": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent"
            },
            {
                "name": "Azure AI Foundry",
                "id": "azure_ai_foundry",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Register a remote MCP tool/server URL in the agent configuration.",
                "docs": "https://learn.microsoft.com/en-us/azure/ai-foundry/agents/how-to/tools-classic/mcp"
            },
            {
                "name": "GitHub Copilot",
                "id": "github_copilot",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Add a remote HTTP server in VS Code mcp.json or the Copilot MCP UI.",
                "docs": "https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide"
            },
            {
                "name": "Amazon Q Developer",
                "id": "amazon_q",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Configure an HTTP MCP server in the Q CLI/IDE agent configuration.",
                "docs": "https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/qdev-mcp.html"
            },
            {
                "name": "Grok / xAI",
                "id": "xai_grok",
                "mode": "native_remote_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Use server_url in xAI Responses/native SDK; Streamable HTTP is supported.",
                "docs": "https://docs.x.ai/developers/tools/remote-mcp"
            },
            {
                "name": "Perplexity",
                "id": "perplexity",
                "mode": "mcp_rollout",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Use the remote MCP connector when enabled for the account; otherwise use a host bridge.",
                "docs": "https://www.perplexity.ai/help-center/en/articles/11502712-local-and-remote-mcps-for-perplexity"
            },
            {
                "name": "DeepSeek",
                "id": "deepseek_function_calling",
                "mode": "bridge_required",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Host translates tools/list and tools/call into DeepSeek function-calling definitions.",
                "docs": "https://api-docs.deepseek.com/guides/tool_calls"
            },
            {
                "name": "Cursor",
                "id": "cursor",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Add the URL under mcpServers in .cursor/mcp.json.",
                "docs": "https://docs.cursor.com/context/model-context-protocol"
            },
            {
                "name": "Windsurf",
                "id": "windsurf",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Add a remote Streamable HTTP MCP server in the Windsurf MCP configuration.",
                "docs": "https://docs.windsurf.com/windsurf/cascade/mcp"
            },
            {
                "name": "Cline",
                "id": "cline",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Add a remote HTTP MCP server in Cline MCP settings.",
                "docs": "https://docs.cline.bot/mcp/configuring-mcp-servers"
            },
            {
                "name": "Continue",
                "id": "continue",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Add a Streamable HTTP MCP server to Continue config.",
                "docs": "https://docs.continue.dev/customize/deep-dives/mcp"
            },
            {
                "name": "Replit Agent",
                "id": "replit_agent",
                "mode": "native_mcp",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Add a custom remote MCP server from Replit Agent integrations.",
                "docs": "https://docs.replit.com/references/mcp/overview"
            },
            {
                "name": "Mistral Le Chat / Agents",
                "id": "mistral",
                "mode": "bridge_or_mcp_by_host",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Use a host integration that supports MCP; otherwise map the public OpenAPI/tools to function calling.",
                "docs": "https://docs.mistral.ai/capabilities/agents/"
            },
            {
                "name": "Cohere Command / Compass",
                "id": "cohere",
                "mode": "bridge_or_mcp_by_host",
                "endpoint": "https://chat.bimeta.net/mcp",
                "setup": "Use a trusted orchestration host to expose MCP tools as Cohere tool definitions.",
                "docs": "https://docs.cohere.com/docs/tool-use"
            }
        ],
        "other_clients": {
            "generic_mcp": {
                "transport": "streamable_http",
                "url": "https://chat.bimeta.net/mcp"
            },
            "generic_a2a": {
                "agent_card": "https://chat.bimeta.net/.well-known/agent-card.json"
            },
            "openapi_or_function_calling": {
                "document": "https://chat.bimeta.net/openapi.json",
                "automatic_discovery": false
            },
            "guidance": "Prefer a client's native MCP support. Otherwise use a trusted host-side MCP-to-function-calling adapter; never send BIMeta credentials through model prompts."
        }
    }
}
