Skip to main content
Glama
osJedi

artifacts_colector

by osJedi

artifacts_colector

一个用于与团队共享带版本管理的 skillsartifacts 的示例 MCP 服务器:默认提供最新版本,但任何旧版本都可以通过标签(例如 stable)或精确版本号进行固定。

使用 Python(MCP Python SDK v2)实现。服务器通过 stdio 与客户端(Claude Code)通信,并以 Docker 镜像形式分发。

Layout

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

每个 skill/artifact 都是一个包含 manifest.json(描述 + 可选标签)和 versions/ 子文件夹的文件夹,其中每个版本都是自己的文件夹,以 semver 命名(1.0.01.1.0、...)。"latest" 版本会根据现有文件夹中的最高 semver 动态计算,因此添加新版本时无需手动更新任何内容。

Related MCP server: SkillShare MCP Server

MCP tools

Tool

Description

list_skills

列出所有 skill:名称、描述、latest、可用版本/标签

get_skill

name 获取 skill 的内容(+ 可选 version:标签或 semver)

list_artifacts

列出所有 artifact:名称、描述、latest、版本/标签

get_artifact

name 获取 artifact 的内容(+ 可选 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

该进程不打印任何内容且永不返回——它正在 stdin 上等待 MCP 主机先发起通信。这是预期行为。

无需 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

添加新的 skill/artifact 版本

  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