Skip to main content
Glama
KrishBnsl

PromptVault MCP Server

by KrishBnsl

PromptVault

프롬프트 버전 관리, 평가, 관리를 위한 오픈소스 MCP 서버입니다.

Python 3.11+ License: MIT Docs

PromptVault란 무엇인가?

PromptVault는 AI 엔지니어와 프롬프트 엔지니어를 위한 자체 호스팅 도구로, 다음과 같은 기능을 제공합니다:

  • 프롬프트 버전 관리 - 불변 버전과 롤백 지원으로 코드처럼 프롬프트를 버전 관리

  • 프롬프트 평가 - LLM 제공자(OpenAI, Anthropic, Ollama)를 사용하여 데이터셋에 대해 프롬프트 평가

  • 모든 기능 접근 - MCP 서버, CLI 또는 REST API를 통해 모든 기능에 접근

Related MCP server: PromptingBox MCP Server

빠른 시작

설치 (클론 불필요)

pip install pvlt

또는 uv/pipx 사용:

uvx --from git+https://github.com/KrishBnsl/promptVault.git promptctl --help

또는 Docker 사용:

docker run -p 8000:8000 -e GEMINI_API_KEY=your-key ghcr.io/krishbnsl/pvlt

소스에서 설치

git clone https://github.com/KrishBnsl/promptVault.git
cd promptVault
uv sync
cp .env.example .env
# Edit .env with your API keys

첫 번째 프롬프트 만들기

promptctl prompt create summarize \
  --content "Summarize the following article in {tone} style:\n\n{article}" \
  --description "Summarizes an article" \
  --variables '{"tone": "concise", "article": "string"}' \
  --model-config '{"provider": "openai", "model": "gpt-4o-mini", "temperature": 0.2}' \
  --tags "summarization,content"

데이터셋 만들기

echo '{"input": {"article": "AI is transforming..."}, "expected_output": "AI transforms..."}' > dataset.jsonl
promptctl dataset create article-summaries --file dataset.jsonl

평가 실행

promptctl eval run summarize --dataset article-summaries

MCP와 함께 사용 (Claude Desktop)

Claude Desktop 구성에 추가:

{
  "mcpServers": {
    "pvlt": {
      "command": "promptctl",
      "args": ["serve"]
    }
  }
}

CLI 참조

promptctl prompt create <name> --content <text> [options]
promptctl prompt list [--tags TAGS] [--limit N]
promptctl prompt show <name> [--version N]
promptctl prompt versions <name>
promptctl prompt diff <name> <version-a> <version-b>
promptctl prompt rollback <name> --version N

promptctl dataset create <name> --file <jsonl-or-json>
promptctl dataset list

promptctl eval run <prompt-name> --dataset <dataset-name>
promptctl eval report <evaluation-id>

promptctl serve [--stdio|--http] [--port 8000]
promptctl web [--port 8080]

MCP 도구

도구

설명

prompt_create

초기 버전으로 새 프롬프트 생성

prompt_get

프롬프트 버전 검색

prompt_list

모든 프롬프트 나열

prompt_versions

프롬프트의 모든 버전 나열

prompt_diff

두 프롬프트 버전 비교

prompt_rollback

이전 버전으로 롤백

dataset_create

데이터셋 생성

dataset_list

데이터셋 나열

dataset_get

항목이 포함된 데이터셋 가져오기

evaluation_run

평가 실행

evaluation_status

평가 상태 확인

evaluation_report

평가 보고서 가져오기

evaluation_compare

두 평가 비교

REST API

기본 URL: http://localhost:8000/api

# Create a prompt
curl -X POST http://localhost:8000/api/prompts \
  -H "Content-Type: application/json" \
  -d '{"name": "test", "content": "Hello {name}"}'

# List prompts
curl http://localhost:8000/api/prompts

# Get a prompt
curl http://localhost:8000/api/prompts/test

구성

.env.example을 .env로 복사하고 구성하세요:

PROMPTVAULT_DB_PATH=./promptvault.db
PROMPTVAULT_DEFAULT_PROVIDER=openai
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GEMINI_API_KEY=...
OLLAMA_BASE_URL=http://localhost:11434

아키텍처

┌─────────────┐   ┌─────────────┐   ┌─────────────┐
│   MCP Client │   │     CLI     │   │  REST Client │
│ (Claude etc) │   │ (promptctl) │   │ (curl, apps) │
└──────┬──────┘   └──────┬──────┘   └──────┬──────┘
       │                 │                 │
       ▼                 ▼                 ▼
┌─────────────────────────────────────────────────┐
│              PromptVault Core                   │
│  ┌─────────────┐ ┌──────────────┐ ┌──────────┐ │
│  │ Versioning  │ │ Evaluation   │ │ Storage  │ │
│  │ Engine      │ │ Engine       │ │ Layer    │ │
│  └─────────────┘ └──────────────┘ └──────────┘ │
│  ┌──────────────────────────────────────────┐  │
│  │        SQLite Database (local)           │  │
│  └──────────────────────────────────────────┘  │
└─────────────────────────────────────────────────┘

문서

📖 전체 문서: https://krishbnsl.github.io/promptVault/

라이선스

MIT 라이선스 - 자세한 내용은 LICENSE를 참조하세요.

Related MCP Connectors

Related MCP Servers

Appeared in Searches