push_files / create_or_update_file have no way to write large content without inlining it in the tool call

Abierto
#3,547 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
github, go
Área
api, devtools

Línea de trabajo

Start by locating the implementations of push_files and create_or_update_file, then trace how file content is serialized into GitHub API calls. Compare the available blob, tree, and commit operations described in the issue and check whether the server exposes any existing streaming or upload pattern. Done means callers can write large files without sending all content inline, or have a documented supported size ceiling.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

push_files and create_or_update_file require the full file content inline in the tool call, with no option for a file-by-reference upload or chunked/streaming write for large files.

Repro:

  • Call push_files with one file whose content is on the order of 2-3 MB of text.
  • The call either fails or risks truncation because the entire content must be serialized into the tool call's JSON payload.

Expected: some way to push large files without having to pass the complete content inline in a single call, e.g. a multipart/chunked write, or accepting a pre-uploaded blob SHA (the REST API's own git blob + tree + commit flow would allow this, but there is no MCP tool here that exposes creating a blob from a stream or from a size that exceeds a reasonable tool-call payload).

Actual: the only way to commit large text content through this MCP server is to pass it whole inline, which breaks down well before typical repo file sizes (multi-MB text exports, long logs, etc.).

Ask: expose a way to create a blob/commit for large content without it having to round-trip through a single tool call's inline payload, for example a tool that accepts a local-file-style streamed upload, or document a supported size ceiling so callers know when to split rather than discovering it empirically.

Lenguaje dominante
Go
Estrellas
34.2k
Forks
5.3k
Merge medio
5 d 18 h
PR fusionados (30 d)
13

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de github/github-mcp-server

Todos los issues de github/github-mcp-server

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.