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

Ouverte
#3,547 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
github, go
Domaine
api, devtools

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Go
Étoiles
34.2k
Forks
5.3k
Merge moyen
5 j 18 h
PR mergées (30 j)
13

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de github/github-mcp-server

Toutes les issues de github/github-mcp-server

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.