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가 주어지면 해당 정확한 버전이 반환됩니다.
Local run (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/listRunning in Docker
이미지 빌드:
docker build -t artifacts-collector-mcp .수동 실행:
docker run -i --rm artifacts-collector-mcp(위와 동일: 아무것도 출력하지 않고 stdin에서 JSON-RPC 요청을 기다리며 차단됩니다. 실제로 도구를 사용하려면 MCP Inspector를 동일한 docker run -i --rm ... 명령에 연결하세요.)
Connecting from 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 ...).
Security
MCP 클라이언트에서 오는 name과 version/태그는 파일 시스템 경로에 직접 대체되지 않습니다. content/를 스캔하여 찾은 실제 폴더 이름과 일치하는 경우에만 허용됩니다. 이는 ../../etc와 같은 값을 통한 경로 탐색을 차단합니다. 컨테이너는 또한 비-root 사용자로 실행됩니다(Dockerfile의 USER mcp).
This server cannot be deployed
Maintenance
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.10 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