trust/skip TLS verification for MCP HTTP servers
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Shell
- Sterne
- 11.2k
- Forks
- 1.9k
- Ø Merge
- 14 Std. 16 Min.
- Gemergte PRs (30 T.)
- 6
Beschreibung
Describe the feature or problem you'd like to solve
trust/skip TLS verification for MCP HTTP servers with invalid SAN certs (rustls hard-fails, no insecure option)
Proposed solution
Copilot CLI cannot connect to a remote HTTP MCP server whose TLS certificate has an invalid Subject Alternative Name (e.g., a literal * instead of a proper wildcard/IP SAN), even after the cert's issuing CA is explicitly trusted. There is no config option or environment variable to bypass hostname/certificate verification for a specific MCP server, which blocks use cases like connecting to on-prem/IoT devices with embedded mcp server and self-managed certificates addressed by IP Address.
Steps to reproduce
- device that presents a self-signed certificate whose Subject/SAN is not a valid match for the IP address (e.g., CN/SAN = * )
- Export and trust the CA: export NODE_EXTRA_CA_CERTS=~/ctrlx.pem
- Run copilot , then /mcp — the server still fails to connect.
Requested behavior
The CLI offers a supported way to relax verification for a specific MCP server (e.g., a per-server tls.insecureSkipVerify or honoring a documented env var), similar to how curl -k or Node's NODE_TLS_REJECT_UNAUTHORIZED=0 work for other tools.
Example prompts or workflows
NA
Additional context
• Related: #4364 documents a similar underlying issue (rustls/rustls-platform-verifier being stricter than curl/Node/Chrome for enterprise MCP registry TLS), suggesting this is a broader gap in the Rust-based MCP networking layer, not specific to one code path.
• For comparison, Claude Code and Gemini CLI's MCP clients run on Node.js, so NODE_TLS_REJECT_UNAUTHORIZED=0 works as an (insecure) escape hatch there; Copilot CLI has no equivalent because of the runtime split.
• Use case: connecting to on-prem/IoT devices reachable only via IP address with vendor-managed self-signed certificates that can't easily be reissued with a proper SAN.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Lies das verwandte Issue #4364 und verfolge anschließend die Rust-basierte MCP-Netzwerkschicht, die verwendet wird, wenn /mcp eine Verbindung zu einem HTTP-Server herstellt. Reproduziere den Fehler mit dem Zertifikat mit ungültigem SAN und ermittle, wo eine serverspezifische unsichere Option oder eine dokumentierte Umgebungsvariable angewendet werden würde; abgeschlossen ist die Aufgabe, wenn die CLI über die unterstützte Konfiguration eine Verbindung zu diesem Server herstellen kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- networking, security
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 38/100