Building a Server

Implement a PLP-compatible server

Minimum Requirements

A PLP server must implement at minimum:

  • GET /.well-known/plp — Discovery endpoint
  • GET /prompts/{id} — Get a prompt
  • PUT /prompts/{id} — Create or update a prompt
  • DELETE /prompts/{id} — Delete a prompt

Discovery Endpoint

Declare your capabilities. Only advertise what you implement:

http
GET /.well-known/plp

{
  "plp_version": "1.1.0",
  "server": "My Server",
  "capabilities": {
    "versioning": true,
    "list": true,
    "contextStore": false,
    "deploy": false,
    "evaluation": false
  }
}

Response Format

All prompts use the PromptEnvelope format. PUT returns 201 for creates, 200 for updates, DELETE returns 204. Errors must include error and message fields.

Optional Capabilities

Add these based on your needs: List, Publish, Deploy, Eval, Context Store, Prompt Context mappings. See the full endpoint reference.

Validating Your Server

Register on the PLP Registry for automated compliance testing, or use the JSON Schema at spec/plp-schema.json to validate responses.