modelcontextprotocol / modelcontextprotocol/python-sdk
Trailing slash in `.well-known/oauth-protected-resource` response may violate “Canonical Server URI” requirement
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 24.3k
- Forks
- 4k
- Merge médio
- 1d 1h
- PRs com merge (30d)
- 31
Descrição
Question
As I understand it, https://your-mcp.com/.well-known/oauth-protected-resource should return:
{
"resource": "https://your-mcp.com",
"authorization_servers": [
"https://your-auth.com"
],
"scopes_supported": [],
"bearer_methods_supported": [
"header"
]
}
However, it actually returns:
{
"resource": "https://your-mcp.com/",
"authorization_servers": [
"https://your-auth.com/"
],
"scopes_supported": [],
"bearer_methods_supported": [
"header"
]
}
Note the trailing / in both the resource and authorization_servers values.
According to the MCP spec’s “resource-parameter-implementation” section, I believe this violates the requirement for canonicalization:
https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization#resource-parameter-implementation
Is this a bug, or am I misunderstanding the requirement?
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 implementação da resposta de .well-known/oauth-protected-resource e compare seus valores de resource e authorization_servers com o requisito de canonicalização do MCP vinculado. Confirme o comportamento esperado da barra final e, em seguida, identifique ou adicione cobertura para os valores da resposta, para que a conclusão possa ser verificada.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- api, authentication
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Pouca atividade
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 48/100