Experimental finding: Stars MCP server passes official SEP-2640 server conformance scenarios with single-source skill delivery
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 52/100
- issue の種類
- ドキュメント
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- python
調査の方向性
experimental-findings.md と docs/findings-template.md を確認し、この再現可能な知見をどこに配置すべきか判断します。リポジトリの現在の形式が適切な場合は、リンクされた証拠、適合性の結果、記載された制約を使用してレポートを調整します。知見が推奨される場所に記録されるか、その配置が明確になれば完了です。
索引モデルが issue の本文から書いたものです。
説明
GitHub Stars Contributions MCP Server
Scope: this reports server-side protocol conformance and implementation findings only. Native host activation, automatic skill selection, and model adherence were not tested and are not claimed here.
Date: 2026-09-15
Implementation:
- Repository: https://github.com/svg153/github-stars-contrib-mcp-server
- Author: @svg153
- Relevant artifacts:
- initiative / implementation sequence: https://github.com/svg153/github-stars-contrib-mcp-server/issues/48
- canonical catalog + manifests: https://github.com/svg153/github-stars-contrib-mcp-server/pull/53
io.modelcontextprotocol/skillsimplementation: https://github.com/svg153/github-stars-contrib-mcp-server/pull/54- security + official conformance evidence: https://github.com/svg153/github-stars-contrib-mcp-server/pull/55
- same-source standalone distribution: https://github.com/svg153/github-stars-contrib-mcp-server/pull/56
- evidence model: https://github.com/svg153/github-stars-contrib-mcp-server/blob/main/docs/mcp-skills-evidence.md
- distribution/origin policy: https://github.com/svg153/github-stars-contrib-mcp-server/blob/main/docs/skills-distribution.md
Approach tested:
Provider-owned Agent Skills colocated with the MCP server, exposed through the official io.modelcontextprotocol/skills extension (skills/list, skills/get) and lazy standard MCP Resources. The same canonical skills/* tree is also usable as a standalone Agent Plugin fallback; there is no second editable skill copy.
Setup:
- Clients tested: official MCP Python SDK 2.2.0 in-memory
Client; officialmodelcontextprotocol/conformanceserver runner pinned to commit7169291ec0b68eb370fddcd9947313ab0d5e4156 - Models tested: Not tested for this finding
- Configuration notes: Python 3.12; real Stars server over Streamable HTTP for conformance; four canonical skills; static manifests; optional
directoryReaddeliberately not advertised
What was tested:
- extension discovery;
- deterministic/paginated
skills/list; - direct
skills/getwithout requiring a prior list call; - lazy
resources/readof exact skill files; - SHA-256 + byte-size equality between manifests and returned bytes;
- traversal / encoded traversal / symlink escape / malformed frontmatter / invalid identity / unknown URI / stale-manifest handling;
- separation of Agent Skill metadata (
allowed-tools) from server-side authorization; - official SEP-2640 server scenarios:
sep-2640-skills-enumeration;sep-2640-skills-manifest;sep-2640-skills-directory(optional-capability boundary);
- standalone compatibility from the same root
skills/*tree.
Results:
- What worked: The official MCP Python SDK 2.x
Extension,MethodBinding,ResourceBinding,FunctionResource, and normal Resources primitives were sufficient; no protocol fork or parallel FastMCP layer was necessary. Static manifest + lazy read passed the official server conformance scenarios above. The server can fail closed on resource drift and unsafe/unmanifested URIs. The same canonical root skill tree can serve MCP runtime delivery and a portable Agent Plugin fallback. - What didn't: No production model-facing host activation is demonstrated by this experiment. Passing SDK round-trips and official server conformance does not show that a host will automatically expose/select/load the served skill for the model.
- What was surprising:
directoryReadwas unnecessary for the static repository-backed model; complete manifests plus normal Resources were sufficient for the tested contract. Also, the implementation exercise reinforced that advertised resource digests are snapshot-consistency evidence, not independent publisher attestation when the same server provides both digest and bytes.
Requirements or design questions addressed:
- one canonical skill source with MCP and standalone delivery;
- provider-side progressive disclosure and lazy loading;
- resource integrity / path safety;
- optional directory capability boundary;
- distinction between protocol conformance and model-facing host activation;
- runtime MCP delivery vs build-time dependency/catalog governance;
- duplicate standalone/MCP origin handling.
Evidence and reproduction:
The repository CI includes an official-conformance workflow that starts the real server with Stars mutation tools disabled and executes the three SEP-2640 server scenarios above. PR #55 contains the implementation/evidence change and all scenario jobs passed. The same repository also has official-SDK client tests and negative security/integrity tests, so protocol unit evidence and conformance evidence are separate.
Limitations:
- No claim of automatic model-context activation/adherence in Copilot, Claude, Codex, VS Code, or another production host.
- The finding is strongest for static repository/package-backed skills; dynamic/multi-tenant skill generation may justify different manifest/directory behavior.
- SHA-256/size are integrity/snapshot checks, not an independent trust/identity mechanism.
- Client-side cross-origin collision handling remains host-dependent; the local policy is to preserve origin, never concatenate instruction bodies silently, and surface a conflict when same-name contents differ.
Sources and attribution:
Implementation and evidence by @svg153, derived from the public repository/PRs linked above. The architecture feedback has also been captured in https://github.com/svg153/skills/pull/68.
I am filing this as a reproducible experimental finding first because experimental-findings.md notes that current discussion is moving through WG channels. If maintainers prefer a documentation PR using docs/findings-template.md, I can adapt this into the repo's preferred current location.
- 主要言語
- MDX
- スター
- 760
- フォーク
- 66
- 平均マージ
- 1日 9時間
- マージ済み PR(30日)
- 5
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelcontextprotocol/ext-skills のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
Publish a standalone schema for the skills extension shapes対応中かも @anencore94 が 5 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
modelcontextprotocol/ext-skills#158 · コメント 2 件 ·
-
enhancement SEP-2640
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
modelcontextprotocol/ext-skills#155 · コメント 1 件 ·
-
Go SDK — SEP-2640 Skills support再び着手できるかも @sambhav が 51 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement SEP-2640
modelcontextprotocol/ext-skills#149 · 担当者 1 名 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
modelcontextprotocol/ext-skills#145 · リアクション 2 件 ·
modelcontextprotocol/ext-skills の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
PyTomography/PyTomography#431 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
aws-samples/sample-per-model-bedrock#803 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
earendil-works/pi-claude-code#36 ·
メンテナーはふだん 6 日以内に返信
-
documentation p1
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
obsidianmd/obsidian-help#1169 ·
メンテナーはふだん 2 日以内に返信