GitHub Action Trigger MCP Server

Integrations

  • Provides tools for interacting with GitHub repositories, fetching the latest releases, and accessing repository information.

  • Enables fetching available GitHub Actions workflows from repositories, getting detailed information about specific actions, and triggering workflow dispatch events with custom inputs.

GitHub 액션 트리거 MCP 서버

GitHub Actions 통합을 위한 모델 컨텍스트 프로토콜 서버입니다.

개요

GitHub Actions 통합을 위해 설계된 TypeScript 기반 MCP 서버입니다. 다음과 같은 기능을 제공합니다.

  • 저장소에서 사용 가능한 GitHub 작업을 가져오는 도구
  • 특정 GitHub 작업에 대한 자세한 정보를 얻기 위한 도구
  • GitHub 워크플로 디스패치 이벤트를 트리거하는 도구
  • GitHub 저장소에서 최신 릴리스를 가져오는 도구

특징

도구

  • get_github_actions - 저장소에 사용 가능한 GitHub Actions 가져오기
    • 필수 매개변수: owner (저장소 소유자, 사용자 이름 또는 조직) 및 repo (저장소 이름)
    • 선택 매개변수: token (개인 저장소에 액세스하거나 API 속도 제한을 높이기 위한 GitHub 개인 액세스 토큰)
    • 워크플로 ID, 이름, 경로, 상태, URL 및 콘텐츠가 포함된 JSON 데이터를 반환합니다.
  • get_github_action - 입력 및 요구 사항을 포함하여 특정 GitHub 작업에 대한 자세한 정보를 가져옵니다.
    • 필수 매개변수: owner (작업 소유자, 사용자 이름 또는 조직) 및 repo (작업의 저장소 이름)
    • 선택 매개변수:
      • path : 작업 정의 파일의 경로(기본값: 'action.yml')
      • ref : Git 참조(브랜치, 태그 또는 커밋 SHA, 기본값: 'main')
      • token : GitHub 개인 액세스 토큰(선택 사항)
    • 이름, 설명, 작성자, 입력(필수 여부 포함) 등을 포함하여 작업에 대한 자세한 정보를 반환합니다.
  • trigger_github_action - GitHub 워크플로를 트리거하고 관련 매개변수를 전달합니다.
    • 필수 매개변수:
      • owner : 저장소 소유자(사용자 이름 또는 조직)
      • repo : 저장소 이름
      • workflow_id : 트리거할 워크플로의 ID 또는 파일 이름
    • 선택 매개변수:
      • ref : 워크플로를 트리거할 git 참조(기본값: 'main')
      • inputs : 워크플로에 전달할 입력(워크플로의 정의된 입력과 일치해야 함)
      • token : GitHub 개인 액세스 토큰(워크플로 범위가 있어야 함)
    • 상태, URL 등을 포함한 워크플로 실행 정보를 반환합니다.
  • get_github_release - GitHub 저장소에서 최신 2개 릴리스를 가져옵니다.
    • 필수 매개변수: owner (저장소 소유자, 사용자 이름 또는 조직) 및 repo (저장소 이름)
    • 선택 매개변수: token (GitHub 개인 액세스 토큰, 선택 사항)
    • 최신 2개 릴리스에 대한 정보를 반환합니다.

설치

권장 설치: npx 사용

가장 간단한 설치 및 사용 방법은 로컬에서 수동으로 설치하지 않고 Claude Desktop 구성 파일에서 npx 명령을 사용하는 것입니다.

지엑스피1

이 방법의 이점:

  • 로컬 패키지 설치가 필요하지 않습니다
  • 자동으로 최신 버전을 사용합니다
  • 한 번만 설정하면 바로 사용 가능
  • 내장된 GitHub 토큰 구성

로컬 설치

수동으로 설치하려면 다음 단계를 따르세요.

  1. 패키지를 설치하세요:
npm install -g @nextdrive/github-action-trigger-mcp
  1. Claude Desktop 구성에서 사용:

MacOS의 경우: ~/Library/Application Support/Claude/claude_desktop_config.json Windows의 경우: %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "github-action-trigger-mcp": { "command": "@nextdrive/github-action-trigger-mcp", "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here" } } } }

GitHub 토큰 구성

GitHub API에 액세스하려면, 특히 비공개 저장소나 워크플로 트리거의 경우 GitHub 개인 액세스 토큰을 구성해야 합니다. 다음과 같은 여러 가지 방법으로 설정할 수 있습니다.

방법 1(권장): Claude Desktop에서 직접 구성

env 필드를 통해 Claude Desktop 구성 파일에서 직접 토큰을 설정합니다.

"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here" }

방법 2: 전역 환경 변수

GITHUB_TOKEN 환경 변수를 설정합니다.

# On Linux/MacOS export GITHUB_TOKEN=your_github_token # On Windows set GITHUB_TOKEN=your_github_token

방법 3: 로컬 구성 파일

구성 파일을 편집하세요:

~/.nextdrive-github-action-trigger-mcp/config.json

GitHub 토큰을 설정하세요:

{ "githubToken": "your_github_token" }

이 구성 파일의 템플릿은 서버가 처음 시작될 때 자동으로 생성됩니다.

개발

종속성 설치:

npm install

서버를 빌드하세요:

npm run build

개발 중 자동 재구축을 위해:

npm run watch

디버깅

디버깅을 위해 MCP Inspector를 사용하세요.

npm run inspector

검사기는 브라우저에서 디버깅 도구에 액세스할 수 있는 URL을 제공합니다.

npm에 게시하기

이 패키지를 npm에 게시하려면 다음 단계를 따르세요.

  1. npm에 로그인했고 @nextdrive 조직에 게시할 수 있는 권한이 있는지 확인하세요.
    npm login
  2. 프로젝트를 빌드하세요:
    npm run build
  3. npm에 게시합니다(조직 범위 패키지는 기본적으로 비공개이며, --access public 사용하여 공개합니다):
    npm publish --access public

게시 후에는 누구나 npx @nextdrive/github-action-trigger-mcp 명령을 사용하여 이 도구를 실행하거나 Claude Desktop 구성에서 사용할 수 있습니다.

사용 예

GitHub 작업 목록 가져오기

get_github_actions 도구를 사용하여 저장소의 GitHub Actions를 가져옵니다.

{ "owner": "username-or-org", "repo": "repository-name" }

기본 토큰이 구성된 경우 개인 저장소에 액세스할 때 자동으로 사용됩니다.

응답 예시:

[ { "id": 12345678, "name": "CI", "path": ".github/workflows/ci.yml", "state": "active", "url": "https://github.com/owner/repo/actions/workflows/ci.yml", "content": "name: CI\n\non:\n push:\n branches: [ main ]\n pull_request:\n branches: [ main ]\n\njobs:\n build:\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v2\n - name: Setup Node.js\n uses: actions/setup-node@v2\n with:\n node-version: 16.x\n - name: Install dependencies\n run: npm ci\n - name: Build\n run: npm run build\n - name: Test\n run: npm test\n" } ]

자세한 GitHub 작업 정보 가져오기

get_github_action 도구를 사용하면 특정 작업에 대한 자세한 정보를 얻을 수 있습니다.

{ "owner": "actions", "repo": "checkout", "ref": "v4" }

응답 예시:

{ "name": "Checkout", "description": "Check out a Git repository at a particular version", "author": "GitHub", "inputs": [ { "name": "repository", "description": "Repository name with owner. For example, actions/checkout", "default": "", "required": false }, { "name": "ref", "description": "The branch, tag or SHA to checkout.", "default": "", "required": false } ], "runs": { "using": "node20", "main": "dist/index.js" } }

GitHub 워크플로 트리거

trigger_github_action 도구를 사용하여 GitHub 워크플로를 트리거합니다.

{ "owner": "username-or-org", "repo": "repository-name", "workflow_id": "ci.yml", "inputs": { "deploy_environment": "production", "debug_enabled": "true" } }

응답 예시:

{ "success": true, "message": "Workflow dispatch event triggered successfully", "run": { "id": 12345678, "url": "https://github.com/owner/repo/actions/runs/12345678", "status": "queued", "conclusion": null, "created_at": "2025-03-19T06:45:12Z", "triggered_by": "API" } }

참고: 워크플로를 트리거하려면 다음이 필요합니다.

  1. 워크플로는 workflow_dispatch 이벤트를 지원하도록 구성되어야 합니다.
  2. GitHub 토큰에는 workflow 범위 권한이 있어야 합니다.
  3. 전달된 입력 매개변수는 워크플로에 정의된 매개변수와 일치해야 합니다.

최신 릴리스 받기

get_github_release 도구를 사용하여 저장소에서 최신 2개 릴리스를 가져옵니다.

{ "owner": "username-or-org", "repo": "repository-name" }

응답 예시:

{ "count": 2, "releases": [ { "id": 12345678, "name": "v1.0.0", "tag_name": "v1.0.0", "published_at": "2025-03-15T10:00:00Z", "draft": false, "prerelease": false, "html_url": "https://github.com/owner/repo/releases/tag/v1.0.0", "body": "Release notes for version 1.0.0", "assets": [ { "name": "app-v1.0.0.zip", "size": 1234567, "download_count": 42, "browser_download_url": "https://github.com/owner/repo/releases/download/v1.0.0/app-v1.0.0.zip", "created_at": "2025-03-15T10:05:00Z", "updated_at": "2025-03-15T10:05:00Z" } ], "author": { "login": "username", "html_url": "https://github.com/username" } }, { "id": 87654321, "name": "v0.9.0", "tag_name": "v0.9.0", "published_at": "2025-03-01T10:00:00Z", "draft": false, "prerelease": true, "html_url": "https://github.com/owner/repo/releases/tag/v0.9.0", "body": "Pre-release notes for version 0.9.0", "assets": [], "author": { "login": "username", "html_url": "https://github.com/username" } } ] }

You must be authenticated.

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

GitHub Actions와 통합을 가능하게 하는 모델 컨텍스트 프로토콜 서버로, 이를 통해 사용자는 사용 가능한 작업을 가져오고, 특정 작업에 대한 자세한 정보를 얻고, 워크플로 디스패치 이벤트를 트리거하고, 저장소 릴리스를 가져올 수 있습니다.

  1. Overview
    1. Features
      1. Tools
    2. Installation
      1. Recommended Installation: Using npx
      2. Local Installation
      3. GitHub Token Configuration
    3. Development
      1. Debugging
    4. Publishing to npm
      1. Usage Examples
        1. Getting a List of GitHub Actions
        2. Getting Detailed GitHub Action Information
        3. Triggering a GitHub Workflow
        4. Getting Latest Releases
      ID: 6ufwxw61ny