@arizeai/phoenix-mcp 4.0.0 → 4.0.2
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/README.md +17 -10
- package/build/constants.js +0 -27
- package/build/datasetUtils.js +0 -1
- package/build/sessionTools.js +2 -2
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -112,16 +112,23 @@ Make sure to set these in a `.env` file. See `.env.example`.
|
|
|
112
112
|
|
|
113
113
|
## Tool Coverage
|
|
114
114
|
|
|
115
|
-
The MCP server
|
|
116
|
-
|
|
117
|
-
- `list-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
115
|
+
The MCP server covers the main operational Phoenix workflows:
|
|
116
|
+
|
|
117
|
+
**Prompts** — `list-prompts`, `get-prompt`, `get-latest-prompt`, `get-prompt-by-identifier`, `get-prompt-version`, `list-prompt-versions`, `get-prompt-version-by-tag`, `list-prompt-version-tags`, `add-prompt-version-tag`, `upsert-prompt`
|
|
118
|
+
|
|
119
|
+
**Projects** — `list-projects`, `get-project`
|
|
120
|
+
|
|
121
|
+
**Traces** — `list-traces`, `get-trace`
|
|
122
|
+
|
|
123
|
+
**Spans** — `get-spans`, `get-span-annotations`
|
|
124
|
+
|
|
125
|
+
**Sessions** — `list-sessions`, `get-session`
|
|
126
|
+
|
|
127
|
+
**Annotation Configs** — `list-annotation-configs`
|
|
128
|
+
|
|
129
|
+
**Datasets** — `list-datasets`, `get-dataset`, `get-dataset-examples`, `get-dataset-experiments`, `add-dataset-examples`
|
|
130
|
+
|
|
131
|
+
**Experiments** — `list-experiments-for-dataset`, `get-experiment-by-id`
|
|
125
132
|
|
|
126
133
|
For Phoenix documentation search, use the separate Phoenix Docs MCP server instead of this package.
|
|
127
134
|
|
package/build/constants.js
CHANGED
|
@@ -1,42 +1,21 @@
|
|
|
1
|
-
// ============================================================
|
|
2
|
-
// Pagination
|
|
3
|
-
// ============================================================
|
|
4
1
|
/** Default number of items fetched per API page request. */
|
|
5
2
|
export const DEFAULT_PAGE_SIZE = 100;
|
|
6
|
-
// ============================================================
|
|
7
|
-
// Span queries
|
|
8
|
-
// ============================================================
|
|
9
3
|
/** Maximum number of spans that a single query may return. */
|
|
10
4
|
export const MAX_SPAN_QUERY_LIMIT = 1000;
|
|
11
|
-
// ============================================================
|
|
12
|
-
// List queries (datasets, experiments, projects, configs)
|
|
13
|
-
// ============================================================
|
|
14
5
|
/** Upper bound for the `limit` parameter on list endpoints. */
|
|
15
6
|
export const MAX_LIST_LIMIT = 500;
|
|
16
|
-
// ============================================================
|
|
17
|
-
// Annotation fetching
|
|
18
|
-
// ============================================================
|
|
19
7
|
/** Number of span IDs included in each annotation chunk request. */
|
|
20
8
|
export const ANNOTATION_CHUNK_SIZE = 100;
|
|
21
9
|
/** Maximum number of annotation chunk requests executed concurrently. */
|
|
22
10
|
export const MAX_CONCURRENT_ANNOTATION_REQUESTS = 5;
|
|
23
11
|
/** Page size used when exhausting annotation pages within a single chunk. */
|
|
24
12
|
export const ANNOTATION_PAGE_SIZE = 1000;
|
|
25
|
-
// ============================================================
|
|
26
|
-
// Trace queries
|
|
27
|
-
// ============================================================
|
|
28
13
|
/** Default number of traces returned by the list-traces tool. */
|
|
29
14
|
export const DEFAULT_TRACE_PAGE_SIZE = 10;
|
|
30
15
|
/** Maximum number of traces the list-traces tool may return. */
|
|
31
16
|
export const MAX_TRACE_PAGE_SIZE = 100;
|
|
32
|
-
// ============================================================
|
|
33
|
-
// Session queries
|
|
34
|
-
// ============================================================
|
|
35
17
|
/** Maximum number of sessions the list-sessions tool may return. */
|
|
36
18
|
export const MAX_SESSION_PAGE_SIZE = 100;
|
|
37
|
-
// ============================================================
|
|
38
|
-
// Prompt defaults
|
|
39
|
-
// ============================================================
|
|
40
19
|
/** Default model provider when creating a prompt version. */
|
|
41
20
|
export const DEFAULT_MODEL_PROVIDER = "OPENAI";
|
|
42
21
|
/** Default model name when creating a prompt version. */
|
|
@@ -49,13 +28,7 @@ export const DEFAULT_TEMPERATURE = 0.7;
|
|
|
49
28
|
* Anthropic models require an explicit `max_tokens` invocation parameter.
|
|
50
29
|
*/
|
|
51
30
|
export const ANTHROPIC_DEFAULT_MAX_TOKENS = 1000;
|
|
52
|
-
// ============================================================
|
|
53
|
-
// Time
|
|
54
|
-
// ============================================================
|
|
55
31
|
/** Number of milliseconds in one minute. */
|
|
56
32
|
export const MS_PER_MINUTE = 60_000;
|
|
57
|
-
// ============================================================
|
|
58
|
-
// MCP metadata
|
|
59
|
-
// ============================================================
|
|
60
33
|
/** Provenance tag applied to dataset examples created through the MCP server. */
|
|
61
34
|
export const MCP_SYNTHETIC_SOURCE = "Synthetic Example added via MCP";
|
package/build/datasetUtils.js
CHANGED
|
@@ -17,7 +17,6 @@ export function isPhoenixDatasetId(identifier) {
|
|
|
17
17
|
* datasets list endpoint.
|
|
18
18
|
*/
|
|
19
19
|
export async function resolveDatasetId({ client, datasetId, datasetName, }) {
|
|
20
|
-
// Prefer datasetId when provided
|
|
21
20
|
if (datasetId) {
|
|
22
21
|
const normalizedId = requireIdentifier({
|
|
23
22
|
identifier: datasetId,
|
package/build/sessionTools.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import z from "zod";
|
|
2
|
-
import { DEFAULT_TRACE_PAGE_SIZE, MAX_SESSION_PAGE_SIZE } from "./constants.js";
|
|
2
|
+
import { DEFAULT_TRACE_PAGE_SIZE, MAX_SESSION_PAGE_SIZE, MAX_SPAN_QUERY_LIMIT, } from "./constants.js";
|
|
3
3
|
import { requireIdentifier } from "./identifiers.js";
|
|
4
4
|
import { fetchAllPages } from "./pagination.js";
|
|
5
5
|
import { resolveProjectIdentifier } from "./projectUtils.js";
|
|
@@ -36,7 +36,7 @@ async function fetchSessionAnnotations({ client, projectIdentifier, sessionId, }
|
|
|
36
36
|
label: "projectIdentifier",
|
|
37
37
|
});
|
|
38
38
|
return fetchAllPages({
|
|
39
|
-
limit:
|
|
39
|
+
limit: MAX_SPAN_QUERY_LIMIT,
|
|
40
40
|
fetchPage: async (cursor, pageSize) => {
|
|
41
41
|
const query = {
|
|
42
42
|
session_ids: [sessionId],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arizeai/phoenix-mcp",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.2",
|
|
4
4
|
"description": "A MCP server for Arize Phoenix",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"arize-phoenix",
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
"glob": "^13.0.6",
|
|
29
29
|
"minimist": "^1.2.8",
|
|
30
30
|
"zod": "^4.3.6",
|
|
31
|
-
"@arizeai/phoenix-client": "6.5.
|
|
32
|
-
"@arizeai/phoenix-config": "0.1.
|
|
31
|
+
"@arizeai/phoenix-client": "6.5.5",
|
|
32
|
+
"@arizeai/phoenix-config": "0.1.3"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/glob": "^9.0.0",
|
|
36
36
|
"@types/minimist": "^1.2.5",
|
|
37
37
|
"@types/node": "^22.14.0",
|
|
38
38
|
"tsx": "^4.21.0",
|
|
39
|
-
"vitest": "^4.0
|
|
39
|
+
"vitest": "^4.1.0"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build": "tsc && chmod 755 build/index.js",
|