GitHub MCP Wrapper
Enables claude.ai to connect to GitHub MCP using OAuth, providing full toolset for repository, issue, PR, Actions, and gist operations.
README
GitHub MCP Wrapper for claude.ai
claude.ai 웹/앱의 커스텀 커넥터에서 공식 GitHub MCP 서버에 붙기 위한 OAuth 래퍼.
왜 필요한가
claude.ai 커스텀 커넥터는 MCP OAuth 스펙(protected-resource 메타데이터, DCR,
PKCE, https://claude.ai/api/mcp/auth_callback 콜백)을 따르는 서버만 붙는다.
GitHub OAuth App을 그대로 꽂으면 이 디스커버리 흐름을 못 맞춰서 토큰 없이
호출 → 401 → "토큰 없음" 에러로 떨어진다.
이 래퍼는 앞단에서 claude.ai가 요구하는 OAuth를 충족하고(게이트는 비밀번호 하나),
통과하면 네 GitHub PAT를 달아서 공식 GitHub MCP(api.githubcopilot.com/mcp/)로
프록시한다. 공식 서버의 전체 툴셋(레포·이슈·PR·Actions·gist 읽기/쓰기)을 그대로 쓴다.
상태 저장은 서명된 토큰(HMAC-SHA256)으로 처리 → DB·외부 서비스 불필요.
1. GitHub PAT 발급
github.com/settings/tokens 에서 발급.
- Classic:
repo,read:org,workflow,gist(쓰기까지 원하면 이 정도) - Fine-grained: 대상 레포 + Contents/Issues/Pull requests/Actions = Read and write
발급된 토큰 문자열을 복사해둔다.
2. Vercel 배포
이 폴더를 GitHub 레포에 올린 뒤 Vercel에서 Import, 또는 CLI:
npm i -g vercel
vercel
vercel --prod
배포되면 도메인이 나온다. 예: https://gh-mcp-wrapper.vercel.app
환경변수 (Vercel → Project → Settings → Environment Variables)
| 이름 | 값 |
|---|---|
GITHUB_PAT |
1단계에서 발급한 토큰 |
AUTH_PASSWORD |
커넥터 연결 시 입력할 비밀번호 (직접 정함) |
SIGNING_SECRET |
긴 랜덤 문자열 (openssl rand -hex 32) |
세 개 다 넣고 재배포(vercel --prod).
동작 확인
curl https://<도메인>/.well-known/oauth-authorization-server
JSON에 authorization_endpoint, token_endpoint, registration_endpoint가
보이면 정상.
3. claude.ai 커넥터 추가
설정 → 커넥터 → 커스텀 커넥터 추가:
- 이름: 아무거나 (예: GitHub)
- 원격 MCP 서버 URL:
https://<도메인>/mcp - 고급 설정의 OAuth 클라이언트 ID / 시크릿: 비워둔다 (DCR이 처리)
추가 → 연결(Connect) → 브라우저에 비밀번호 입력창 → AUTH_PASSWORD 입력 →
승인되면 툴 활성화.
엔드포인트
| 경로 | 역할 |
|---|---|
/.well-known/oauth-protected-resource |
RFC 9728 메타데이터 |
/.well-known/oauth-authorization-server |
AS 메타데이터 |
/register |
Dynamic Client Registration |
/authorize |
비밀번호 게이트 + 코드 발급 |
/token |
코드/리프레시 → 액세스 토큰 |
/mcp |
토큰 검증 후 공식 GitHub MCP로 프록시 |
주의
- claude.ai 커스텀 커넥터 OAuth 자체에 알려진 버그가 있다(인증 후 후속 요청에 Authorization 헤더 누락 등). 래퍼가 정상이어도 claude.ai 쪽 이슈로 한 번에 안 붙을 수 있다. 그 경우 커넥터 삭제 후 재추가, 새 대화에서 재시도.
- PAT는 GitHub에서 만료/스코프 조정 가능. 만료되면 Vercel 환경변수만 교체.
- 단일 사용자 전제. URL이 노출돼도 비밀번호가 게이트지만,
SIGNING_SECRET과AUTH_PASSWORD는 충분히 길게.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.