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.0, 1.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가 주어지면 해당 정확한 버전이 반환됩니다.

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/list

Running 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 버전 추가

  1. 최신 버전을 새 versions/<new-semver>/ 폴더에 복사하고 변경 사항을 적용합니다.

  2. 선택적으로 manifest.json에서 태그로 안정 버전을 고정합니다("tags": { "stable": "1.0.0" }).

  3. 다른 등록은 필요 없습니다. latest는 자동으로 다시 계산됩니다.

  4. Docker로 배포하는 경우 이미지를 다시 빌드합니다(docker build ...).

Security

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