Skip to main content
Glama
kmosoti

github-projects

by kmosoti

github-projects

Claude Code 및 Codex용 플러그인: Pydantic v2 모델, PEP 544 프로토콜, 그리고 GitHub Projects v2 보드를 관리하는 MCP 서버(예: 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 프로토콜에만 의존하므로 백엔드를 교체할 수 있고, 테스트에서는 구조적으로 페이크(fake)를 대체물로 사용합니다.

  • QueryClientQUERY를 낙관적으로 전송하고, Accept-Query 광고를 기록하며, 전송 오류 시 한 번 재시도하고(QUERY는 안전하고 멱등적임), 405/501 응답 시 오리진(origin)별로 영구히 POST로 폴백합니다. 따라서 현재 GitHub에서도 동작하며, GitHub가 QUERY를 지원하게 되면 스스로 업그레이드됩니다.

설정

기본 런타임은 free-threaded CPython 3.14.7 (3.14.7t)입니다. 또한 gh CLI가 project 범위(scope)로 인증되어 있어야 합니다.

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

URL로 이슈/PR을 추가합니다.

add_draft_issue

초안 이슈를 추가합니다.

update_field_value

필드를 설정합니다. 값은 필드 유형에 따라 강제 변환되는 문자열이며, 단일 선택 및 이터레이션은 이름으로 일치합니다(Status"Done").

clear_field_value

필드 값을 지웁니다.

archive_item / delete_item

항목을 보관하거나 삭제합니다.

plan_project / apply_project

원하는 상태를 멱등적으로 동기화합니다: 필드 및 옵션 별칭, 의미론적으로 검증된 리프/컨테이너 뷰, 순서가 지정된 열, 명시적 폐기, 항목 메타데이터, 에픽/하위 이슈 계층 구조, 네이티브 이슈 종속성, 레거시 의존성 문구 정리.

sprint_board

한 이터레이션(또는 모든 항목 + 미계획 버킷)의 상태 열 뷰입니다.

epic_breakdown

네이티브 하위 이슈 계층에서 에픽별 완료 현황을 집계합니다.

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