Skip to main content
Glama

Github Project Manager

GitHub 프로젝트 매니저

GitHub 프로젝트 및 이슈 관리를 위한 모델 컨텍스트 프로토콜(MCP) 구현입니다. 이 패키지는 AI 어시스턴트와 애플리케이션이 GitHub 저장소, 이슈, 풀 리퀘스트 및 프로젝트와 원활하게 상호 작용할 수 있는 인터페이스를 제공합니다.

특징

GitHub 이슈 관리

  • 문제 생성

  • 업데이트 문제

  • 필터링 옵션 관련 문제 나열

  • 문제 세부 정보 받기

  • 이슈에 댓글 추가

  • 문제 닫기

GitHub 풀 리퀘스트 관리

  • 풀 리퀘스트 생성

  • 풀 리퀘스트 업데이트

  • 필터링 옵션을 사용하여 풀 리퀘스트 나열

  • 풀 리퀘스트 세부 정보 받기

  • 풀 리퀘스트 병합

  • 풀 리퀘스트가 병합되었는지 확인하세요

  • 풀 리퀘스트 검토 생성 및 관리

  • 리뷰 댓글 추가 및 목록 작성

  • 리뷰어 요청 및 제거

  • 풀 리퀘스트 브랜치 업데이트

GitHub 프로젝트 관리

  • 프로젝트 만들기

  • 프로젝트에 이슈 추가

  • 프로젝트 항목 업데이트(열 간 이동)

  • 프로젝트 항목 나열

설치

지엑스피1

용법

npx로 빠르게 시작하기

GitHub 프로젝트 관리자를 사용하는 가장 빠른 방법은 npx를 직접 사용하는 것입니다.

npx -y @monsoft/mcp-github-project-manager --GITHUB_PERSONAL_TOKEN=your_github_token_here

이렇게 하면 MCP 서버가 시작되고 MCP 클라이언트가 이 서버에 연결할 수 있습니다.

운송 옵션

GitHub 프로젝트 관리자는 두 가지 전송 방법을 지원합니다.

Stdio 전송(기본값)

이는 기본 전송 방식으로, 직접 CLI 통합 및 로컬 사용에 이상적입니다.

# Start with default Stdio transport npx -y @monsoft/mcp-github-project-manager --GITHUB_PERSONAL_TOKEN=your_github_token_here

서버 전송 이벤트(SSE) 전송

원격 설정 및 웹 통합의 경우 HTTP 서버를 시작하는 SSE 전송을 사용할 수 있습니다.

# Start with SSE transport on default port (3010) npx -y @monsoft/mcp-github-project-manager --GITHUB_PERSONAL_TOKEN=your_github_token_here --RUN_SSE=1 # Start with SSE transport on a custom port npx -y @monsoft/mcp-github-project-manager --GITHUB_PERSONAL_TOKEN=your_github_token_here --RUN_SSE=1 --PORT=8080

SSE 전송을 사용하는 경우 서버에는 다음 위치에서 접근할 수 있습니다.

  • SSE 엔드포인트: http://localhost:<PORT>/sse

  • 메시지 엔드포인트: http://localhost:<PORT>/messages

MCP 클라이언트 설정

Anthropic이나 Cursor의 Claude와 같은 AI 어시스턴트와 함께 사용하려면:

# Start the MCP server in your terminal npx -y @monsoft/mcp-github-project-manager --GITHUB_PERSONAL_TOKEN=your_github_token_here

그런 다음 이 MCP 서버를 사용하도록 AI 어시스턴트를 구성하세요. 정확한 구성은 사용 중인 클라이언트에 따라 다릅니다.

프로그래밍 방식 사용

자신의 코드에서 GitHub 프로젝트 관리자를 사용하려면:

import { GitHubProjectManager } from '@monsoft/mcp-github-project-manager'; // The token will be automatically loaded from command line arguments const manager = new GitHubProjectManager(); // Now you can use the manager to interact with GitHub projects

애플리케이션을 실행할 때 GitHub 토큰을 명령줄 인수로 제공하세요.

node your-app.js --GITHUB_PERSONAL_TOKEN=your_github_token_here

또한 전송 유형 및 기타 옵션을 지정할 수 있습니다.

# Use SSE transport node your-app.js --GITHUB_PERSONAL_TOKEN=your_github_token_here --RUN_SSE=1 --PORT=3010 # Use default Stdio transport node your-app.js --GITHUB_PERSONAL_TOKEN=your_github_token_here

특정 전송 옵션을 사용하여 서버를 프로그래밍 방식으로 시작해야 하는 경우:

import { startGitHubProjectManagerServer, startGitHubProjectManagerServerSSE, } from '@monsoft/mcp-github-project-manager'; // Start with Stdio transport await startGitHubProjectManagerServer('your_github_token_here'); // Or start with SSE transport await startGitHubProjectManagerServerSSE('your_github_token_here', 3010);

API 참조

이슈 관리

문제 생성

const newIssue = await manager.createIssue({ owner: 'organization-name', repo: 'repository-name', title: 'Issue title', body: 'Detailed description of the issue', labels: ['bug', 'priority-high'], assignees: ['username1', 'username2'], });

문제 세부 정보 가져오기

const issue = await manager.getIssue({ owner: 'organization-name', repo: 'repository-name', issue_number: 123, });

문제 업데이트

await manager.updateIssue({ owner: 'organization-name', repo: 'repository-name', issue_number: 123, title: 'Updated title', body: 'Updated description', state: 'closed', });

문제 목록

const issues = await manager.listIssues({ owner: 'organization-name', repo: 'repository-name', state: 'open', labels: ['bug'], sort: 'created', direction: 'desc', });

이슈에 대한 코멘트 추가

await manager.addIssueComment({ owner: 'organization-name', repo: 'repository-name', issue_number: 123, body: 'This is a comment', });

풀 리퀘스트 관리

풀 리퀘스트 만들기

const pr = await manager.createPullRequest({ owner: 'organization-name', repo: 'repository-name', title: 'Pull request title', body: 'Description of changes', head: 'feature-branch', base: 'main', });

풀 리퀘스트 세부 정보 가져오기

const pullRequest = await manager.getPullRequest({ owner: 'organization-name', repo: 'repository-name', pull_number: 456, });

풀 리퀘스트 병합

await manager.mergePullRequest({ owner: 'organization-name', repo: 'repository-name', pull_number: 456, merge_method: 'squash', });

리뷰 만들기

await manager.createPullRequestReview({ owner: 'organization-name', repo: 'repository-name', pull_number: 456, event: 'APPROVE', body: 'LGTM! Great work.', });

프로젝트 관리

프로젝트 만들기

const project = await manager.createProject({ owner: 'organization-name', name: 'Project Name', body: 'Project description', });

프로젝트에 항목 추가

await manager.addProjectItem({ project_id: 12345, content_id: issue.id, content_type: 'Issue', });

프로젝트 항목 나열

const items = await manager.listProjectItems({ project_id: 12345, });

오류 처리

이 패키지는 일반적인 오류 시나리오를 처리하기 위한 사용자 정의 오류 클래스를 제공합니다.

try { // GitHub operations } catch (error) { if (error instanceof MissingGitHubTokenError) { console.error('GitHub token is missing. Please provide one via command line.'); } else if (error instanceof AuthenticationError) { console.error('Failed to authenticate with GitHub. Check your token.'); } else if (error instanceof RateLimitError) { console.error('GitHub API rate limit exceeded.'); } else { console.error('An unexpected error occurred:', error.message); } }

사용 가능한 오류 클래스:

  • MissingGitHubTokenError : GitHub 토큰이 제공되지 않으면 발생합니다.

  • AuthenticationError : 인증에 실패하면 발생합니다.

  • ResourceNotFoundError : 요청된 리소스가 존재하지 않을 때 발생합니다.

  • ValidationError : 입력 검증이 실패할 때 발생합니다.

  • RateLimitError : GitHub API 속도 제한을 초과하면 발생합니다.

  • NetworkError : 네트워크 통신 문제가 발생할 때 발생합니다.

  • GitHubApiError : GitHub API 문제에 대한 일반 오류

GitHub 토큰 권한

GitHub 개인 액세스 토큰에는 다음과 같은 권한이 필요합니다.

  • repo - 저장소에 대한 전체 액세스

  • project - 프로젝트 접근

  • issues - 문제에 대한 접근

개발

건물

npm run build

확인

npm run validate

테스트

npm test

린팅

npm run lint

특허

MIT

Deploy Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Github에서 이슈 및 프로젝트 관리 허용

  1. 특징
    1. GitHub 이슈 관리
    2. GitHub 풀 리퀘스트 관리
    3. GitHub 프로젝트 관리
  2. 설치
    1. 용법
      1. npx로 빠르게 시작하기
      2. 운송 옵션
      3. MCP 클라이언트 설정
      4. 프로그래밍 방식 사용
    2. API 참조
      1. 이슈 관리
      2. 풀 리퀘스트 관리
      3. 프로젝트 관리
    3. 오류 처리
      1. GitHub 토큰 권한
        1. 개발
          1. 건물
          2. 확인
          3. 테스트
          4. 린팅
        2. 특허

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            Enables interaction with GitHub through the GitHub API, supporting file operations, repository management, advanced search, and issue tracking with comprehensive error handling and automatic branch creation.
            Last updated -
            6,716
            1
          • -
            security
            F
            license
            -
            quality
            Enables management of development projects with GitHub integration, facilitating project tracking, repository linking, and metadata maintenance within the Model Context Protocol.
          • -
            security
            F
            license
            -
            quality
            Enables interaction with GitHub issues via the Model Context Protocol, allowing users to list and create issues with secure authentication.
            Last updated -
          • A
            security
            A
            license
            A
            quality
            Enables users to interact with GitHub's Projects v2 API through natural language for Agile project management, supporting repository details, issue tracking, and project board management operations.
            Last updated -
            30
            GPL 2.0

          View all related MCP servers

          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/Monsoft-Solutions/model-context-protocols'

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