Skip to content

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

Description

@jung-thomas

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions