edg-mcp
Queries Escuela de Guitarristas' GraphQL API (api.escueladeguitarristas.com/graphql) with a Bearer token to fetch the course catalog (courses, videos, durations, resource paths) and the list of videos the user has completed, then joins the two to report per-course and per-lesson progress.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@edg-mcpWhat should I practice next in my guitar course?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
edg-mcp
Unofficial MCP server that exposes your own progress in Escuela de Guitarristas (EDG) courses, so an AI assistant can see which lessons you've completed and plan your next practice sessions.
⚠️ Not affiliated with Escuela de Guitarristas. It's a personal project. It only reads the progress of the account whose token you configure, and needs an active EDG subscription. It does not download, store or redistribute any course content. Please be gentle with their API.
Tools
All tools are read-only.
Tool | What it returns |
| Courses in progress (with the next lesson), completed courses, total lessons completed |
| Every course with % completed. Filters: |
| One course, lesson by lesson: number, name, minutes, URL, |
| The next N pending lessons of a course, in order (skipped ones first) |
course arguments accept a slug (ritmica-1) or a name (Guitarra Rítmica 1, accents optional).
If the EDG token stops working, tools return an error starting with AUTH_EXPIRED so the assistant
can tell you to refresh it instead of failing silently.
Related MCP server: Moodle Study MCP
How it works
EDG's web app talks to a GraphQL API (api.escueladeguitarristas.com/graphql) using a Bearer
token. This server sends two queries with your token:
courses { … videos { id name slug duration resourcePath } }: the catalog, cached for 6 huserCompletedVideos { id }: the lessons you've marked as watched
It joins them and serves the result over MCP Streamable HTTP. It's a stateless Cloudflare Worker with a fresh server per request and no storage.
Setup
1. Get your EDG token
Log in at https://escueladeguitarristas.com.
Open DevTools → Console and run:
(await (await fetch('/api/auth/session')).json()).accessTokenCopy the value. Treat it like a password. At the time of writing it lasts about a year.
2. Deploy to Cloudflare Workers
Requires Node.js 22.12+ (pinned for Volta in package.json, and in .nvmrc for nvm).
npm install
npx wrangler login
npx wrangler secret put EDG_TOKEN # paste the token from step 1
npx wrangler secret put MCP_AUTH_TOKEN # any long random string, e.g. `openssl rand -hex 32`
npm run deployYou'll get a URL like https://edg-mcp.<your-subdomain>.workers.dev.
3. Connect a client
The MCP endpoint is protected by MCP_AUTH_TOKEN. Pass it in any of these ways:
Authorization: Bearer <MCP_AUTH_TOKEN>header, with URLhttps://…/mcp. Works with Claude Code, MCP Inspector and most clients.X-API-Key: <MCP_AUTH_TOKEN>header, with URLhttps://…/mcp. Use this for clients that reserveAuthorizationfor OAuth.In the URL:
https://…/mcp/<MCP_AUTH_TOKEN>, for clients that only take a URL.
claude.ai custom connector: Customize → Connectors → + Add → Add custom connector:
URL https://…/mcp, Authentication No sign-in, Request header X-API-Key = your MCP_AUTH_TOKEN.
Claude Code example:
claude mcp add --transport http edg https://edg-mcp.<you>.workers.dev/mcp \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>"Development
cp .dev.vars.example .dev.vars # fill in both values
npm run dev # http://localhost:8787/mcp
npm test # unit + end-to-end tests against a fake EDG API
npm run typecheckTry it with the MCP Inspector:
npx @modelcontextprotocol/inspector → Streamable HTTP → http://localhost:8787/mcp/<MCP_AUTH_TOKEN>.
Security notes
Never commit
.dev.vars. It's in.gitignore. Secrets live inwrangler secret.Anyone with your
MCP_AUTH_TOKENcan read your EDG progress. Rotate it withwrangler secret put.Anyone with your
EDG_TOKENcan act as you on EDG. If it leaks, log out of EDG everywhere and change your password.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Lucky AI study buddy over your own LlamaNotes courses: chat, progress, and AI course generation.
Talk to your own gym log. Reps is a free workout tracker for iPhone and Android; connect it to Claude, ChatGPT or any MCP client and ask about your workout history, personal records, exercise progression, weekly summaries, routines and training plan. The assistant can also save a new routine, edit one, save a whole plan, add custom exercises and exercise notes, always after you confirm in the chat. It cannot log a workout or delete your history. Requires a free Reps account created in the app; you sign in with a one-time email code.
Ask your AI about your fitness: activities and data from Garmin, COROS, Strava, GPX and more
MCP-native notes and memory for ChatGPT, Claude, and other AI tools.
Related MCP Servers
- AlicenseAqualityDmaintenancePersonal AI tutor MCP that automatically generates structured coding practice materials based on coding context and local files.2MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to read your Moodle courses, list materials, quizzes, and search content to plan exam preparation through natural language.1-
- AlicenseNot gradedqualityBmaintenanceEnables an AI assistant to securely access a student's own VIT VTOP account through a read-only, structured MCP interface, providing academic summaries, CGPA, courses, attendance, assignments, events, feedback, and session status.MIT
- AlicenseAqualityAmaintenanceIntegrates AI assistants with the Universidad Siglo 21 Canvas LMS, enabling consultation of courses, grades, assignments, schedules, readings, and PDF content, plus interactive exam simulations and academic status analysis.218 npm2MIT