mcp-academy
<!-- studiomeyer-mcp-stack-banner:start -->
> **Part of the [StudioMeyer MCP Stack](https://studiomeyer.io)** โ Built in Mallorca ๐ด ยท โญ if you use it
<!-- studiomeyer-mcp-stack-banner:end -->
# mcp-academy
<!-- badges -->
[](https://www.npmjs.com/package/mcp-academy)
[](https://www.npmjs.com/package/mcp-academy)



<!-- /badges -->
**Take the StudioMeyer Academy "Memory-First AI Operator" course right inside your AI.** Claude, ChatGPT, Cursor or Codex becomes your tutor โ it pulls the lessons, explains them, answers your questions, and walks you through building real things.
The whole curriculum ships **inside this package**: 6 levels, 63 lessons (DE/EN/ES), 104 hands-on playbooks, 63 build recipes. **No account, no API key, no database, no network needed to learn.** It's free and open source.
- **Levels 1โ3** โ fundamentals: what LLMs really do, prompting, simple automation.
- **Levels 4โ6** โ the part almost nobody teaches: persistent memory, the MCP protocol, hooks & skills, multi-agent systems, and building + selling your own MCP server.
Academy lives at <https://studiomeyer.academy>.
## Library or course โ pick one
This package is the **library**: the curriculum, offline, in your editor, with nobody to sign in as. Read everything, in three languages, forever, for free.
If you want the **course** โ progress that survives the session, quizzes, certificates, a tutor that knows where you left off โ connect the hosted server instead:
```
https://mcp.studiomeyer.academy/mcp
```
It asks you to sign in once (Google, Discord, or a link by email), and that is the whole difference. Same lessons, plus a memory of your way through them. Both are free.
## A note from us
We have been building tools and systems for ourselves for the past two years. The fact that this repo is small and has few stars is not because it is new. It is because we only just decided to share what we have built. It is not a fresh experiment, it is a long story with a recent commit.
We love building things and sharing them. We do not love social media tactics, growth hacks, or chasing stars and followers. So this repo is small. The code is real, it gets used, issues get answered. Judge for yourself.
From a small studio in Palma de Mallorca.
## Quick start
### Claude Code
```bash
claude mcp add academy -s user -- npx -y mcp-academy
```
Then just say: *"Start the Academy."* Your assistant calls `academy_welcome` and you're learning.
### Cursor / Claude Desktop / Codex
```json
{
"mcpServers": {
"academy": {
"command": "npx",
"args": ["-y", "mcp-academy"]
}
}
}
```
### ChatGPT (and other remote connectors)
ChatGPT connects to a hosted URL, not a local command. Add a connector pointing at:
```
https://mcp.studiomeyer.academy/mcp
```
You sign in once when you add it (Google, Discord, or a link by email) and the course then remembers your progress. If you would rather not sign in at all, use the npm package above โ it carries the same curriculum offline.
## What you can do (free, no account)
| Tool | What it does |
|------|--------------|
| `academy_welcome` | Orientation โ call this first |
| `academy_levels` | The 6-level learning path |
| `academy_lessons` / `academy_lesson` | List a level / read a full lesson |
| `academy_playbooks` / `academy_playbook` | Hands-on how-tos |
| `academy_recipes` / `academy_recipe` | Step-by-step build guides |
| `academy_search` | Search the whole curriculum |
| `academy_tutor_context` | Get a lesson packaged for tutoring โ your AI teaches it |
| `search` / `fetch` | The ChatGPT connector contract (read course material) |
All locales: `de`, `en`, `es` (default `en`).
## Optional: track your progress (account)
If you have a [studiomeyer.academy](https://studiomeyer.academy) account, add your API key over **stdio** to unlock personal progress, quizzes, spaced-repetition and certificates:
```bash
claude mcp add academy -s user --env ACADEMY_API_KEY=academy_xxx -- npx -y mcp-academy
```
Create a key at <https://studiomeyer.academy/dashboard/keys>. This adds: `academy_stats`, `academy_next_lesson`, `academy_progress_complete`, `academy_quiz`, `academy_quiz_submit`, `academy_review`, `academy_review_grade`, `academy_certificates`, `academy_tutor` (Pro). These talk to the Academy REST bridge with your Bearer token. The hosted course at `mcp.studiomeyer.academy` offers the same tools without any key โ it signs you in via OAuth instead, which is the friendlier route.
> `ACADEMY_BASE_URL` defaults to `https://studiomeyer.academy` and should only ever point at the real Academy origin (it's where your key is sent). Useful for pointing at a local Academy instance during development.
## Run your own HTTP endpoint
```bash
ACADEMY_MCP_PORT=3116 npx -y mcp-academy --http # the hosted course: OAuth required, needs Postgres
```
Stateless Streamable HTTP, one isolated session per request, behind a reverse proxy. Every `/mcp` request needs a Bearer token โ the server answers `401` with a `WWW-Authenticate` header and clients follow it into the sign-in flow by themselves. It therefore needs Postgres (`ACADEMY_MCP_DATABASE_URL`, pointed at the Academy's own database), a public `ACADEMY_MCP_BASE_URL`, SMTP for magic links, and Google/Discord credentials if you want those buttons. `ACADEMY_API_KEY` is ignored here โ one shared key cannot stand for every caller.
## How it stays fresh & safe
The curriculum is baked into the package at build time from the live Academy content (`npm run bundle`), behind a hard source whitelist + a secret-leak gate that aborts the build on any real-looking credential. Quiz answer keys and the AI-tutor system prompt are **never** bundled โ they live server-side and are only reachable with your own account key.
## About StudioMeyer
[StudioMeyer](https://studiomeyer.io) is an AI and design studio in Palma de Mallorca, working with clients worldwide. We build custom websites and AI infrastructure for small and medium businesses. Source: [studiomeyer-io/mcp-academy](https://github.com/studiomeyer-io/mcp-academy). Issues and PRs welcome โ hello@studiomeyer.io.
## License
MIT ยฉ StudioMeyer
TDQS
Scored across 21 tools
There is a noticeable overlap between academy_search and the generic 'search', as well as between academy_lesson, academy_tutor_context, and academy_tutor, which could confuse an agent about which tool to use for teaching. However, descriptions provide some clarity, and most tools target distinct actions (list vs. get vs. submit vs. review). Overall, the overlap is limited to a few pairs.
Most tools follow a consistent pattern: academy_<verb> (e.g., academy_welcome, academy_levels, academy_lessons, academy_lesson). A few deviations exist, such as 'search' and 'fetch' without the academy_ prefix, and 'academy_progress_complete' which has a different verb order. Nonetheless, the naming is generally predictable and readable.
With 21 tools, the count is on the higher end for the domain but not extreme. The server covers a curriculum, user progress, quizzes, reviews, and certificates, so many actions are justified. However, some duplication (search/fetch, lesson vs. tutor context) suggests it could be trimmed to around 15-18 tools, making it slightly over-scoped.
The surface covers the main workflows: browsing content, taking lessons, searching, tracking progress, completing lessons, quizzes, reviews, and certificates. Notable missing operations include leaving lesson feedback or updating user profile, but those are minor. The coverage is strong for a curriculum server, with no critical dead ends.