Skip to main content
Glama
kmosoti

github-projects

by kmosoti

github-projects

Плагин для Claude Code и Codex: модели Pydantic v2, протоколы PEP 544 и MCP-сервер для управления досками GitHub Projects v2 (например, github.com/users/<owner>/projects/<n>) — с полноценной поддержкой чернового метода HTTP QUERY.

Архитектура

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
  • Слой MCP зависит только от протокола ProjectsBackend, поэтому бэкенды взаимозаменяемы, а тесты структурно подставляют фейки.

  • QueryClient отправляет QUERY оптимистично, фиксирует анонсы Accept-Query, повторяет попытку один раз при транспортных ошибках (QUERY безопасен и идемпотентен) и навсегда переключается на POST для каждого origin при 405/501 — так что он работает с GitHub уже сегодня и сам переключается на QUERY, когда GitHub добавит его поддержку.

Настройка

Основная среда выполнения — CPython 3.14.7 free-threaded (3.14.7t). Также требуется, чтобы CLI gh был аутентифицирован с областью project:

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

Токены извлекаются из GITHUB_TOKEN / GH_TOKEN, иначе используется gh auth token.

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

Использование в Claude Code и Codex

Из корня репозитория:

# 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

Манифесты плагинов находятся в .claude-plugin/plugin.json (MCP-сервер объявлен через ${CLAUDE_PLUGIN_ROOT}) и .codex-plugin/plugin.json; навык использования для обоих хостов — в skills/github-projects/SKILL.md.

Инструменты

Инструмент

Назначение

list_projects

Список досок для пользователя/организации (необязательный поиск)

get_project

Доска по владельцу + номеру

list_fields

Поля, включая варианты одиночного выбора и итерации

list_items

Элементы с содержимым и значениями полей, при необходимости вычисленные по фильтрующему запросу сохранённого представления

create_project / update_project

Создать доску; изменить название/readme/видимость/закрыто

add_item

Добавить issue/PR по URL

add_draft_issue

Добавить черновик issue

update_field_value

Установить поле; значения — строки, приводимые к типу поля — одиночный выбор и итерации сопоставляются по имени (Status"Done")

clear_field_value

Очистить поле

archive_item / delete_item

Архивировать или удалить элемент

plan_project / apply_project

Идемпотентное приведение к желаемому состоянию: поля и псевдонимы вариантов, семантически проверенные листовые/контейнерные представления, упорядоченные колонки, явные выводы из эксплуатации, метаданные элементов, иерархия эпик/под-issue, нативные зависимости issue и очистка устаревших текстовых описаний зависимостей

sprint_board

Представление статусной колонки для одной итерации (или всех элементов + незапланированного бакета)

epic_breakdown

Сводка завершённости по эпикам из нативной иерархии под-issue

list_views

Сохранённые представления с названием, макетом, фильтром и упорядоченными видимыми полями

post_status_update / list_status_updates

Долгосрочная контекстная история проекта

-
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