modelcontextprotocol / modelcontextprotocol/java-sdk
Current implementation of HttpServletStreamableServerTransportProvider or HttpServletSseServerTransportProvider needs strict stickyness
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Java
- Estrelas
- 3.7k
- Forks
- 1.1k
- Merge médio
- 1d 15h
- PRs com merge (30d)
- 9
Descrição
Current implementations are holding mcp sessions into a in memory Map https://github.com/modelcontextprotocol/java-sdk/blob/713ee1add0e29d184224aabdf06d024ef30a2754/mcp/src/main/java/io/modelcontextprotocol/server/transport/HttpServletStreamableServerTransportProvider.java#L108
This make it mandatory to have strict stickyness "a la" browser" in a replicated/high availability environement which doesn't exist for agent (and we cannot rely on llm agents to implement this)
The feature could be
- first very simple option an option for HttpServletStreamableServerTransportProvider.Builder to have an option to provide the map (then users can use different tools to have some shared Map)
- create an interface to handle those sessions (with minimum operations such add, get. delete)
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece com HttpServletStreamableServerTransportProvider.java em torno do Map de sessões em memória na linha 108 e, em seguida, inspecione HttpServletSseServerTransportProvider para o mesmo gerenciamento de sessões. Compare o Map proposto fornecido pelo builder e uma interface de gerenciamento de sessões, e defina quais operações são necessárias para deployments replicados sem afinidade estrita de sessão. Considera-se concluído quando ambos os transportes servlet puderem usar o estado de sessão compartilhado por meio de um ponto de extensão documentado.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- java
- Domínio
- backend, distributed-systems
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 42/100