github-go-server-mcp

scopweb/github-go-server-mcp

3.2

If you are the rightful owner of github-go-server-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The GitHub MCP Server is a Go-based server that integrates GitHub with Claude Desktop, allowing users to perform repository operations directly from Claude's interface.

Tools
  1. github_list_repos

    Lists user repositories

  2. github_create_repo

    Creates a new repository

  3. github_get_repo

    Retrieves repository information

  4. github_list_branches

    Lists branches of a repository

  5. github_list_prs

    Lists pull requests

  6. github_create_pr

    Creates a new pull request

  7. github_list_issues

    Lists issues of a repository

  8. github_create_issue

    Creates a new issue

  9. git_status

    Checks the status of the local Git repository

  10. git_list_files

    Lists files in the repository

  11. create_file

    Creates files, prioritizing local Git

  12. update_file

    Updates files, prioritizing local Git

GitHub MCP Server 🚀

Go-based MCP server that connects GitHub to Claude Desktop, enabling direct repository operations from Claude's interface.

✨ Nuevas Características

🎯 Soporte de Perfiles Múltiples

  • Un solo ejecutable para múltiples cuentas GitHub
  • Configuración diferenciada por perfil
  • Logs informativos con identificación de perfil
  • Gestión simplificada de tokens

📋 Permisos Necesarios del Token

Para que todas las funciones trabajen correctamente, tu GitHub Personal Access Token debe tener estos permisos:

🔑 Mínimos Requeridos:

✅ repo (Full control of private repositories)
  - Necesario para crear repos, issues, PRs
  - Permite lectura/escritura en repositorios

🔧 Opcionales (para funcionalidad completa):

✅ delete_repo (Delete repositories) - Solo si necesitas borrar repos
✅ workflow (Update GitHub Action workflows) - Para trabajar con Actions
✅ admin:repo_hook (Repository hooks) - Para webhooks

📝 Generar Token:

  1. Ve a: GitHub Settings → Personal Access Tokens
  2. Click "Generate new token (classic)"
  3. Selecciona los scopes necesarios arriba
  4. Copia el token generado

🛠️ Instalación

# Instalar dependencias
go mod tidy

# Compilar (usando el script incluido)
.\compile.bat

⚙️ Configuración Claude Desktop

🔥 Configuración con Perfiles Múltiples (Recomendado)

{
  "mcpServers": {
    "github-personal": {
      "command": "C:\\MCPs\\clone\\github-go-server-mcp\\github-mcp-modular.exe",
      "args": ["--profile", "personal"],
      "env": {
        "GITHUB_TOKEN": "ghp_token_personal"
      }
    },
    "github-empresa": {
      "command": "C:\\MCPs\\clone\\github-go-server-mcp\\github-mcp-modular.exe",
      "args": ["--profile", "empresa"],
      "env": {
        "GITHUB_TOKEN": "ghp_token_empresa"
      }
    }
  }
}

📦 Configuración Básica (Un solo token)

{
  "mcpServers": {
    "github-mcp": {
      "command": "C:\\MCPs\\clone\\github-go-server-mcp\\github-mcp-modular.exe",
      "args": [],
      "env": {
        "GITHUB_TOKEN": "tu_token_aqui_con_permisos_repo"
      }
    }
  }
}

🧪 Herramientas Disponibles (Todas Testeadas ✅)

FunciónEstadoDescripción
🔍 Git Local & GitHub APIHíbridoDetecta Git local automáticamente
📋 github_list_reposTesteadoLista repositorios del usuario
🆕 github_create_repoTesteadoCrea nuevo repositorio
📊 github_get_repoTesteadoObtiene información de repositorio
🌿 github_list_branchesTesteadoLista ramas de un repositorio
🔄 github_list_prsTesteadoLista pull requests
✨ github_create_prTesteadoCrea nuevo pull request
🐛 github_list_issuesTesteadoLista issues de un repositorio
📝 github_create_issueTesteadoCrea nuevo issue
🔧 git_statusLocalEstado del repositorio Git local
📁 git_list_filesLocalLista archivos en el repositorio
📄 create_fileHíbridoCrea archivos (Git local primero)
✏️ update_fileHíbridoActualiza archivos (Git local primero)

🚀 Uso

  1. Compilar el servidor: .\compile.bat
  2. Generar token(s) GitHub con permisos repo
  3. Configurar Claude Desktop con perfiles
  4. Reiniciar Claude Desktop
  5. Verificar logs para confirmar inicio correcto

💡 Ventajas del Sistema de Perfiles

  • Un solo ejecutable para mantener
  • Múltiples cuentas GitHub simultáneas
  • Logs diferenciados por perfil
  • Actualizaciones automáticas para todas las instancias
  • Configuración más limpia

⚠️ Solución de Problemas

Error 403 "Resource not accessible by personal access token"

  • ❌ Tu token no tiene permisos suficientes
  • ✅ Genera nuevo token con scope repo
  • ✅ Reinicia Claude Desktop después del cambio

Error "null" en respuestas

  • ⚠️ Normal para repos vacíos o sin PRs/issues
  • ✅ El MCP funciona correctamente

Logs del servidor

Verifica los logs de Claude Desktop para ver mensajes como:

🚀 Starting GitHub MCP Server with profile: personal
📋 Profile: personal | Token: ghp_111***
🔧 Git environment detected for profile: personal

📊 Estado del Proyecto

  • Funciones de lectura: Completamente operativas
  • Funciones de escritura: Completamente operativas
  • Sistema híbrido Git: Git local + GitHub API
  • Soporte multi-perfil: Implementado y testeado
  • Gestión de permisos: Documentada y verificada
  • Testing completo: Todas las funciones probadas
  • Listo para producción: Stable release v2.0