Skip to main content
Glama
osJedi

artifacts_colector

by osJedi

artifacts_colector

チームでバージョン管理されたスキルアーティファクトを共有するためのMCPサーバーの例です。デフォルトでは最新バージョンを提供しますが、タグ(例: stable)または正確なバージョン番号で任意の古いバージョンを固定することもできます。

Python(MCP Python SDK v2)で実装されています。サーバーはstdioを介してクライアント(Claude Code)と通信し、Dockerイメージとして配布されます。

レイアウト

content/
  skills/<name>/manifest.json          # description + tags (alias -> version)
  skills/<name>/versions/<semver>/...  # files for one skill version
  artifacts/<name>/manifest.json
  artifacts/<name>/versions/<semver>/...
server/
  models.py    # Pydantic response models (LibraryItemSummary, ResolvedItem)
  library.py   # scans content/, resolves versions/tags, reads files safely
  app.py       # MCP server: registers tools and serves them over stdio
Dockerfile
requirements.txt

各スキル/アーティファクトは、manifest.json(説明+オプションのタグ)とversions/サブフォルダーを持つフォルダーです。各バージョンは、そのsemver(1.0.01.1.0、...)を名前とする独自のフォルダーです。「最新」バージョンは、既存のフォルダーの中で最も高いsemverとして動的に計算されるため、新しいバージョンが追加されたときに手動で更新する必要はありません。

Related MCP server: SkillShare MCP Server

MCPツール

ツール

説明

list_skills

すべてのスキルを一覧表示: 名前、説明、latest、利用可能なバージョン/タグ

get_skill

name(+ オプションのversion: タグまたはsemver)でスキルのコンテンツを取得

list_artifacts

すべてのアーティファクトを一覧表示: 名前、説明、latest、バージョン/タグ

get_artifact

name(+ オプションのversion: タグまたはsemver)でアーティファクトのコンテンツを取得

versionが省略された場合は、最新バージョンが返されます。タグ(例: stable)が指定された場合は、manifest.jsonでそのタグが指すバージョンに解決されます。正確なsemverが指定された場合は、その正確なバージョンが返されます。

ローカル実行(venv)

Python 3.10+が必要です。

python3 -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python -m server.app

プロセスは何も出力せず、決して戻りません。MCPホストが最初に話しかけるのをstdinで待機しています。これは想定された動作です。

Claude Codeを使わないローカルでの動作確認は、MCP Inspector経由で行います(npxが必要):

npx @modelcontextprotocol/inspector --cli python -m server.app --method tools/list

Dockerでの実行

イメージをビルド:

docker build -t artifacts-collector-mcp .

手動で実行:

docker run -i --rm artifacts-collector-mcp

(上記と同じ: 何も出力せず、stdinでJSON-RPCリクエストを待ってブロックします。実際にツールを試すには、MCP Inspectorに同じdocker run -i --rm ...コマンドを指定します)。

Claude Codeからの接続

オプション1 — Docker(チーム配布に推奨)

docker build -t artifacts-collector-mcp .
claude mcp add artifacts-collector -- docker run -i --rm artifacts-collector-mcp

または、Claude Codeが実行されるプロジェクトのルートにある.mcp.jsonファイル経由:

{
  "mcpServers": {
    "artifacts-collector": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "artifacts-collector-mcp"]
    }
  }
}

イメージはチームレジストリ(例: ghcr.io/<org>/artifacts-collector-mcp)に公開し、同じ.mcp.json経由で共有できるため、チームメイトはローカルビルドの代わりにdocker pullだけで済みます。

オプション2 — ローカルvenv(サーバー自体の開発用)

claude mcp add artifacts-collector -- /absolute/path/to/artifacts_colector/.venv/bin/python -m server.app

新しいスキル/アーティファクトのバージョンを追加する

  1. 最新バージョンを新しいversions/<new-semver>/フォルダーにコピーし、変更を加えます。

  2. 必要に応じて、manifest.jsonのタグで安定版を固定します("tags": { "stable": "1.0.0" })。

  3. 他に登録する必要はありません。latestは自動的に再計算されます。

  4. Dockerで配布する場合は、イメージを再ビルドします(docker build ...)。

セキュリティ

MCPクライアントから渡されるnameversion/タグは、ファイルシステムのパスに直接置換されることはありません。content/をスキャンして見つかった実際のフォルダー名と一致する場合にのみ受け入れられます。これにより、../../etcのような値によるパストラバーサルを排除します。コンテナはまた、非rootユーザー(DockerfileのUSER mcp)として実行されます。

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/osJedi/artifacts_colector'

If you have feedback or need assistance with the MCP directory API, please join our Discord server