@promptlayer/mcp-server 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +16 -0
- package/.env.example +3 -0
- package/CLAUDE.md +39 -0
- package/README.md +160 -0
- package/TESTING.md +78 -0
- package/build/client.d.ts +49 -0
- package/build/client.d.ts.map +1 -0
- package/build/client.js +80 -0
- package/build/client.js.map +1 -0
- package/build/handlers.d.ts +2 -0
- package/build/handlers.d.ts.map +1 -0
- package/build/handlers.js +51 -0
- package/build/handlers.js.map +1 -0
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +45 -0
- package/build/index.js.map +1 -0
- package/build/types.d.ts +2105 -0
- package/build/types.d.ts.map +1 -0
- package/build/types.js +632 -0
- package/build/types.js.map +1 -0
- package/build/utils.d.ts +24 -0
- package/build/utils.d.ts.map +1 -0
- package/build/utils.js +67 -0
- package/build/utils.js.map +1 -0
- package/package.json +41 -0
- package/scripts/diff-endpoints.ts +250 -0
- package/scripts/extract-mcp-tools.ts +118 -0
- package/scripts/fetch-openapi-endpoints.ts +150 -0
- package/scripts/show-descriptions.ts +101 -0
- package/src/client.ts +92 -0
- package/src/handlers.ts +116 -0
- package/src/index.ts +52 -0
- package/src/types.ts +728 -0
- package/src/utils.ts +65 -0
- package/tsconfig.json +24 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(npm run build:*)",
|
|
5
|
+
"Bash(npm install:*)",
|
|
6
|
+
"Bash(npm run sync:check:*)",
|
|
7
|
+
"WebSearch",
|
|
8
|
+
"WebFetch(domain:blog.modelcontextprotocol.io)",
|
|
9
|
+
"Bash(npx tsx:*)",
|
|
10
|
+
"WebFetch(domain:docs.promptlayer.com)",
|
|
11
|
+
"Bash(git add:*)",
|
|
12
|
+
"Bash(git commit:*)",
|
|
13
|
+
"Bash(git push:*)"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
}
|
package/.env.example
ADDED
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
Project conventions and decisions for the PromptLayer MCP server.
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
- `src/types.ts` -- Zod input schemas + TOOL_DEFINITIONS for all tools
|
|
8
|
+
- `src/handlers.ts` -- Registers all tools with the MCP server (single file, data-driven)
|
|
9
|
+
- `src/client.ts` -- HTTP client with `get`/`post`/`patch`/`del` helpers
|
|
10
|
+
- `src/utils.ts` -- Query params, error handling, shared `createToolHandler` factory
|
|
11
|
+
- `src/index.ts` -- Entry point
|
|
12
|
+
|
|
13
|
+
## Response types: don't add them
|
|
14
|
+
|
|
15
|
+
Client methods return `Promise<unknown>`. Do not add typed response interfaces.
|
|
16
|
+
|
|
17
|
+
The handler `JSON.stringify`s whatever the API returns and passes it to the LLM as text. Nothing inspects the response shape. Typed responses would be unvalidated guesses that drift silently when the API changes -- TypeScript can't catch runtime shape mismatches.
|
|
18
|
+
|
|
19
|
+
This matches every major MCP server (GitHub, Stripe, official reference servers). The pattern is: type the inputs (Zod schemas sent to the LLM as tool definitions), stringify the outputs.
|
|
20
|
+
|
|
21
|
+
## Input schemas are the source of truth
|
|
22
|
+
|
|
23
|
+
Every tool's input schema is a Zod object in `src/types.ts`, verified against the PromptLayer OpenAPI spec. Run `npm run sync:check` to detect drift. The check must exit 0.
|
|
24
|
+
|
|
25
|
+
Known exceptions to the OpenAPI diff are declared in `scripts/diff-endpoints.ts` with inline comments explaining each one. If you add a new exception, also add a `// NOTE:` comment on the affected schema in `src/types.ts`.
|
|
26
|
+
|
|
27
|
+
## Adding a new endpoint
|
|
28
|
+
|
|
29
|
+
1. Add Zod schema + entry in `TOOL_DEFINITIONS` in `src/types.ts`
|
|
30
|
+
2. Add client method in `src/client.ts`
|
|
31
|
+
3. Register the tool in `src/handlers.ts`
|
|
32
|
+
4. Add mapping in `scripts/extract-mcp-tools.ts` (`TOOL_TO_ENDPOINT`)
|
|
33
|
+
5. Run `npm run sync:check` -- must exit 0
|
|
34
|
+
|
|
35
|
+
## Commands
|
|
36
|
+
|
|
37
|
+
- `npm run build` -- Compile TypeScript
|
|
38
|
+
- `npm run dev` -- Run with tsx
|
|
39
|
+
- `npm run sync:check` -- Verify schemas match OpenAPI spec (exit 0 = pass)
|
package/README.md
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# PromptLayer MCP Server
|
|
2
|
+
|
|
3
|
+
MCP server that wraps the [PromptLayer REST API](https://docs.promptlayer.com/reference/rest-api-reference), giving any MCP-compatible client access to all 33 PromptLayer tools.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Set your API key:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
export PROMPTLAYER_API_KEY=pl_your_key_here
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Or create a `.env` file (see `.env.example`).
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
### With Claude Desktop
|
|
22
|
+
|
|
23
|
+
Add to your Claude Desktop config (`claude_desktop_config.json`):
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"mcpServers": {
|
|
28
|
+
"promptlayer": {
|
|
29
|
+
"command": "npx",
|
|
30
|
+
"args": ["-y", "@promptlayer/mcp-server"],
|
|
31
|
+
"env": {
|
|
32
|
+
"PROMPTLAYER_API_KEY": "pl_your_key_here"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### With Cursor
|
|
40
|
+
|
|
41
|
+
Add to `.cursor/mcp.json`:
|
|
42
|
+
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"mcpServers": {
|
|
46
|
+
"promptlayer": {
|
|
47
|
+
"command": "npx",
|
|
48
|
+
"args": ["-y", "@promptlayer/mcp-server"],
|
|
49
|
+
"env": {
|
|
50
|
+
"PROMPTLAYER_API_KEY": "pl_your_key_here"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### From source
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm run build
|
|
61
|
+
node build/index.js
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Tools
|
|
65
|
+
|
|
66
|
+
### Prompt Templates
|
|
67
|
+
|
|
68
|
+
| Tool | Description |
|
|
69
|
+
|---|---|
|
|
70
|
+
| `get-prompt-template` | Get a template by name/ID with optional version or release label. Returns provider-formatted `llm_kwargs`. |
|
|
71
|
+
| `get-prompt-template-raw` | Get raw template data without filling variables. For sync, caching, inspection. |
|
|
72
|
+
| `list-prompt-templates` | List templates with pagination. Filter by name, label, status. |
|
|
73
|
+
| `publish-prompt-template` | Create a new version of a template with content, metadata, and release labels. |
|
|
74
|
+
| `list-prompt-template-labels` | List release labels on a template. |
|
|
75
|
+
| `create-prompt-label` | Attach a release label to a template version. |
|
|
76
|
+
| `move-prompt-label` | Move a label to a different version. |
|
|
77
|
+
| `delete-prompt-label` | Delete a label. |
|
|
78
|
+
| `get-snippet-usage` | Find all templates referencing a snippet. |
|
|
79
|
+
|
|
80
|
+
### Tracking
|
|
81
|
+
|
|
82
|
+
| Tool | Description |
|
|
83
|
+
|---|---|
|
|
84
|
+
| `log-request` | Log an LLM request/response pair. Input/output in Prompt Blueprint format. |
|
|
85
|
+
| `track-prompt` | Link a logged request to a prompt template. |
|
|
86
|
+
| `track-score` | Score a logged request (0-100). Supports named scores. |
|
|
87
|
+
| `track-metadata` | Attach metadata to a logged request. |
|
|
88
|
+
| `track-group` | Associate a request with a group. |
|
|
89
|
+
| `create-spans-bulk` | Create OpenTelemetry spans in bulk for tracing. |
|
|
90
|
+
|
|
91
|
+
### Datasets
|
|
92
|
+
|
|
93
|
+
| Tool | Description |
|
|
94
|
+
|---|---|
|
|
95
|
+
| `list-datasets` | List datasets with filtering. |
|
|
96
|
+
| `create-dataset-group` | Create a dataset group (container for versions). |
|
|
97
|
+
| `create-dataset-version-from-file` | Create a version from base64 CSV/JSON. |
|
|
98
|
+
| `create-dataset-version-from-filter-params` | Create a version from request log history. |
|
|
99
|
+
|
|
100
|
+
### Evaluations
|
|
101
|
+
|
|
102
|
+
| Tool | Description |
|
|
103
|
+
|---|---|
|
|
104
|
+
| `list-evaluations` | List evaluation pipelines. |
|
|
105
|
+
| `create-report` | Create an evaluation pipeline on a dataset. |
|
|
106
|
+
| `run-report` | Execute a pipeline. |
|
|
107
|
+
| `get-report` | Get pipeline details. |
|
|
108
|
+
| `get-report-score` | Get the computed score. |
|
|
109
|
+
| `add-report-column` | Add an evaluation step (one per request). |
|
|
110
|
+
| `update-report-score-card` | Configure custom scoring logic. |
|
|
111
|
+
| `delete-reports-by-name` | Archive pipelines by name. |
|
|
112
|
+
|
|
113
|
+
### Agents
|
|
114
|
+
|
|
115
|
+
| Tool | Description |
|
|
116
|
+
|---|---|
|
|
117
|
+
| `list-workflows` | List all agents. |
|
|
118
|
+
| `create-workflow` | Create an agent or new version. |
|
|
119
|
+
| `patch-workflow` | Partially update an agent. |
|
|
120
|
+
| `run-workflow` | Execute an agent by name. |
|
|
121
|
+
| `get-workflow-version-execution-results` | Poll for execution results. |
|
|
122
|
+
|
|
123
|
+
### Other
|
|
124
|
+
|
|
125
|
+
| Tool | Description |
|
|
126
|
+
|---|---|
|
|
127
|
+
| `create-folder` | Create a folder for organizing resources. |
|
|
128
|
+
|
|
129
|
+
## Keeping in Sync
|
|
130
|
+
|
|
131
|
+
Schemas are verified against the [PromptLayer OpenAPI spec](https://github.com/magnivorg/prompt-layer-docs/blob/master/openapi.json). Run:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
npm run sync:check
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
This fetches the spec, extracts our tool schemas, and diffs them structurally. Exit 0 = in sync. See [TESTING.md](TESTING.md) for details.
|
|
138
|
+
|
|
139
|
+
## Development
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
npm run dev # Run with tsx (hot reload)
|
|
143
|
+
npm run build # Compile TypeScript
|
|
144
|
+
npm run watch # Watch mode
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Project Structure
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
src/
|
|
151
|
+
index.ts # Entry point, starts MCP server
|
|
152
|
+
types.ts # Zod schemas + TOOL_DEFINITIONS for all 33 tools
|
|
153
|
+
client.ts # HTTP client for PromptLayer API
|
|
154
|
+
handlers.ts # Registers all tools with the MCP server
|
|
155
|
+
utils.ts # Shared utilities (query params, error handling, handler factory)
|
|
156
|
+
scripts/
|
|
157
|
+
fetch-openapi-endpoints.ts # Downloads + extracts OpenAPI spec
|
|
158
|
+
extract-mcp-tools.ts # Extracts MCP tool schemas for comparison
|
|
159
|
+
diff-endpoints.ts # Structural diff with known exceptions
|
|
160
|
+
```
|
package/TESTING.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Keeping the MCP in Sync with PromptLayer REST API
|
|
2
|
+
|
|
3
|
+
## Quick Start
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm run sync:check
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Exit code 0 = in sync (pass). Exit code 1 = new issues found (fail).
|
|
10
|
+
|
|
11
|
+
Known exceptions are declared in `scripts/diff-endpoints.ts` and don't cause failures.
|
|
12
|
+
|
|
13
|
+
## How It Works
|
|
14
|
+
|
|
15
|
+
Three scripts, no LLM needed. The source of truth is the [OpenAPI spec](https://github.com/magnivorg/prompt-layer-docs/blob/master/openapi.json).
|
|
16
|
+
|
|
17
|
+
### Step 1: Fetch OpenAPI endpoints
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm run sync:fetch
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Downloads the spec, extracts every endpoint into `scripts/openapi-endpoints.json` with method, path, path/query params, and body fields.
|
|
24
|
+
|
|
25
|
+
### Step 2: Extract MCP tool definitions
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm run sync:extract
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Imports `TOOL_DEFINITIONS` from `src/types.ts`, converts Zod schemas to JSON Schema, writes `scripts/mcp-tools.json`. The tool-to-endpoint mapping is in `scripts/extract-mcp-tools.ts` (`TOOL_TO_ENDPOINT`).
|
|
32
|
+
|
|
33
|
+
### Step 3: Diff
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm run sync:diff
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Structurally compares the two JSON files:
|
|
40
|
+
|
|
41
|
+
| Category | Meaning |
|
|
42
|
+
|---|---|
|
|
43
|
+
| **MISSING IN MCP** | OpenAPI has an endpoint we don't cover |
|
|
44
|
+
| **EXTRA IN MCP** | We have a tool not in the OpenAPI spec |
|
|
45
|
+
| **MISSING FIELD** | OpenAPI has a field our schema is missing |
|
|
46
|
+
| **EXTRA FIELD** | Our schema has a field not in OpenAPI |
|
|
47
|
+
| **TYPE MISMATCH** | Same field, different type |
|
|
48
|
+
| **REQUIRED MISMATCH** | Same field, different required/optional |
|
|
49
|
+
|
|
50
|
+
## Known Exceptions
|
|
51
|
+
|
|
52
|
+
Some issues are expected and won't cause the script to fail. They're declared in the `KNOWN_EXCEPTIONS` array in `scripts/diff-endpoints.ts` with inline comments explaining each one.
|
|
53
|
+
|
|
54
|
+
There are currently 31 known exceptions. Most exist because the OpenAPI spec lags behind the actual backend — we add fields the backend accepts even if they aren't in the spec yet. Each exception has an inline comment in `scripts/diff-endpoints.ts` explaining why.
|
|
55
|
+
|
|
56
|
+
When adding a new exception: add the exact issue string to `KNOWN_EXCEPTIONS` in `scripts/diff-endpoints.ts` with a comment explaining why. Also add a `// NOTE:` comment on the affected code in `src/types.ts`.
|
|
57
|
+
|
|
58
|
+
## Adding a New Endpoint
|
|
59
|
+
|
|
60
|
+
1. `npm run sync:check` -- see what's missing
|
|
61
|
+
2. Add Zod schema + tool definition in `src/types.ts`
|
|
62
|
+
3. Add client method in `src/client.ts`
|
|
63
|
+
4. Register the tool in `src/handlers.ts`
|
|
64
|
+
5. Add mapping in `scripts/extract-mcp-tools.ts` (`TOOL_TO_ENDPOINT`)
|
|
65
|
+
6. `npm run sync:check` -- verify it passes
|
|
66
|
+
|
|
67
|
+
## Verifying Against the Backend Source Code
|
|
68
|
+
|
|
69
|
+
The OpenAPI spec can lag behind the actual backend. For a deeper field-by-field audit against the backend source, see `BACKEND_VERIFICATION.md` (gitignored, available internally).
|
|
70
|
+
## Files
|
|
71
|
+
|
|
72
|
+
| File | Purpose |
|
|
73
|
+
|---|---|
|
|
74
|
+
| `scripts/fetch-openapi-endpoints.ts` | Downloads + extracts OpenAPI endpoints |
|
|
75
|
+
| `scripts/extract-mcp-tools.ts` | Extracts MCP tool schemas, contains `TOOL_TO_ENDPOINT` mapping |
|
|
76
|
+
| `scripts/diff-endpoints.ts` | Structural diff, contains `KNOWN_EXCEPTIONS` |
|
|
77
|
+
| `scripts/openapi-endpoints.json` | Generated (gitignored) |
|
|
78
|
+
| `scripts/mcp-tools.json` | Generated (gitignored) |
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { GetPromptTemplateParams, ListPromptTemplatesParams } from "./types.js";
|
|
2
|
+
type Body = Record<string, unknown>;
|
|
3
|
+
export declare class PromptLayerClient {
|
|
4
|
+
private apiKey;
|
|
5
|
+
private baseUrl;
|
|
6
|
+
constructor(apiKey: string, baseUrl?: string);
|
|
7
|
+
private request;
|
|
8
|
+
private get;
|
|
9
|
+
private post;
|
|
10
|
+
private patch;
|
|
11
|
+
private del;
|
|
12
|
+
private enc;
|
|
13
|
+
getPromptTemplate(name: string, params?: GetPromptTemplateParams): Promise<unknown>;
|
|
14
|
+
getPromptTemplateRaw(id: string, params?: Body): Promise<unknown>;
|
|
15
|
+
listPromptTemplates(params?: ListPromptTemplatesParams): Promise<unknown>;
|
|
16
|
+
publishPromptTemplate(body: Body): Promise<unknown>;
|
|
17
|
+
listPromptTemplateLabels(id: string): Promise<unknown>;
|
|
18
|
+
createPromptLabel(promptId: number, body: Body): Promise<unknown>;
|
|
19
|
+
movePromptLabel(labelId: number, body: Body): Promise<unknown>;
|
|
20
|
+
deletePromptLabel(labelId: number): Promise<unknown>;
|
|
21
|
+
getSnippetUsage(id: string, params?: Body): Promise<unknown>;
|
|
22
|
+
logRequest(body: Body): Promise<unknown>;
|
|
23
|
+
createSpansBulk(body: Body): Promise<unknown>;
|
|
24
|
+
listDatasets(params?: Body): Promise<unknown>;
|
|
25
|
+
createDatasetGroup(body: Body): Promise<unknown>;
|
|
26
|
+
createDatasetVersionFromFile(body: Body): Promise<unknown>;
|
|
27
|
+
createDatasetVersionFromFilterParams(body: Body): Promise<unknown>;
|
|
28
|
+
listEvaluations(params?: Body): Promise<unknown>;
|
|
29
|
+
createReport(body: Body): Promise<unknown>;
|
|
30
|
+
runReport(id: number, body: Body): Promise<unknown>;
|
|
31
|
+
getReport(id: number): Promise<unknown>;
|
|
32
|
+
getReportScore(id: number): Promise<unknown>;
|
|
33
|
+
updateReportScoreCard(id: number, body: Body): Promise<unknown>;
|
|
34
|
+
deleteReportsByName(name: string): Promise<unknown>;
|
|
35
|
+
listWorkflows(params?: Body): Promise<unknown>;
|
|
36
|
+
getWorkflow(idOrName: string): Promise<unknown>;
|
|
37
|
+
createWorkflow(body: Body): Promise<unknown>;
|
|
38
|
+
patchWorkflow(idOrName: string, body: Body): Promise<unknown>;
|
|
39
|
+
runWorkflow(name: string, body: Body): Promise<unknown>;
|
|
40
|
+
getWorkflowVersionExecutionResults(params: Body): Promise<unknown>;
|
|
41
|
+
createFolder(body: Body): Promise<unknown>;
|
|
42
|
+
editFolder(folderId: number, body: Body): Promise<unknown>;
|
|
43
|
+
getFolderEntities(params: Body): Promise<unknown>;
|
|
44
|
+
moveFolderEntities(body: Body): Promise<unknown>;
|
|
45
|
+
deleteFolderEntities(body: Body): Promise<unknown>;
|
|
46
|
+
resolveFolderId(params: Body): Promise<unknown>;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGrF,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;gBADP,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAsC;YAG3C,OAAO;IAarB,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,GAAG;IAKX,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,uBAAuB;IAGhE,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IAC9C,mBAAmB,CAAC,MAAM,CAAC,EAAE,yBAAyB;IACtD,qBAAqB,CAAC,IAAI,EAAE,IAAI;IAChC,wBAAwB,CAAC,EAAE,EAAE,MAAM;IACnC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAC9C,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAC3C,iBAAiB,CAAC,OAAO,EAAE,MAAM;IACjC,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IAGzC,UAAU,CAAC,IAAI,EAAE,IAAI;IACrB,eAAe,CAAC,IAAI,EAAE,IAAI;IAG1B,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI;IAC1B,kBAAkB,CAAC,IAAI,EAAE,IAAI;IAC7B,4BAA4B,CAAC,IAAI,EAAE,IAAI;IACvC,oCAAoC,CAAC,IAAI,EAAE,IAAI;IAG/C,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI;IAC7B,YAAY,CAAC,IAAI,EAAE,IAAI;IACvB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAChC,SAAS,CAAC,EAAE,EAAE,MAAM;IACpB,cAAc,CAAC,EAAE,EAAE,MAAM;IACzB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAC5C,mBAAmB,CAAC,IAAI,EAAE,MAAM;IAGhC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI;IAC3B,WAAW,CAAC,QAAQ,EAAE,MAAM;IAC5B,cAAc,CAAC,IAAI,EAAE,IAAI;IACzB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAC1C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IACpC,kCAAkC,CAAC,MAAM,EAAE,IAAI;IAG/C,YAAY,CAAC,IAAI,EAAE,IAAI;IACvB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IACvC,iBAAiB,CAAC,MAAM,EAAE,IAAI;IAC9B,kBAAkB,CAAC,IAAI,EAAE,IAAI;IAC7B,oBAAoB,CAAC,IAAI,EAAE,IAAI;IAC/B,eAAe,CAAC,MAAM,EAAE,IAAI;CAC7B"}
|
package/build/client.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { buildQueryParams, handleApiError } from "./utils.js";
|
|
2
|
+
export class PromptLayerClient {
|
|
3
|
+
apiKey;
|
|
4
|
+
baseUrl;
|
|
5
|
+
constructor(apiKey, baseUrl = "https://api.promptlayer.com") {
|
|
6
|
+
this.apiKey = apiKey;
|
|
7
|
+
this.baseUrl = baseUrl;
|
|
8
|
+
}
|
|
9
|
+
async request(endpoint, options = {}) {
|
|
10
|
+
const response = await fetch(`${this.baseUrl}${endpoint}`, {
|
|
11
|
+
...options,
|
|
12
|
+
headers: {
|
|
13
|
+
"Content-Type": "application/json",
|
|
14
|
+
"X-API-KEY": this.apiKey,
|
|
15
|
+
...options.headers,
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
if (!response.ok)
|
|
19
|
+
throw await handleApiError(response);
|
|
20
|
+
return (await response.json());
|
|
21
|
+
}
|
|
22
|
+
get(path, params) {
|
|
23
|
+
return this.request(`${path}${buildQueryParams(params)}`, { method: "GET" });
|
|
24
|
+
}
|
|
25
|
+
post(path, body) {
|
|
26
|
+
return this.request(path, { method: "POST", body: JSON.stringify(body) });
|
|
27
|
+
}
|
|
28
|
+
patch(path, body) {
|
|
29
|
+
return this.request(path, { method: "PATCH", body: JSON.stringify(body) });
|
|
30
|
+
}
|
|
31
|
+
del(path) {
|
|
32
|
+
return this.request(path, { method: "DELETE" });
|
|
33
|
+
}
|
|
34
|
+
enc(s) {
|
|
35
|
+
return encodeURIComponent(s);
|
|
36
|
+
}
|
|
37
|
+
// Prompt Templates
|
|
38
|
+
getPromptTemplate(name, params) {
|
|
39
|
+
return this.post(`/prompt-templates/${this.enc(name)}`, { api_key: this.apiKey, ...params });
|
|
40
|
+
}
|
|
41
|
+
getPromptTemplateRaw(id, params) { return this.get(`/prompt-templates/${this.enc(id)}`, params); }
|
|
42
|
+
listPromptTemplates(params) { return this.get("/prompt-templates", params); }
|
|
43
|
+
publishPromptTemplate(body) { return this.post("/rest/prompt-templates", body); }
|
|
44
|
+
listPromptTemplateLabels(id) { return this.get(`/prompt-templates/${this.enc(id)}/labels`); }
|
|
45
|
+
createPromptLabel(promptId, body) { return this.post(`/prompts/${promptId}/label`, body); }
|
|
46
|
+
movePromptLabel(labelId, body) { return this.patch(`/prompt-labels/${labelId}`, body); }
|
|
47
|
+
deletePromptLabel(labelId) { return this.del(`/prompt-labels/${labelId}`); }
|
|
48
|
+
getSnippetUsage(id, params) { return this.get(`/prompt-templates/${this.enc(id)}/snippet-usage`, params); }
|
|
49
|
+
// Tracking
|
|
50
|
+
logRequest(body) { return this.post("/log-request", body); }
|
|
51
|
+
createSpansBulk(body) { return this.post("/spans-bulk", body); }
|
|
52
|
+
// Datasets
|
|
53
|
+
listDatasets(params) { return this.get("/api/public/v2/datasets", params); }
|
|
54
|
+
createDatasetGroup(body) { return this.post("/api/public/v2/dataset-groups", body); }
|
|
55
|
+
createDatasetVersionFromFile(body) { return this.post("/api/public/v2/dataset-versions/from-file", body); }
|
|
56
|
+
createDatasetVersionFromFilterParams(body) { return this.post("/api/public/v2/dataset-versions/from-filter-params", body); }
|
|
57
|
+
// Evaluations
|
|
58
|
+
listEvaluations(params) { return this.get("/api/public/v2/evaluations", params); }
|
|
59
|
+
createReport(body) { return this.post("/reports", body); }
|
|
60
|
+
runReport(id, body) { return this.post(`/reports/${id}/run`, body); }
|
|
61
|
+
getReport(id) { return this.get(`/reports/${id}`); }
|
|
62
|
+
getReportScore(id) { return this.get(`/reports/${id}/score`); }
|
|
63
|
+
updateReportScoreCard(id, body) { return this.patch(`/reports/${id}/score-card`, body); }
|
|
64
|
+
deleteReportsByName(name) { return this.del(`/reports/name/${this.enc(name)}`); }
|
|
65
|
+
// Agents
|
|
66
|
+
listWorkflows(params) { return this.get("/workflows", params); }
|
|
67
|
+
getWorkflow(idOrName) { return this.get(`/workflows/${this.enc(idOrName)}`); }
|
|
68
|
+
createWorkflow(body) { return this.post("/rest/workflows", body); }
|
|
69
|
+
patchWorkflow(idOrName, body) { return this.patch(`/rest/workflows/${this.enc(idOrName)}`, body); }
|
|
70
|
+
runWorkflow(name, body) { return this.post(`/workflows/${this.enc(name)}/run`, body); }
|
|
71
|
+
getWorkflowVersionExecutionResults(params) { return this.get("/workflow-version-execution-results", params); }
|
|
72
|
+
// Folders
|
|
73
|
+
createFolder(body) { return this.post("/api/public/v2/folders", body); }
|
|
74
|
+
editFolder(folderId, body) { return this.patch(`/api/public/v2/folders/${folderId}`, body); }
|
|
75
|
+
getFolderEntities(params) { return this.get("/api/public/v2/folders/entities", params); }
|
|
76
|
+
moveFolderEntities(body) { return this.post("/api/public/v2/folders/entities", body); }
|
|
77
|
+
deleteFolderEntities(body) { return this.request("/api/public/v2/folders/entities", { method: "DELETE", body: JSON.stringify(body) }); }
|
|
78
|
+
resolveFolderId(params) { return this.get("/api/public/v2/folders/resolve-id", params); }
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAQA,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,QA2G3C"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { TOOL_DEFINITIONS } from "./types.js";
|
|
2
|
+
import { createToolHandler } from "./utils.js";
|
|
3
|
+
function body(args) { const { api_key: _, ...rest } = args; return rest; }
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
+
export function registerAllTools(server) {
|
|
6
|
+
const t = TOOL_DEFINITIONS;
|
|
7
|
+
function reg(def, call, msg) {
|
|
8
|
+
server.tool(def.name, def.description, def.inputSchema.shape, createToolHandler(call, msg));
|
|
9
|
+
}
|
|
10
|
+
// Prompt Templates
|
|
11
|
+
reg(t["get-prompt-template"], (c, a) => { const { api_key: _, prompt_name, ...p } = a; return c.getPromptTemplate(prompt_name, p); }, (r) => { const { prompt_name, version } = r; return `Retrieved "${prompt_name}" v${version}`; });
|
|
12
|
+
reg(t["get-prompt-template-raw"], (c, a) => { const { api_key: _, identifier, ...p } = a; return c.getPromptTemplateRaw(identifier, p); }, (r) => `Retrieved raw template "${r.prompt_name ?? ""}"`);
|
|
13
|
+
reg(t["list-prompt-templates"], (c, a) => c.listPromptTemplates(body(a)), (r) => { const { items, page, pages, total } = r; return `${items.length} template(s) (page ${page}/${pages}, total ${total})`; });
|
|
14
|
+
reg(t["publish-prompt-template"], (c, a) => c.publishPromptTemplate(body(a)), () => "Published");
|
|
15
|
+
reg(t["list-prompt-template-labels"], (c, a) => c.listPromptTemplateLabels(a.identifier), (r) => `${Array.isArray(r) ? r.length : 0} label(s)`);
|
|
16
|
+
reg(t["create-prompt-label"], (c, a) => { const { api_key: _, prompt_id, prompt_version_number, name } = a; return c.createPromptLabel(prompt_id, { prompt_version_number, name }); }, () => "Label created");
|
|
17
|
+
reg(t["move-prompt-label"], (c, a) => { const { api_key: _, prompt_label_id, prompt_version_number } = a; return c.movePromptLabel(prompt_label_id, { prompt_version_number }); }, () => "Label moved");
|
|
18
|
+
reg(t["delete-prompt-label"], (c, a) => c.deletePromptLabel(a.prompt_label_id), () => "Label deleted");
|
|
19
|
+
reg(t["get-snippet-usage"], (c, a) => { const { api_key: _, identifier, ...p } = a; return c.getSnippetUsage(identifier, p); }, (r) => `${Array.isArray(r) ? r.length : 0} prompt(s) using snippet`);
|
|
20
|
+
// Tracking
|
|
21
|
+
reg(t["log-request"], (c, a) => c.logRequest(body(a)), (r) => { const id = r.request_id; return id ? `Logged (ID: ${id})` : "Logged"; });
|
|
22
|
+
reg(t["create-spans-bulk"], (c, a) => c.createSpansBulk(body(a)), (r) => `Created ${r.spans?.length ?? 0} span(s)`);
|
|
23
|
+
// Datasets
|
|
24
|
+
reg(t["list-datasets"], (c, a) => c.listDatasets(body(a)), (r) => { const { datasets, total } = r; return `${datasets?.length ?? 0} dataset(s) (total: ${total ?? "?"})`; });
|
|
25
|
+
reg(t["create-dataset-group"], (c, a) => c.createDatasetGroup(body(a)), () => "Dataset group created");
|
|
26
|
+
reg(t["create-dataset-version-from-file"], (c, a) => c.createDatasetVersionFromFile(body(a)), () => "Dataset version from file initiated");
|
|
27
|
+
reg(t["create-dataset-version-from-filter-params"], (c, a) => c.createDatasetVersionFromFilterParams(body(a)), () => "Dataset version from history initiated");
|
|
28
|
+
// Evaluations
|
|
29
|
+
reg(t["list-evaluations"], (c, a) => c.listEvaluations(body(a)), (r) => { const { items, total } = r; return `${items?.length ?? 0} evaluation(s) (total: ${total ?? "?"})`; });
|
|
30
|
+
reg(t["create-report"], (c, a) => c.createReport(body(a)), (r) => { const id = r.report_id; return id ? `Pipeline created (ID: ${id})` : "Pipeline created"; });
|
|
31
|
+
reg(t["run-report"], (c, a) => { const { api_key: _, report_id, ...b } = a; return c.runReport(report_id, b); }, () => "Evaluation run started");
|
|
32
|
+
reg(t["get-report"], (c, a) => c.getReport(a.report_id), () => "Evaluation retrieved");
|
|
33
|
+
reg(t["get-report-score"], (c, a) => c.getReportScore(a.report_id), (r) => { const s = r.score; return s !== undefined ? `Score: ${s}` : "Score retrieved"; });
|
|
34
|
+
reg(t["update-report-score-card"], (c, a) => { const { api_key: _, report_id, ...b } = a; return c.updateReportScoreCard(report_id, b); }, () => "Score card updated");
|
|
35
|
+
reg(t["delete-reports-by-name"], (c, a) => c.deleteReportsByName(a.report_name), () => "Reports archived");
|
|
36
|
+
// Agents
|
|
37
|
+
reg(t["list-workflows"], (c, a) => c.listWorkflows(body(a)), () => "Agents listed");
|
|
38
|
+
reg(t["create-workflow"], (c, a) => c.createWorkflow(body(a)), () => "Agent created");
|
|
39
|
+
reg(t["patch-workflow"], (c, a) => { const { api_key: _, workflow_id_or_name, ...b } = a; return c.patchWorkflow(workflow_id_or_name, b); }, () => "Agent updated");
|
|
40
|
+
reg(t["run-workflow"], (c, a) => { const { api_key: _, workflow_name, ...b } = a; return c.runWorkflow(workflow_name, b); }, (r) => { const id = r.workflow_version_execution_id; return id ? `Agent run started (ID: ${id})` : "Agent run started"; });
|
|
41
|
+
reg(t["get-workflow-version-execution-results"], (c, a) => c.getWorkflowVersionExecutionResults(body(a)), () => "Execution results retrieved");
|
|
42
|
+
reg(t["get-workflow"], (c, a) => c.getWorkflow(a.workflow_id_or_name), (r) => { const w = r; return `Agent "${w.workflow?.name ?? ""}" retrieved`; });
|
|
43
|
+
// Folders
|
|
44
|
+
reg(t["create-folder"], (c, a) => c.createFolder(body(a)), () => "Folder created");
|
|
45
|
+
reg(t["edit-folder"], (c, a) => { const { api_key: _, folder_id, ...b } = a; return c.editFolder(folder_id, b); }, () => "Folder renamed");
|
|
46
|
+
reg(t["get-folder-entities"], (c, a) => c.getFolderEntities(body(a)), (r) => { const e = r.entities; return `${e?.length ?? 0} entity/entities`; });
|
|
47
|
+
reg(t["move-folder-entities"], (c, a) => c.moveFolderEntities(body(a)), (r) => { const c_ = r.moved_count; return `Moved ${c_ ?? 0} entity/entities`; });
|
|
48
|
+
reg(t["delete-folder-entities"], (c, a) => c.deleteFolderEntities(body(a)), (r) => { const c_ = r.moved_count; return `Deleted ${c_ ?? 0} entity/entities`; });
|
|
49
|
+
reg(t["resolve-folder-id"], (c, a) => c.resolveFolderId(body(a)), (r) => { const id = r.id; return id ? `Folder ID: ${id}` : "Folder not found"; });
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/build/index.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
import { registerAllTools } from "./handlers.js";
|
|
5
|
+
const INSTRUCTIONS = `
|
|
6
|
+
PromptLayer is a prompt management and observability platform. This MCP server lets you manage PromptLayer resources.
|
|
7
|
+
|
|
8
|
+
## Key entities and naming
|
|
9
|
+
|
|
10
|
+
- **Prompt template**: A versioned prompt in the registry. Each version has a prompt_template (the content) and metadata. Versions are immutable — publishing always creates a new version.
|
|
11
|
+
- **Snippet**: A reusable prompt fragment referenced inside prompt templates with @@@snippet_name@@@ markers. Snippets are themselves prompt templates (with type "completion"). When a prompt is fetched, snippets are expanded inline by default.
|
|
12
|
+
- **Release label**: A pointer (e.g. "prod", "staging") attached to a specific prompt version. Move labels between versions for deployment.
|
|
13
|
+
- **Agent** (backend name: workflow): A multi-step pipeline of nodes. Each node has a type, configuration, and dependencies. Agents are versioned like prompts.
|
|
14
|
+
- **Evaluation pipeline** (backend name: report): Runs evaluation columns against a dataset and produces scores. Columns can be LLM assertions, code execution, comparisons, etc.
|
|
15
|
+
- **Dataset**: A versioned collection of test rows. Belongs to a dataset group. Versions can be created from CSV/JSON files or by filtering request log history.
|
|
16
|
+
- **Folder**: Organizes prompts, agents, datasets, evaluations, and other entities into a hierarchy.
|
|
17
|
+
|
|
18
|
+
## Working with prompts and snippets
|
|
19
|
+
|
|
20
|
+
When editing a prompt that may contain snippets, always use get-prompt-template-raw with resolve_snippets=false. This preserves the raw @@@snippet_name@@@ references so they are not lost on re-publish. The response also includes a "snippets" array listing every snippet used.
|
|
21
|
+
|
|
22
|
+
When publishing back, keep @@@snippet_name@@@ markers intact in the prompt_template content. Do not inline snippet text — this breaks the snippet reference and future snippet updates will no longer propagate.
|
|
23
|
+
|
|
24
|
+
Use get-prompt-template (the POST variant) only when you need a fully rendered prompt ready to send to an LLM, with input_variables filled in and provider-specific formatting applied.
|
|
25
|
+
|
|
26
|
+
## Working with evaluations
|
|
27
|
+
|
|
28
|
+
The recommended way to create an evaluation pipeline is with LLM assertion columns — these use a language model to score each dataset row. For details on all available column types (LLM assertion, code execution, comparison, etc.), search the PromptLayer docs or see https://docs.promptlayer.com/features/evaluations/column-types.
|
|
29
|
+
|
|
30
|
+
## Additional documentation
|
|
31
|
+
|
|
32
|
+
For deeper questions about PromptLayer features, configuration, or API details, the PromptLayer docs site has an MCP server you can use for search. See https://docs.promptlayer.com/mcp for setup.
|
|
33
|
+
`.trim();
|
|
34
|
+
const server = new McpServer({ name: "promptlayer-server", version: "1.0.0" }, { instructions: INSTRUCTIONS });
|
|
35
|
+
registerAllTools(server);
|
|
36
|
+
async function main() {
|
|
37
|
+
const transport = new StdioServerTransport();
|
|
38
|
+
await server.connect(transport);
|
|
39
|
+
console.error("PromptLayer MCP Server running on stdio");
|
|
40
|
+
}
|
|
41
|
+
main().catch((error) => {
|
|
42
|
+
console.error("Fatal error:", error);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BpB,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,EAChD,EAAE,YAAY,EAAE,YAAY,EAAE,CAC/B,CAAC;AACF,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzB,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|