A hands-on learning application for building a local MCP (Model Context Protocol) server that uses GitHub OAuth. Built as a companion to the "Using Claude Code Effectively" workshop.
- How OAuth works and how to set up a GitHub OAuth App
- How to implement file-based token storage shared across processes
- How to define MCP tools that Claude Code can call
- How to connect a custom MCP server to Claude Code
- Next.js app with OAuth authorize/callback routes
- MCP server scaffold with a
githubFetchhelper - Homepage with step-by-step instructions and suggested prompts
- Token storage implementation (
src/lib/token-store.ts) - MCP tool definitions:
list_repos,create_issue,get_pull_requests(src/mcp-server.ts)
GitHub has two types of applications. You want an OAuth App (Settings > Developer settings > OAuth Apps). Do not create a "GitHub App" — that's a different thing with a more complex auth flow. If you see "permissions" and "installation" steps, you're in the wrong place.
npm install
npm run devThen open http://localhost:3000 and follow the steps on the page. Use Claude Code to help you implement each piece.