@inspectr/mcplab-mcp-server 1.8.3 → 1.9.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.
@@ -1,2 +1,2 @@
1
1
  export { createConfiguredServer } from './runtime.js';
2
- //# sourceMappingURL=server-factory.d.ts.map
2
+ //# sourceMappingURL=server-factory.d.ts.map
@@ -133,8 +133,8 @@ When the request is about analyzing results, the assistant must:
133
133
  - This keeps prompt/eval in library test-case and swaps only MCP target per eval.
134
134
 
135
135
  6. Add optional `eval` and `extract` blocks after baseline run succeeds.
136
- - The scenario authoring MCP tools also accept a canonical `eval` object containing `tool_constraints`, flat `tool_sequence`, `response_assertions` (`regex`, `contains`, `not_contains`, `starts_with`, `ends_with`, `equals`, and JSONPath variants), `tool_input_assertions` (`contains`, `regex`, `jsonpath`), `agent_assertions`, and `agent_context`.
137
- - Existing convenience fields (`required_tools`, `forbidden_tools`, `tool_sequence`, and `response_regex_patterns`) remain supported; do not provide a convenience field and its canonical equivalent in the same request.
136
+ - The scenario authoring MCP tools also accept a full `eval` object containing `tool_constraints`, flat `tool_sequence`, `response_assertions` (`regex`, `contains`, `not_contains`, `starts_with`, `ends_with`, `equals`, and JSONPath variants), `tool_input_assertions` (`contains`, `regex`, `jsonpath`), `agent_assertions`, and `agent_context`.
137
+ - Existing shorthand fields (`required_tools`, `forbidden_tools`, `tool_sequence`, and `response_regex_patterns`) remain supported for basic cases; do not provide a shorthand field and its equivalent `eval` field in the same request.
138
138
  7. Prefer literal response assertions first (`contains`, `equals`, etc.), then `regex` only when variability requires it.
139
139
  8. Add deterministic tool-input assertions when the requirement is structural:
140
140
 
@@ -157,6 +157,21 @@ When the request is about analyzing results, the assistant must:
157
157
  14. For evaluation configs, pass the complete config object to the confirmation-required `mcplab_create_evaluation_config`; it writes under `mcplab/evals/` and normalizes collisions automatically.
158
158
  15. Verify persistence by checking the returned `path`/`relative_path` and then validate the created config with `mcplab_validate_config` when a config path is available.
159
159
 
160
+ ## Browser Agent Workflow
161
+
162
+ Use this workflow when an evaluation must run in a browser chat through MCPLab Rover.
163
+
164
+ 1. Inspect the workspace library with `mcplab_list_library` using `kind: "agents"` and `kind: "browser_providers"`, with `includeContent: true` when the profile details are needed.
165
+ 2. A browser agent is an execution target in `agents.yaml`. It has `type: browser`, a `provider` id, a browser `url`, and an optional `new_conversation_between_scenarios` setting.
166
+ 3. A browser provider profile is the deterministic interaction contract in `browser-providers/<provider-id>.yaml`. It describes origin matching, composer input mode and locator, submit behavior, assistant message selection, completion signals and stability, optional new-conversation behavior, and learning metadata.
167
+ 4. Do not invent selectors or copy provider-specific values from unrelated examples. If a matching provider profile does not exist, ask the user to capture it with Rover Learn, then inspect the resulting profile and interaction trace.
168
+ 5. Use `mcplab_generate_browser_agent_entry` to draft a linked browser agent entry. Persist it only through the approved library workflow.
169
+ 6. Create or update an evaluation config with the browser agent id in the scenario `agent` field. Queue it with `mcplab_queue_run`; Rover must be connected to the matching provider.
170
+ 7. Treat browser runs as response-only unless Inspectr telemetry is explicitly present. Tool-dependent checks without observations are `not_evaluated`.
171
+ 8. Keep the Evaluation Judge separate. It is an LLM agent selected in workspace settings and is used for semantic `agent_assertions` and optional AI-assisted provider refinement. A browser agent must never be used as the Evaluation Judge.
172
+
173
+ For the complete profile field reference and a generic complex example, load `references/browser-agents.md` with `mcplab_get_skill` when available.
174
+
160
175
  ## CLI Workflow
161
176
 
162
177
  Use this workflow when MCP execution tools are not available or when the user explicitly asks for shell commands.
@@ -0,0 +1,122 @@
1
+ # Browser Agents and Provider Profiles
2
+
3
+ Browser agents execute through MCPLab Rover. They are not LLM API clients and must not be selected as the Evaluation Judge.
4
+
5
+ ## Workspace files
6
+
7
+ `agents.yaml` links a friendly agent id to a provider profile:
8
+
9
+ ```yaml
10
+ custom-research-chat-browser:
11
+ type: browser
12
+ name: Custom Research Chat browser
13
+ provider: custom-research-chat
14
+ url: https://chat.example.test
15
+ new_conversation_between_scenarios: true
16
+ ```
17
+
18
+ `browser-providers/<provider-id>.yaml` contains one deterministic interaction profile per file. The profile is provider-specific and must come from Rover capture, local validation, or an explicitly reviewed update. Do not copy the example values below into a real workspace.
19
+
20
+ MCP Lab includes the native Rover profiles for `claude` and `chatgpt-com` by default. They are available through the library API without workspace files and are not written to YAML automatically. A workspace profile with the same provider id overrides the bundled profile and is persisted under `browser-providers/`.
21
+
22
+ ## Provider profile shape
23
+
24
+ ```yaml
25
+ schema_version: 1
26
+ name: Custom Research Chat
27
+ match:
28
+ origins:
29
+ - https://chat.example.test
30
+ - https://workspace.chat.example.test
31
+ composer:
32
+ locator:
33
+ segments:
34
+ - main[data-app="chat"]
35
+ - form[data-testid="composer-form"]
36
+ - textarea[data-testid="prompt-input"]
37
+ input_mode: textarea
38
+ submit:
39
+ action: click
40
+ locator:
41
+ segments:
42
+ - form[data-testid="composer-form"]
43
+ - button[data-testid="send-button"]
44
+ assistant_messages:
45
+ locator:
46
+ segments:
47
+ - main[data-app="chat"]
48
+ - '[data-role="message"][data-author="assistant"]'
49
+ text_locator:
50
+ segments:
51
+ - '[data-testid="message-content"]'
52
+ completion:
53
+ generating_locator:
54
+ segments:
55
+ - form[data-testid="composer-form"]
56
+ - button[data-testid="send-button"][disabled]
57
+ idle_locator:
58
+ segments:
59
+ - form[data-testid="composer-form"]
60
+ - button[data-testid="send-button"]:not([disabled])
61
+ stability_ms: 2500
62
+ new_conversation:
63
+ action: click
64
+ locator:
65
+ segments:
66
+ - nav[data-testid="conversation-nav"]
67
+ - button[data-testid="new-conversation"]
68
+ learned:
69
+ source_origin: https://chat.example.test
70
+ confidence:
71
+ composer: high
72
+ submit: high
73
+ assistant: high
74
+ completion: medium
75
+ ```
76
+
77
+ ## Field guidance
78
+
79
+ - `match.origins` contains origin-only URLs. Credentials, paths, query strings, and hashes are not valid profile origins.
80
+ - Locator `segments` are ordered CSS selectors from the document root toward the target. They must be syntactically valid and observed in the captured lifecycle trace.
81
+ - `composer.input_mode` is `input`, `textarea`, or `contenteditable`.
82
+ - `submit.action` is `click` or `enter`. Click submission requires a submit locator.
83
+ - `assistant_messages.locator` must select assistant-only messages, not user messages or the whole transcript.
84
+ - `assistant_messages.text_locator` is optional and narrows the text extraction inside each assistant message.
85
+ - `completion.generating_locator` should match an active generation state. `completion.idle_locator` should match a usable completion state. A stable response is accepted only after `stability_ms` has elapsed.
86
+ - `new_conversation` is optional. A navigation action requires a URL, while a click action requires a locator.
87
+ - `learned.confidence` contains only `high`, `medium`, or `low` values.
88
+ - Executable fields such as `script` and `script_source` are forbidden.
89
+
90
+ ## AI-assisted provider refinement
91
+
92
+ The safe workflow is:
93
+
94
+ 1. Rover captures a redacted interaction trace and proposes an initial profile.
95
+ 2. MCPLab sends the profile and trace to the configured LLM Evaluation Judge when the user requests refinement.
96
+ 3. The returned proposal is validated against the original trace by Rover before Save is enabled.
97
+ 4. The validated profile is persisted to `browser-providers/<provider-id>.yaml` and linked to a browser agent.
98
+
99
+ The Evaluation Judge may suggest selectors, but it never bypasses Rover replay validation. Do not save a profile from model output alone.
100
+
101
+ ## Evaluation config
102
+
103
+ Reference the browser agent, not the provider profile, from an evaluation:
104
+
105
+ ```yaml
106
+ agents:
107
+ - ref: custom-research-chat-browser
108
+
109
+ scenarios:
110
+ - ref: research-summary
111
+ agent: custom-research-chat-browser
112
+ mcp_servers:
113
+ - ref: research-tools
114
+ ```
115
+
116
+ Before queueing, confirm that:
117
+
118
+ - the browser agent id exists in `agents.yaml`;
119
+ - its provider id has a matching file under `browser-providers/`;
120
+ - Rover is connected to a matching browser origin;
121
+ - response assertions are appropriate for browser output;
122
+ - tool assertions are expected to be `not_evaluated` unless telemetry is available.
package/dist/skills.d.ts CHANGED
@@ -1,38 +1,33 @@
1
1
  export type SkillManifestEntry = {
2
- path: string;
3
- bytes: number;
4
- sha256: string;
2
+ path: string;
3
+ bytes: number;
4
+ sha256: string;
5
5
  };
6
6
  export type SkillManifest = {
7
- name: string;
8
- files: SkillManifestEntry[];
7
+ name: string;
8
+ files: SkillManifestEntry[];
9
9
  };
10
10
  export type LoadedSkill = {
11
- name: string;
12
- description: string;
13
- /** Relative file paths within the skill directory, SKILL.md always first. */
14
- files: string[];
15
- manifest: SkillManifest;
11
+ name: string;
12
+ description: string;
13
+ /** Relative file paths within the skill directory, SKILL.md always first. */
14
+ files: string[];
15
+ manifest: SkillManifest;
16
16
  };
17
17
  export declare function resolveSkillsDir(): string;
18
18
  export declare function loadSkills(logger?: Pick<Console, 'error'>): LoadedSkill[];
19
19
  export declare function readSkillFile(name: string, file: string): string;
20
20
  export type MinimalResourceServer = {
21
- registerResource: (
22
- name: string,
23
- uri: string,
24
- config: {
25
- title?: string;
26
- mimeType?: string;
27
- },
28
- readCallback: (uri: URL) => Promise<{
29
- contents: Array<{
30
- uri: string;
21
+ registerResource: (name: string, uri: string, config: {
22
+ title?: string;
31
23
  mimeType?: string;
32
- text: string;
33
- }>;
34
- }>
35
- ) => unknown;
24
+ }, readCallback: (uri: URL) => Promise<{
25
+ contents: Array<{
26
+ uri: string;
27
+ mimeType?: string;
28
+ text: string;
29
+ }>;
30
+ }>) => unknown;
36
31
  };
37
32
  /**
38
33
  * Registers each loaded skill's files (plus a `_manifest` resource with sha256 hashes) as
@@ -40,8 +35,5 @@ export type MinimalResourceServer = {
40
35
  * content directly. Content is served via `readSkillFile`, which re-applies path-traversal
41
36
  * and symlink-escape protections on every read (the file list here is only used to build URIs).
42
37
  */
43
- export declare function registerSkills(
44
- server: MinimalResourceServer,
45
- logger?: Pick<Console, 'error'>
46
- ): LoadedSkill[];
47
- //# sourceMappingURL=skills.d.ts.map
38
+ export declare function registerSkills(server: MinimalResourceServer, logger?: Pick<Console, 'error'>): LoadedSkill[];
39
+ //# sourceMappingURL=skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=skills.test.d.ts.map
2
+ //# sourceMappingURL=skills.test.d.ts.map
package/dist/tools.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export { registerTools } from './runtime.js';
2
- //# sourceMappingURL=tools.d.ts.map
2
+ //# sourceMappingURL=tools.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inspectr/mcplab-mcp-server",
3
- "version": "1.8.3",
3
+ "version": "1.9.0",
4
4
  "description": "MCP server that exposes MCPLab evaluation tools — query runs, results, and traces via the Model Context Protocol",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -17,7 +17,7 @@
17
17
  "server"
18
18
  ],
19
19
  "engines": {
20
- "node": ">=20.19.0"
20
+ "node": ">=22.12.0"
21
21
  },
22
22
  "publishConfig": {
23
23
  "access": "public"
@@ -51,11 +51,11 @@
51
51
  "test": "vitest run"
52
52
  },
53
53
  "devDependencies": {
54
- "vitest": "^4.1.8"
54
+ "vitest": "^5.0.1"
55
55
  },
56
56
  "dependencies": {
57
- "@inspectr/mcplab-core": "1.22.2",
58
- "@inspectr/mcplab-reporting": "1.2.4",
57
+ "@inspectr/mcplab-core": "1.23.0",
58
+ "@inspectr/mcplab-reporting": "1.3.0",
59
59
  "@modelcontextprotocol/sdk": "^1.29.0",
60
60
  "yaml": "^2.8.4",
61
61
  "zod": "^3.25.0"