mcpField
G
github-copilot

github-copilot

github.com/okou-aiOther81103 installsUpdated 1w ago
Repository

About github-copilot

This skill helps GitHub Copilot Business/Enterprise organization administrators manage seats and inspect usage through the GitHub API. It covers organization- and team-level queries, along with user and team seat assignments.

Key features

  1. 01View organization Copilot billing and seat totals
  2. 02List seats and users’ activity dates
  3. 03Look up an individual user’s seat
  4. 04Assign or remove seats for users and teams
  5. 05Review organization and team usage metrics

Use cases

  1. 01Audit Copilot seats and activity across an organization
  2. 02Provision seats for new members or teams
  3. 03Remove seats that are no longer needed
  4. 04Check Copilot usage by organization or team

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/okou-ai/okou-skills --skill github-copilot

After installing, type/github-copilotin Claude Code to confirm it loaded.

Details

From the project README

Troubleshooting

If requests fail, run okou doctor check-connector --env-name GITHUB_TOKEN or okou doctor check-connector --url https://api.github.com/orgs/your-org/copilot/billing --method GET

How to Use

All examples below assume you have GITHUB_TOKEN set.

Base URL: https://api.github.com

Required headers:

  • Authorization: Bearer ${GITHUB_TOKEN}
  • Accept: application/vnd.github+json
  • X-GitHub-Api-Version: 2022-11-28
1. Get Copilot Billing Information

Get seat breakdown and settings for an organization. Replace your-org-name with your organization name:

curl -s -X GET "https://api.github.com/orgs/your-org-name/copilot/billing" --header "Authorization: Bearer $GITHUB_TOKEN" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"

Response:

{
  "seat_breakdown": {
  "total": 12,
  "added_this_cycle": 2,
  "pending_cancellation": 0,
  "pending_invitation": 1,
  "active_this_cycle": 12,
  "inactive_this_cycle": 0
  },
  "seat_management_setting": "assign_selected",
  "public_code_suggestions": "block"
}
2. List All Copilot Seat Assignments

Get all users with Copilot seats. Replace your-org-name with your organization name:

curl -s -X GET "https://api.github.com/orgs/your-org-name/copilot/billing/seats?per_page=50" --header "Authorization: Bearer $GITHUB_TOKEN" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" | jq '.seats[] | {login: .assignee.login, last_activity: .last_activity_at}'
3. Get Copilot Seat Details for a User

Get specific user's Copilot seat information. Replace your-org-name with your organization name and username with the target username:

curl -s -X GET "https://api.github.com/orgs/your-org-name/members/username/copilot" --header "Authorization: Bearer $GITHUB_TOKEN" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"
4. Add Users to Copilot Subscription

Assign Copilot seats to specific users. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{
  "selected_usernames": ["user1", "user2"]
}

Then run:

curl -s -X POST "https://api.github.com/orgs/your-org-name/copilot/billing/selected_users" --header "Authorization: Bearer $GITHUB_TOKEN" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json

Response:

{
  "seats_created": 2
}
5. Remove Users from Copilot Subscription

Remove Copilot seats from specific users. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{
  "selected_usernames": ["user1", "user2"]
}

Then run:

curl -s -X DELETE "https://api.github.com/orgs/your-org-name/copilot/billing/selected_users" --header "Authorization: Bearer $GITHUB_TOKEN" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json

Response:

{
  "seats_cancelled": 2
}
6. Add Teams to Copilot Subscription

Assign Copilot to entire teams. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{
  "selected_teams": ["engineering", "design"]
}

Then run:

curl -s -X POST "https://api.github.com/orgs/your-org-name/copilot/billing/selected_teams" --header "Authorization: Bearer $GITHUB_TOKEN" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json
7. Remove Teams from Copilot Subscription

Remove Copilot from teams. Replace your-org-name with your organization name:

Write to /tmp/github_copilot_request.json:

{
  "selected_teams": ["engineering"]
}

Then run:

curl -s -X DELETE "https://api.github.com/orgs/your-org-name/copilot/billing/selected_teams" --header "Authorization: Bearer $GITHUB_TOKEN" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" --header "Content-Type: application/json" -d @/tmp/github_copilot_request.json
8. Get Copilot Usage Metrics for Organization

Get usage statistics (requires 5+ active users). Replace your-org-name with your organization name:

curl -s -X GET "https://api.github.com/orgs/your-org-name/copilot/metrics?per_page=7" --header "Authorization: Bearer $GITHUB_TOKEN" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28" | jq '.[] | {date, total_active_users, total_engaged_users}'

Response:

{
  "date": "2024-06-24",
  "total_active_users": 24,
  "total_engaged_users": 20
}
9. Get Copilot Metrics for a Team

Get team-specific usage metrics. Replace your-org-name with your organization name and team-name with the target team:

curl -s -X GET "https://api.github.com/orgs/your-org-name/team/team-name/copilot/metrics" --header "Authorization: Bearer $GITHUB_TOKEN" --header "Accept: application/vnd.github+json" --header "X-GitHub-Api-Version: 2022-11-28"

Metrics Data Structure

The metrics response includes:

FieldDescription
total_active_usersUsers with Copilot activity
total_engaged_usersUsers who accepted suggestions
copilot_ide_code_completionsCode completion stats by language/editor
copilot_ide_chatIDE chat usage stats
copilot_dotcom_chatGitHub.com chat usage
copilot_dotcom_pull_requestsPR summary usage

Guidelines

  1. Requires Copilot Business/Enterprise: Free tier users cannot use this API
  2. Metrics need 5+ users: Usage metrics only available with 5+ active Copilot users
  3. Data retention: Metrics available for up to 100 days
  4. Rate limits: Standard GitHub API rate limits apply
  5. API in preview: Some endpoints may change

Comments

Markdown supported