Migrate Tier 1 MCP tools to the hosted developers.sap.com MCP

Open
#32 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
38/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
go

Research direction

Start at the local sap-devs mcp serve entry point and trace the listed Tier 1 tools, especially search_tutorials, tutorial access, progress, recommendations, news, and videos. Compare each with its hosted /mcp/* equivalent and the authentication requirements. Done means the selected tools delegate or are deprecated as described, with an offline fallback considered where needed.

Written by the indexing model from the issue text.

Description

enhancement

Summary

The developers.sap.com site now hosts its own Streamable-HTTP MCP server (/mcp/search, /mcp/homepage, /mcp/graph, plus /mcp-auth and /mcp-pat), backed by the CAP/HANA platform that owns the tutorial, mission, news, video, KG, and per-user progress data.

Several tools in this CLI's local sap-devs mcp serve duplicate that functionality by reading a synced content index or by scraping external APIs (YouTube RSS, Community RSS, GitHub raw markdown). In each case the hosted server is the authoritative, always-fresh source. We should convert these local tools to delegate to the hosted developers.sap.com MCP (proxy/forward) rather than maintain a divergent local implementation, or deprecate them where the hosted tool fully supersedes them.

Tier 1 tools to migrate

Local tool(s) Hosted equivalent Why hosted wins
search_tutorials search_tutorials (/mcp/search) Local searches a ~1,200-entry synced index that goes stale between syncs; hosted is authoritative full-text over published HANA content.
get_tutorial_step, get_tutorial_image get_tutorial_step + tutorial:// resource (/mcp/search) Local re-fetches raw GitHub markdown and parses client-side → drifts from the published render; hosted serves canonical rendered HTML/images from HANA.
update_tutorial_progress, get_tutorial_progress, list_active_tutorials complete_step, reset_tutorial_progress, get_my_tutorials, get_my_completed_steps (/mcp-auth, /mcp-pat) Local progress is a per-machine DataDir file, not cross-device; the platform keys progress to the SAP universal ID server-side.
recommend_tutorials get_my_recommended_tutorials / get_my_recommended_missions Hosted has the persona ranker + KG PageRank; local matches pack refs against the stale index.
get_recent_news get_recent_news (/mcp/homepage) Local scrapes YouTube + Community RSS (fragile); hosted's HomepageService aggregates this authoritatively.
search_videos get_recent_videos (/mcp/homepage) Same scrape-vs-owned-data argument (partial — hosted currently surfaces only homepage videos).

Design notes

  • Progress/recommendation tools require auth — delegate via OAuth (mcp-remote pre-registered client_id) or a PAT (/mcp-pat/api), per the hosted MCP quickstart.
  • Read-only tools (search_tutorials, get_tutorial_step, news, videos) hit the anonymous /mcp/* namespace — no credentials needed.
  • Keep the tools structurally local: check_tools, check_project, cf_*, btp_* inspect the workstation and cannot move.
  • Consider a config flag to fall back to the local implementation when offline / when the hosted endpoint is unreachable.

Out of scope

Tier 2 (add search_events public catalog + get_news_detail to the hosted server) is tracked on the developers.sap.com/tutorials-ims side, not here.

Dominant language
Go
Stars
22
Forks
4
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from SAP-samples/sap-devs-cli

All issues in SAP-samples/sap-devs-cli

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.