artifacts_colector
artifacts_colector
一个用于与团队共享带版本管理的 skills 和 artifacts 的示例 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.0、1.1.0、...)。"latest" 版本会根据现有文件夹中的最高 semver 动态计算,因此添加新版本时无需手动更新任何内容。
Related MCP server: SkillShare MCP Server
MCP tools
Tool | Description |
| 列出所有 skill:名称、描述、 |
| 按 |
| 列出所有 artifact:名称、描述、 |
| 按 |
如果省略 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 版本
将最新版本复制到新的
versions/<new-semver>/文件夹中并进行修改。可选地,在
manifest.json中使用标签固定稳定版本("tags": { "stable": "1.0.0" })。无需注册其他任何内容——
latest会自动重新计算。如果通过 Docker 分发,请重新构建镜像(
docker build ...)。
安全性
来自 MCP 客户端的 name 和 version/标签永远不会被直接替换到文件系统路径中:只有当它们与通过扫描 content/ 找到的真实文件夹名称匹配时才会被接受。这排除了通过 ../../etc 之类的值进行路径遍历的可能性。容器还以非 root 用户身份运行(Dockerfile 中的 USER mcp)。
Related MCP Connectors
Marketplace and infrastructure for MCP servers and skills: deploy, host, monetize, analytics.
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for skill documentation, generated by doc2mcp.
Skills, agents and memory in the cloud, plus a gateway to your other MCP servers.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAn MCP server for searching, security scanning, installing, and managing skills from the SkillsMP marketplace, designed for Claude Code and other MCP-compatible clients.13 npm4MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to interact with the SkillShare registry, including searching, reading, creating, and managing resources like skills, MCP configurations, and notes.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that makes Agent Skills available to any MCP-compatible agent through a declarative, package.json-based configuration, enabling team-shareable skill management and execution.5MIT
- AlicenseNot gradedqualityDmaintenanceSelf-hosted MCP server for publishing, sharing, and reviewing AI agent artifacts with version history and pinned comments.MIT