Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Support multiple remote toolsets via URL for managed MCP clients without custom headers

Aberta
#3,233 0 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
45/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
go

Direção de pesquisa

Comece rastreando o roteamento de URL do servidor remoto hospedado para /mcp/x/{toolset}, /readonly e /x/all e, em seguida, compare-o com a validação e a normalização existentes de X-MCP-Toolsets. Defina e documente uma forma URL-safe para múltiplos toolsets, incluindo a precedência quando os headers também estiverem presentes. O trabalho estará concluído quando os clientes gerenciados puderem selecionar um bundle limitado e validado sem usar /x/all.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement server
Describe the feature or problem you’d like to solve

The hosted GitHub MCP server currently supports a single toolset by URL (/mcp/x/{toolset}) and multiple toolsets through the X-MCP-Toolsets request header.

That leaves managed MCP clients that expose the server endpoint and OAuth configuration but do not allow arbitrary per-request HTTP headers unable to select a bounded combination of toolsets. One concrete example is a ChatGPT custom/developer MCP app: its current app configuration flow exposes endpoint/metadata/authentication and tool scanning, but not an arbitrary X-MCP-Toolsets header field.

The practical choices are therefore currently:

  1. remain on the default toolset and lose useful optional capabilities;
  2. create several separate MCP app connections, one per /x/{toolset} URL; or
  3. use /x/all, which exposes substantially more tools than needed and works against least-privilege/tool-surface minimization.

My concrete desired bundle is:

default,actions,projects,git,notifications,governance

The use case is an interactive GitHub MCP connection that needs ordinary repository/issue/PR operations plus CI inspection/control, Projects, repository tree access, notifications, and governance, while intentionally not exposing unrelated toolsets.

Proposed solution

Add a URL-addressable way to select multiple toolsets on the hosted remote server, while preserving the existing header behavior. For example, one of:

  • /mcp/x/default,actions,projects,git,notifications,governance
  • /mcp?toolsets=default,actions,projects,git,notifications,governance
  • another documented, URL-safe equivalent.

Requirements I would suggest:

  • use the same validation/normalization as X-MCP-Toolsets;
  • support the default pseudo-toolset plus additional toolsets;
  • reject unknown toolsets rather than silently broadening access;
  • remain composable with /readonly and existing URL-addressable modes where applicable;
  • keep headers authoritative when both mechanisms are present, or document an unambiguous precedence rule;
  • do not make /x/all the required workaround for managed clients.
Example prompts or workflows

A managed ChatGPT MCP app could point to one stable endpoint representing exactly the approved bundle, then scan tools normally. The same pattern would help other hosted/managed MCP clients that cannot inject custom headers.

Why this matters

GitHub already recommends selecting only the toolsets needed because tool-surface size affects model tool selection and security. URL-addressable multi-toolset selection lets managed clients follow that recommendation instead of choosing between missing capabilities, duplicated app connections, or all.

This request is separate from #3231 / PR #3232, which address patch-safe large-file updates.

Linguagem predominante
Go
Estrelas
33.1k
Forks
5k
Merge médio
2d 1h
PRs com merge (30d)
25

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de github/github-mcp-server

Todas as issues de github/github-mcp-server

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.