Skip to main content
Glama
KrishBnsl

PromptVault MCP Server

by KrishBnsl

PromptVault

Open-source prompt versioning, evaluation, and management as an MCP server.

Python 3.11+ License: MIT Docs

What is PromptVault?

PromptVault is a self-hosted tool for AI engineers and prompt engineers to:

  • Version prompts like code with immutable versions and rollback support

  • Evaluate prompts against datasets using LLM providers (OpenAI, Anthropic, Ollama)

  • Access everything through an MCP server, CLI, or REST API

Related MCP server: PromptingBox MCP Server

Quickstart

Install (no clone needed)

pip install pvlt

Or with uv/pipx:

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

Or with Docker:

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

From Source

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

Create Your First Prompt

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"

Create a Dataset

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

Run Evaluation

promptctl eval run summarize --dataset article-summaries

Use with MCP (Claude Desktop)

Add to your Claude Desktop config:

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

CLI Reference

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 Tools

Tool

Description

prompt_create

Create a new prompt with initial version

prompt_get

Retrieve a prompt version

prompt_list

List all prompts

prompt_versions

List all versions of a prompt

prompt_diff

Diff two prompt versions

prompt_rollback

Rollback to a previous version

dataset_create

Create a dataset

dataset_list

List datasets

dataset_get

Get dataset with items

evaluation_run

Run evaluation

evaluation_status

Check evaluation status

evaluation_report

Get evaluation report

evaluation_compare

Compare two evaluations

REST API

Base 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

Configuration

Copy .env.example to .env and configure:

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

Architecture

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

Documentation

📖 Full docs: https://krishbnsl.github.io/promptVault/

License

MIT License - see LICENSE for details.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.

  • Free OpenAI-compatible inference with signed provenance receipts and 3 focused MCP tools.

  • MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.

View all MCP Connectors

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/KrishBnsl/promptVault'

If you have feedback or need assistance with the MCP directory API, please join our Discord server