Loading...
  • Costruisci
  • Amministrazione
  • Modelli e prezzi
  • Client SDK
  • Riferimento API
Search...
⌘K
Log in
Accesso a 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
Costruisci/Delega il lavoro al tuo agente

Accesso a GitHub

Connetti il tuo agente ai repository GitHub per clonare, leggere e creare pull request.

Puoi montare un repository GitHub nel container della tua sessione e connetterti al GitHub MCP per creare pull request.

I repository GitHub vengono memorizzati nella cache, quindi le sessioni future che utilizzano lo stesso repository si avviano più velocemente.

Tutte le richieste all'API Managed Agents richiedono l'intestazione beta managed-agents-2026-04-01. L'SDK imposta automaticamente l'intestazione beta.

GitHub MCP e Risorse di Sessione

Prima, crea un agente che dichiari il server GitHub MCP. La definizione dell'agente contiene l'URL del server ma nessun token di autenticazione:

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)

Poi crea una sessione che monta il repository 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",
        },
    ],
)

Il campo resources[].authorization_token autentica l'operazione di clonazione del repository e non viene restituito nelle risposte API.

Permessi del token

Quando si fornisce un token GitHub, utilizzare i permessi minimi richiesti:

AzioneScope richiesti
Clonare repository privatirepo
Creare PRrepo
Leggere issuerepo (privato) o public_repo
Creare issuerepo (privato) o public_repo

Utilizza token di accesso personale a grana fine con i permessi minimi richiesti. Evita di utilizzare token con accesso ampio al tuo account GitHub.

Repository multipli

Monta più repository aggiungendo voci all'array 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",
    },
]

Gestione dei repository su una sessione in esecuzione

Dopo la creazione di una sessione, puoi elencare le risorse del repository e ruotare i loro token di autorizzazione. Ogni risorsa ha un id restituito al momento della creazione della sessione (o tramite resources.list) che utilizzi per gli aggiornamenti. I repository sono collegati per tutta la durata della sessione; per modificare quali repository sono montati, crea una nuova sessione.

# 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",
)

Creazione di pull request

Con il server GitHub MCP, l'agente può creare branch, eseguire commit delle modifiche e inviarle:

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?

  • GitHub MCP e Risorse di Sessione
  • Permessi del token
  • Repository multipli
  • Gestione dei repository su una sessione in esecuzione
  • Creazione di pull request