modelcontextprotocol / modelcontextprotocol/java-sdk
Resource templates should support handlers
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
Expected Behavior
There should be a ResourceTemplateSpecification, similar to (A)syncResourceSpecification, so that we can have access to an exchange and handle requests properly.
Current Behavior
Currently unlike resources or prompts, there's no way to define a handler for resource templates. The same spec is used in all contexts, but doesn't allow supplying a handler.
Context
This is a serious limitation which defeats the concept of resource templates. For example, we would like to implement something like this in Micronaut MCP:
@ResourceTemplate(uriTemplate = "file://my-resource/{item}", description="A templated resource")
String templated(String item) {
return "Hello, " + item;
}
That is, the content of the template depends on the URI parameters. Today there's no way to do this because the only thing we can do is register resource templates, but no handlers. Therefore, in order to serve the resources, we have to register all of them as regular resources, which makes the templating redundant. This also assumes that we can know in advance all the combinations of valid path elements values, which is obviously not possible.
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 localizando a (A)syncResourceSpecification existente e os caminhos de registro usados para recursos e prompts. Rastreie como as solicitações de resource-template são tratadas e, em seguida, defina o que uma especificação capaz de lidar com handlers deve expor para parâmetros URI. Está concluído quando os recursos com template conseguem resolver os parâmetros da solicitação e fornecer conteúdo sem pré-registrar cada URI.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- java
- Domínio
- api, backend-api-design
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 42/100