name: copilot-sdk description: "SDK oficial de GitHub para integrar Copilot CLI como agente programático en aplicaciones. 8.9K estrellas." url: https://github.com/github/copilot-sdk category: mcp fecha: 2026-06-05
GitHub Copilot SDK
¿Qué hace?
SDK oficial de GitHub para incrustar los flujos de trabajo agénticos de Copilot en cualquier aplicación. Expone el mismo motor detrás de Copilot CLI: planificación, invocación de herramientas, edición de archivos y más. Disponible en 6 lenguajes: Python, TypeScript, Go, .NET, Java y Rust.
Casos de uso
- Embed Copilot en apps: Integrar agente IA de GitHub en aplicaciones propias
- Automatización de código: Crear flujos de trabajo de codificación automatizada
- Agentes personalizados: Definir agentes, skills y herramientas custom
- BYOK (Bring Your Own Key): Usar tu propio proveedor de LLMs sin suscripción de GitHub
- Multi-plataforma: Soporte nativo en 6 lenguajes principales
SDKs disponibles
| SDK | Instalación |
|---|---|
| Node.js / TypeScript | npm install @github/copilot-sdk |
| Python | pip install github-copilot-sdk |
| Go | go get github.com/github/copilot-sdk/go |
| .NET | dotnet add package GitHub.Copilot.SDK |
| Rust | cargo add github-copilot-sdk |
| Java | Maven: com.github:copilot-sdk-java |
Arquitectura
Tu Aplicación
↓
SDK Client
↓ JSON-RPC
Copilot CLI (server mode)
El SDK gestiona el ciclo de vida del proceso CLI automáticamente. También se puede conectar a un servidor CLI externo.
Snippets útiles
Python — Agente básico
from github_copilot import CopilotClient
client = CopilotClient()
response = await client.chat(
messages=[{"role": "user", "content": "Refactor this code to use async/await"}],
tools=["edit_file", "run_terminal"],
)
TypeScript — Agente con herramientas
import { CopilotClient } from '@github/copilot-sdk';
const client = new CopilotClient();
const result = await client.execute({
prompt: "Create a REST API endpoint for user registration",
tools: ['edit_file', 'run_terminal', 'read_file'],
permissionHandler: (toolCall) => Promise.resolve(true), // auto-approve
});
BYOK — Usar tu propio LLM
from github_copilot import CopilotClient
client = CopilotClient(
auth_mode="byok",
api_key="your-openai-key",
model="gpt-4",
)
Conectar a servidor externo
client = CopilotClient(
server_url="http://localhost:3000", # CLI en server mode
)
Cómo integrarlo
- Instalar SDK del lenguaje preferido
- Configurar autenticación: GitHub OAuth, token, o BYOK
- Definir agentes, herramientas y skills custom
- Implementar permission handler para controlar qué herramientas se ejecutan
- Para producción: ejecutar CLI en server mode y conectar remotamente
Pitfalls
- Requiere suscripción GitHub Copilot para uso estándar (no BYOK)
- Go, Java, Rust no bundlean el CLI — hay que instalarlo manualmente
- BYOK usa solo autenticación por clave — no soporta Microsoft Entra ID ni managed identities
- Billing — cada prompt cuenta contra tu quota de premium requests
- JSON-RPC — la comunicación es por JSON-RPC, no HTTP REST
- Tool execution — por defecto expone las first-party tools del CLI (
--allow-all), pero se puede personalizar - Modelos — todos los modelos disponibles en Copilot CLI son soportados, acceder via API del SDK
Fecha de descubrimiento
2026-06-05 — trending diario, 8.9K estrellas, SDK oficial de GitHub