Skip to main content
Glama
kmosoti

github-projects

by kmosoti

github-projects

Un plugin para Claude Code y Codex: modelos Pydantic v2, protocolos PEP 544 y un servidor MCP para gestionar tableros de GitHub Projects v2 (p. ej. github.com/users/<owner>/projects/<n>) — con soporte de primera clase para el método HTTP QUERY en fase de borrador.

Arquitectura

server.py      MCP server (mcp SDK v2, stdio) — 19 tools, structured output
   │  depends on
protocols.py   ProjectsBackend / GraphQLTransport (runtime-checkable Protocols)
   │  implemented by
service.py     GitHubProjectsService — GraphQL over the transport,
               project-id + field caching, string→typed field-value coercion
graphql.py     GraphQL documents (works for both user and org owners)
http.py        QueryClient — HTTP QUERY (draft-ietf-httpbis-safe-method-w-body)
               with per-origin capability memory and POST fallback
models.py      Frozen Pydantic v2 models, __typename-discriminated unions
  • La capa MCP depende únicamente del protocolo ProjectsBackend, por lo que los backends son intercambiables y las pruebas sustituyen el backend por fakes estructurales.

  • QueryClient envía QUERY de forma optimista, registra los anuncios Accept-Query, reintenta una vez ante errores de transporte (QUERY es seguro e idempotente) y cae permanentemente a POST por origen ante 405/501 — por lo que funciona con GitHub hoy mismo y se actualiza automáticamente cuando GitHub implemente soporte para QUERY.

Configuración

El entorno de ejecución principal es CPython 3.14.7 free-threaded (3.14.7t). También requiere que la CLI de gh esté autenticada con el ámbito project:

gh auth refresh -s project      # grants read + write for Projects v2

Los tokens se resuelven desde GITHUB_TOKEN / GH_TOKEN, o, si no, desde gh auth token.

uv sync
uv run pytest             # 32 tests
uv run gh-projects-mcp    # run the server on stdio

Uso desde Claude Code y Codex

Desde la raíz del repositorio:

# Claude Code (registered user-wide)
claude mcp add --scope user github-projects -- uv --directory "$PWD" run gh-projects-mcp

# Codex
codex mcp add github-projects -- uv --directory "$PWD" run gh-projects-mcp

Los manifiestos de los plugins se encuentran en .claude-plugin/plugin.json (con el servidor MCP declarado mediante ${CLAUDE_PLUGIN_ROOT}) y .codex-plugin/plugin.json; una skill de uso para ambos hosts está en skills/github-projects/SKILL.md.

Herramientas

Herramienta

Propósito

list_projects

Lista tableros de un usuario/org (búsqueda opcional)

get_project

Tablero por propietario + número

list_fields

Campos, incluidas las opciones de selección única y las iteraciones

list_items

Elementos con contenido y valores de campo, opcionalmente evaluados mediante una consulta de filtro de vista guardada

create_project / update_project

Crea un tablero; edita título/readme/visibilidad/cerrado

add_item

Añade un issue/PR por URL

add_draft_issue

Añade un issue en borrador

update_field_value

Establece un campo; los valores son cadenas convertidas según el tipo de campo — la selección única y la iteración coinciden por nombre (Status"Done")

clear_field_value

Limpia un campo

archive_item / delete_item

Archiva o elimina un elemento

plan_project / apply_project

Reconciliación idempotente del estado deseado: campos y alias de opciones, vistas hoja/contenedor verificadas semánticamente, columnas ordenadas, retiradas explícitas, metadatos de elementos, jerarquía de épicas/sub-issues, dependencias de issues nativas y limpieza de prosa de dependencias heredada

sprint_board

Vista de columnas de estado de una iteración (o de todos los elementos + el grupo de no planificados)

epic_breakdown

Resumen de progreso por épica a partir de la jerarquía nativa de sub-issues

list_views

Vistas guardadas con nombre, diseño, filtro y campos visibles ordenados

post_status_update / list_status_updates

El rastro de contexto a largo plazo del proyecto

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Persistent context for Claude. Your AI always knows your projects and next actions across sessions.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kmosoti/github-projects'

If you have feedback or need assistance with the MCP directory API, please join our Discord server