feat: serve and show member-server skills on gateways
Requested by Sagar ยท project thread
Linear: AIM-829
Summary
Server
- Gateway MCP dispatch (
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. - New
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. - Caller rules match the hosted surface: only a validated user session or an unstamped dashboard session is a recipient. API keys, assistants and other credentials get an empty listing. Agent gateways serve no skills (out of scope for v1).
- The hosted list/get/read handlers are split into scope-taking cores (
listServedSkills,getServedSkill,readServedSkill) that both surfaces share. Gateway reads are recorded as activations and logged under the gateway, on themetametric surface.
Dashboard
- The gateway Skills tab gets a read-only Inherited from servers section below the gateway's own links: one row per skill linked to a member server, with the servers it comes from. Skills are managed on the member server's own Skills tab.
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
- Setup: enable
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. - Sidebar โ MCP โ open the gateway โ Skills tab.
- Expect: under the gateway's own Skills list, a new Inherited from servers section lists the skill, with the member server's name in the From column. The skill name links to the skill page.
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
| Component | Status | Details | Updated (UTC) |
|---|---|---|---|
| โ Database | Ready | Existing database reused | 2026-10-30 21:32:22. |
| โ Images | Available | Container images ready | 2026-10-30 21:34:32. |
Gram Preview Bot