Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Server scenarios fail servers for capabilities they never declared

Aperta
#516 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
40/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
testing-qa

Direzione di ricerca

Examine the conformance test suite structure, likely in a src/ or tests/ directory. Look for scenario definitions and how they are gated or filtered. The issue mentions specific scenario categories like prompts-* and resources-*. Find where server capabilities from the initialize method are read and used to determine test applicability. Understanding the test runner and reporting logic is key to implementing the suggested gating.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

The same minimal server as above declares only tools. Against it, server mode reports 6 passed, 24 failed. Nearly all of the 24 are not conformance failures:

Cause Scenarios
Capability not declared; -32601 Method not found is the correct answer prompts-* (5), resources-* (6), logging-set-level, tools-call-with-logging, completion-complete
Fixture tool not present (test_image_content, test_tool_with_progress, …) tools-call-image, -audio, -embedded-resource, -mixed-content, -with-progress, -sampling, -elicitation, elicitation-sep1034-defaults, elicitation-sep1330-enums
Genuine dns-rebinding-protection (served a foreign Host/Origin with 200)

For comparison, @modelcontextprotocol/server-everything 2026.8.31 scores 13 passed, 19 failed on 0.1.16.

This is expected for a suite built to test SDKs against the everything-server. The result is still that the suite cannot be pointed at a production server to answer "is this server conformant?", which is the question most operators and registries are asking. A correct server scores 6/30, and its only real defect is buried among 23 false ones.

Suggestions, cheapest first:

  1. Gate on declared capabilities. Read capabilities from initialize and report prompts, resources, logging and completions scenarios as not applicable when the capability is absent. Answering -32601 for an undeclared capability is what the spec says to do.
  2. Mark fixture-dependent scenarios (those that call test_* tools or test:// resources) as needing the fixture, and report them as not applicable when the tool is missing from tools/list, rather than failing them.
  3. A capability-agnostic suite (e.g. --suite production) holding only the scenarios that apply to any server: initialize, ping, tools/list shape, unknown-method and invalid-params handling, session handling, protocol-version header validation, and DNS-rebinding protection. That would let registries and operators cite the official suite for a real server.

Happy to contribute scenarios for (3) if that direction is welcome.

Lingua principale
TypeScript
Stelle
127
Fork
101
Merge medio
4g 7h
PR unite (30g)
6

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di modelcontextprotocol/conformance

Tutte le issue di modelcontextprotocol/conformance

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.