Another week and another sprint of improvements for developers.sap.com delivered live.
Accessibility
Accessibility was the headline of this sprint, and it touched almost everything. We ran a full site accessibility audit this week. This was an automated scan that grades every page against WCAG compliance and now sits at a clean baseline of zero critical and zero serious issues. Getting there meant chasing down a long tail of the small things that trip up screen readers and keyboard users: duplicate page landmarks, unlabeled navigation progress, low-contrast figure captions, an advocate flip-card that announced itself twice, and redundant alt text on the video band. None of these are glamorous, but together they're the difference between a site that technically loads and one that actually works for everyone. We've also wired the scan into our baseline so it catches issues right away over time and won't quietly regress.
On top of the compliance work, tutorials now carry their own display preferences that you control right on the page. You can switch the body font to OpenDyslexic if that's easier for you to read and we subset that font down from about 115KB to 31KB so turning it on doesn't cost you a slow load. There's a reduce-motion option that neutralizes animations for anyone who finds movement distracting or gets motion sickness from it. And because reading comfort is personal, you can now pick your reading width, including a new "Super wide" setting for people on large monitors who don't want a narrow column of text stranded in the middle of the screen. That last one grew out of a broader push to make the layout adapt to your device rather than assuming everyone's on the same size screen. We also fixed header stickiness, so the tutorial chrome behaves on very wide displays, and cleaned up how the reading area fills the space you actually have. The settings are persisted per device so you can have a different set of options on desktop vs. mobile.
Speaking of mobile, it got real attention too. We fixed horizontal overflow that was pushing tutorials sideways on phones in natural portrait mode, sorted out the Steps button overlapping content, and made the image lightbox genuinely usable on touch. You can pinch to zoom, pan around, and swipe between images, with keyboard support and thumbnails for good measure. Small screens are where a lot of our readers actually are, so this matters more than it might sound.
Devtoberfest
Devtoberfest prep kept rolling.
Last week brought the crossword puzzles, Petoberfest, and the scavenger hunt online; this week we shipped Tag the Cat, a quick reflex mini-game where you tap the cat as it pops up around the board to rack up bonus points on top of your tutorial progress. It's meant to be a light, silly way to earn a little extra on the leaderboard between serious learning. If you're planning to take part, please register and note that unlike previous years, your registration does not carry over automatically, so everyone needs to sign up fresh this time.
The bigger Devtoberfest story is under the hood: points now run directly from the tutorial system itself. In past years we'd count completions after the fact and mass-assign badges, which meant a delay between finishing a tutorial and seeing it reflected in your score. That's gone now. Completions feed the contest scoring in real time, no batch job, no waiting. Connected to that, you can now reset your progress on a tutorial. This keeps the contest fair: only completions earned during Devtoberfest count, so if you happened to finish one of the contest tutorials earlier, you can reset it and complete it again inside the event window to earn the points.
Content Authors
For authors, we spent the week sharpening the content publishing pipeline. The short version of how it works: when a tutorial changes, we fetch the source markdown, parse and build it into pages, and publish the result into HANA where it's served dynamically to readers. The win this week was making the tutorial-targeted fast path genuinely fast. When authors publish a single tutorial, we now only do the work for what actually changed instead of rebuilding and re-publishing the whole library, and leaning back on HANA to carry forward everything untouched is what made that possible. In practice a one-tutorial hotfix that used to drag now commits in about a second rather than several minutes, so authors see their edits go live far quicker.
Authors also have new AI help through Joule. You can ask Joule for improvement suggestions on a tutorial, and it draws on two things at once: technical knowledge of the tutorial's actual subject matter, and the completion statistics for that tutorial. It can flag not just "this code is out of date" but "learners are dropping off at this step." Alongside that, our new Freshness AI scan looks over a tutorial and checks whether the APIs, samples, and guidance it references are still current, grounding its findings against our own library of API docs and samples so it's SAP-aware rather than guessing. It's a reviewer's assistant, it surfaces what's likely stale so a human can decide, but it takes a lot of the manual hunting out of keeping content fresh.
MCP
The most forward-looking thing we shipped this week is that developers.sap.com now speaks MCP. The site hosts its own Model Context Protocol server, which means any MCP-compatible AI client — Claude Desktop, Claude Code, Joule Work, and the rest — can talk to the Developer Center directly, with no scraping, no SDK, and no copy-paste in between. It's a first-class hosted surface running off the same CAP backend as the website itself, so the agent is answering from the live site rather than from a stale snapshot of it. In practice that means you can ask your coding agent a question about SAP and it answers from the real thing.
Out of the box, without signing in or supplying a key, the server gives an agent a generous set of read-only tools. It can search tutorials, list and open missions, fetch a tutorial along with its individual steps, search the SAP community events catalog, pull recent Developer News and YouTube videos, and query our knowledge graph for prerequisites, what-to-learn-next, shared concepts, and concept or community lookups. That alone turns any agent into a fairly capable SAP research assistant grounded in current content.
The marquee capability, though, only unlocks once you sign in: you can now complete tutorials directly from your coding agent. With an authenticated connection an agent can read your progress, your in-progress and completed tutorials, mission progress, registered events, and which steps you've finished, pull the full HTML of any step, and, with write access, mark steps complete and reset a tutorial's progress. The workflow this enables is genuinely nice: you work through a tutorial in your IDE with your agent alongside you, and it checks off steps as you actually finish them, or resets and redoes one when you want a clean run (which ties directly into the Devtoberfest reset story above). Completion is tracked per step, a tutorial is finished when all its steps are done, and points flow through the same tutorial-system pipeline as everything else, so there's no badge delay here either.
There are two ways to authenticate, and both are live. The simplest, and the right choice for headless agents, CI, and Claude Code, is a Personal Access Token: no browser handshake required. New this sprint is a self-service token page at /me/tokens/where any signed-in user with the Tutorials MCP Users role can mint a named token, choose read or read write scope, set a TTL, and copy it once and revoke it whenever you like. Read scope covers all the read tools; write scope is what unlocks completing and resetting tutorials.
The alternative is OAuth 2.1 (authorization-code plus PKCE) through your SAP universal ID, which is the browser sign-in path for interactive clients: on first connect the client opens a consent tab, and after that the token is cached and refreshed silently. Endpoints are auto-discovered from the site's .well-known documents, so you only need to supply the client id. One honest caveat worth stating plainly: XSUAA requires a pre-registered client and doesn't do RFC 7591 dynamic client registration, so native OAuth in some clients needs to bridge through mcp-remote using our published public client id.
Beyond plain tools, the server exposes a few richer things. Tutorials, missions, and concepts are available as first-class MCP resources (tutorial://<slug>, mission://<slug>, concept://<id>), so a client can be told to "read tutorial://… and summarize step 2." It ships ready-made prompt templates too, such as summarize a mission for a beginner, generate a hands-on lab from a tutorial, explain a knowledge-graph concept, or suggest a learning path between two tutorials. And for authors and admins there's a gated set of admin tools to trigger content rebuilds, publish content, and curate the knowledge graph, including merging concepts and promoting a community to a mission.
In addition, in the MCP serve we have hosted tools for event search and full news-article detail, the self-service PAT minting page itself, and a round of desktop-OAuth fixes — localhost callback support in particular — so that Joule Desktop and similar clients can complete the sign-in flow end to end. Connecting is deliberately small: drop a short .mcp.json (Claude Code) or claude_desktop_config.json (Claude Desktop) block pointing at the site's /mcp/* endpoints, and add an auth block with a PAT or OAuth to light up the personalized tools. The MCP Quickstart doc walks through it.
Miscellaneous
A handful of other things landed too. Tutorials picked up a Print / Save-as-PDF button (and we made sure lazy-loaded images actually render before it prints). The admin shell got a page-search command palette so authors can jump around faster. We fixed the parser so quiz options like "yes/no" stop getting silently turned into true/false, tidied up the Devtoberfest calendar so the month grid fits at normal resolution, and added deep-link URLs for the sessions grid and calendar so you can share a filtered view. And on the plumbing side, we finished migrating our feature flags off environment variables and into database-backed config, which mostly matters to us, but it means toggles survive deployments cleanly instead of getting dropped.
Not every week on the Developer Center is going to be as big as this week, but hopefully you are seeing how we will continue to invest and make the site better at a faster pace than ever before.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.