Loading...
  • Construire
  • Admin
  • Modèles & tarification
  • SDKs clients
  • Référence API
Search...
⌘K
Log in
Accéder à GitHub
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Construire/Déléguer du travail à votre agent

Accès à GitHub

Connectez votre agent aux dépôts GitHub pour cloner, lire et créer des pull requests.

Vous pouvez monter un dépôt GitHub dans le conteneur de votre session et vous connecter au MCP GitHub pour créer des pull requests.

Les dépôts GitHub sont mis en cache, de sorte que les sessions futures utilisant le même dépôt démarrent plus rapidement.

Toutes les requêtes de l'API Managed Agents nécessitent l'en-tête bêta managed-agents-2026-04-01. Le SDK définit automatiquement l'en-tête bêta.

MCP GitHub et ressources de session

Tout d'abord, créez un agent qui déclare le serveur MCP GitHub. La définition de l'agent contient l'URL du serveur mais pas de jeton d'authentification :

AGENT_ID=$(ant beta:agents create \
  --name "Code Reviewer" \
  --model '{id: claude-opus-4-7}' \
  --system "You are a code review assistant with access to GitHub." \
  --mcp-server '{type: url, name: github, url: https://api.githubcopilot.com/mcp/}' \
  --tool '{type: agent_toolset_20260401}' \
  --tool '{type: mcp_toolset, mcp_server_name: github}' \
  --transform id --raw-output)

Ensuite, créez une session qui monte le dépôt GitHub :

session = client.beta.sessions.create(
    agent=agent.id,
    environment_id=environment.id,
    resources=[
        {
            "type": "github_repository",
            "url": "https://github.com/org/repo",
            "mount_path": "/workspace/repo",
            "authorization_token": "ghp_your_github_token",
        },
    ],
)

Le resources[].authorization_token authentifie l'opération de clonage du dépôt et n'est pas renvoyé dans les réponses de l'API.

Permissions du jeton

Lors de la fourniture d'un jeton GitHub, utilisez les permissions minimales requises :

ActionPortées requises
Cloner des dépôts privésrepo
Créer des PRrepo
Lire les issuesrepo (privé) ou public_repo
Créer des issuesrepo (privé) ou public_repo

Utilisez des jetons d'accès personnels à granularité fine avec les permissions minimales requises. Évitez d'utiliser des jetons avec un accès étendu à votre compte GitHub.

Plusieurs dépôts

Montez plusieurs dépôts en ajoutant des entrées au tableau resources :

resources = [
    {
        "type": "github_repository",
        "url": "https://github.com/org/frontend",
        "mount_path": "/workspace/frontend",
        "authorization_token": "ghp_your_github_token",
    },
    {
        "type": "github_repository",
        "url": "https://github.com/org/backend",
        "mount_path": "/workspace/backend",
        "authorization_token": "ghp_your_github_token",
    },
]

Gestion des dépôts sur une session en cours d'exécution

Après la création d'une session, vous pouvez lister ses ressources de dépôt et faire tourner leurs jetons d'autorisation. Chaque ressource possède un id renvoyé au moment de la création de la session (ou via resources.list) que vous utilisez pour les mises à jour. Les dépôts sont attachés pour la durée de vie de la session ; pour modifier les dépôts montés, créez une nouvelle session.

# List resources on the session
listed = client.beta.sessions.resources.list(session.id)
repo_resource_id = listed.data[0].id
print(repo_resource_id)  # "sesrsc_01ABC..."

# Rotate the authorization token
client.beta.sessions.resources.update(
    repo_resource_id,
    session_id=session.id,
    authorization_token="ghp_your_new_github_token",
)

Création de pull requests

Avec le serveur MCP GitHub, l'agent peut créer des branches, valider des modifications et les pousser :

client.beta.sessions.events.send(
    session.id,
    events=[
        {
            "type": "user.message",
            "content": [
                {
                    "type": "text",
                    "text": "Fix the type error in src/utils.ts, commit it to a new branch, and push it.",
                },
            ],
        },
    ],
)

Was this page helpful?

  • MCP GitHub et ressources de session
  • Permissions du jeton
  • Plusieurs dépôts
  • Gestion des dépôts sur une session en cours d'exécution
  • Création de pull requests