Repository navigation
feat: serve and show member-server skills on gateways - #8268
Conversation
Refs AIM-829 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
🦋 Changeset detectedLatest commit: 8466412 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
… tab Refs AIM-829 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
There was a problem hiding this comment.
All reported issues were addressed
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
…sion is on Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
There was a problem hiding this comment.
All reported issues were addressed
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
Link each inherited skill's member server to its Skills tab, add a retry to the section's error state, cover the consent selection of skill members, and tell Platform MCP that gateways serve their members' skills. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
Move the inherited-skills grouping out of the component file for fast refresh, and set the new gate field in every metaGateContext literal. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
There was a problem hiding this comment.
All reported issues were addressed across 9 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
A Specific tools consent inherits only the selected member's skills, an all-tools consent inherits every approved member's, and a member added after consent contributes none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
Name an unnamed member server by its slug, then its id, test the slug-based route with slugs that differ from ids, and tell unlink_skill_from_mcp callers that inherited gateway skills stop only when unlinked from the member server. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
Gateways now pick the skill recipient the same way the hosted surface does since #8269, so a playground chat session minted from a dashboard session is served the gateway's inherited skills. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
There was a problem hiding this comment.
All reported issues were addressed across 2 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
Gateways take identity only from their issuer gate and never authenticate chat-session tokens, so a playground chat session cannot reach gateway skills; the test asserted a path that does not exist. Also reword the metaSkillScope caller comment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
Requested by Sagar · project thread
Linear: AIM-829
Summary
Server
serve_meta.go, shared by stored gateways and the organization gateway) now handlesskills/list,skills/getandresources/readofskill://URIs. It also declares the Skills extension oninitializeandserver/discoverwhileskills-over-mcpis on for the organization.serve_meta_skills.gobuilds the gateway's skill scope. The target is the stored gateway (meta_mcp_server) ororganization_gateway.MemberMCPServerIDsholds the members the caller is actually served through the gateway: admitted, not hidden, and for a consented connection, approved with a selected tool. Skills requests load the consent catalog so that last filter applies.listServedSkills,getServedSkill,readServedSkill) that both surfaces share. Gateway reads are recorded as activations and logged under the gateway, on themetametric surface.Dashboard
Motivation
The direct-linking design (decided 2026-10-18) has gateways serve their own skill links plus their member servers' links, and the remote server Skills tab already tells users that linked skills reach agents through gateways. The resolver supported this through
Scope.MemberMCPServerIDs, but the gateway surface never dispatched the skills methods. So neither direct gateway links nor inherited member links reached agents, and the gateway tab only showed direct links.Gutternote review steps
skills-over-mcpfor the org. Create a gateway with at least one member server, and add a project skill to that member server on its Skills tab.Also check: the empty state ("No inherited skills") on a gateway whose members have no skills.
🤖 Generated with Claude Code
https://claude.ai/code/session_011XLiZC2imSKsVczxS9s3AJ
🚀 Preview Environment (PR #8268)
Preview URL: https://pr-8268.dev.getgram.ai
Gram Preview Bot