Github Project Manager

Integrations

  • Supports loading environment configuration from .env files, used to store GitHub tokens and other configuration settings.

  • Allows management of GitHub issues, pull requests, and projects. Features include creating, updating, and listing issues; adding comments; creating, updating, and merging pull requests; managing pull request reviews; and creating and managing GitHub projects.

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

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    Enables LLMs to interact with GitHub issues by providing details as tasks, allowing for seamless integration and task management through GitHub's platform.
    Last updated 3 months ago
    1
    19
    9
    JavaScript
    MIT License
  • -
    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 4 months ago
    9
    1
    TypeScript
  • -
    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.
    Last updated 3 months ago
    3
    JavaScript
  • -
    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 2 months ago
    Python

View all related MCP servers

ID: wajp07sk6l