modelcontextprotocol / modelcontextprotocol/php-sdk
[Client] Extend conformance client.php with scenario context env vars
Nessuno ha ancora preso questa issue.
- Lingua principale
- PHP
- Stelle
- 1.6k
- Fork
- 173
- Merge medio
- 2g 49m
- PR unite (30g)
- 23
Descrizione
Context
The conformance runner ships per-scenario context via --context JSON which it passes to the client command. The current tests/Conformance/client.php only reads MCP_CONFORMANCE_SCENARIO and the server URL — it ignores client_id, client_secret, private_key_pem, signing_algorithm, idp_id_token, idp_issuer, idp_token_endpoint, idp_client_id. Without these, auth scenarios cannot exercise the SDK even after auth flows are implemented.
Scope
- Read context from the env var the runner sets (verify exact name; commonly
MCP_CONFORMANCE_CONTEXTas JSON). - For each scenario, wire context into
Client\Builder:auth/pre-registration→setOAuthClient(client_id, client_secret).auth/client-credentials-basic→setOAuthClient(...)+ forceclient_credentialsgrant.auth/client-credentials-jwt→setOAuthClientWithKey(client_id, private_key_pem, signing_algorithm).auth/cross-app-access-complete-flow→ supply IdP id_token + IdP discovery params.
- Land this before or in parallel with auth flow implementation so each PR can be validated against conformance immediately.
Conformance scenarios unblocked
Prerequisite for all auth scenarios requiring context.
Dependencies
Independent — can land first (harness-only).
Acceptance
tests/Conformance/client.phpupdated.- Documented context keys in the test file's docblock.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia da tests/Conformance/client.php e ispeziona il conformance runner per verificare l’esatta variabile d’ambiente del contesto e le chiavi JSON. Leggi i metodi disponibili di Client\Builder, quindi segui gli scenari di auth elencati per collegare il loro contesto; il lavoro è completato quando il file documenta le chiavi e gli scenari di auth ricevono il contesto richiesto per la conformance validation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- php
- Ambito
- authentication, testing-qa
- Tipo di issue
- Funzionalità
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 72/100