mcp-scorecard 0.5.2 → 0.5.3
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/CHANGELOG.md +7 -0
- package/dist/constants.d.ts +4 -1
- package/dist/constants.js +6 -2
- package/dist/constants.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## 0.5.3 - 2026-07-30
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- Mutation-name patterns now include nutrition/alarm write verbs (`log_intake`, `log_water`, `bulk_log`, `remember`, `undo`, `snooze`, `dismiss`) so those tools are gated and not mis-scored as unannotated reads — without treating coach tools like `after_log_review` as mutations.
|
|
6
|
+
- Gate hints also match the common field name `explicit_user_intent`.
|
|
7
|
+
|
|
1
8
|
## 0.5.2 - 2026-07-30
|
|
2
9
|
|
|
3
10
|
### Fixed
|
package/dist/constants.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* same string. Bumping this without updating package.json is intentional during
|
|
4
4
|
* dev (keep src as source of truth); a release script can sync them.
|
|
5
5
|
*/
|
|
6
|
-
export declare const SERVER_VERSION = "0.5.
|
|
6
|
+
export declare const SERVER_VERSION = "0.5.3";
|
|
7
7
|
/** Identifier used when the probe connects to a target MCP server. */
|
|
8
8
|
export declare const PROBE_CLIENT_NAME = "mcp-scorecard";
|
|
9
9
|
/** Env var set on the spawned target so MCP authors can detect we are probing
|
|
@@ -13,6 +13,9 @@ export declare const PROBE_ENV_FLAG = "MCP_PROBE";
|
|
|
13
13
|
* Patterns that imply a tool MUTATES state on the target system. We use these
|
|
14
14
|
* to score mutation gating — if a tool name matches and the description does
|
|
15
15
|
* not mention an explicit gate, it loses points.
|
|
16
|
+
*
|
|
17
|
+
* Nutrition/alarm write verbs use compound tokens (`log_intake`, `bulk_log`)
|
|
18
|
+
* so read tools like `after_log_review` are not misclassified as mutations.
|
|
16
19
|
*/
|
|
17
20
|
export declare const MUTATION_PATTERNS: RegExp[];
|
|
18
21
|
/**
|
package/dist/constants.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* same string. Bumping this without updating package.json is intentional during
|
|
4
4
|
* dev (keep src as source of truth); a release script can sync them.
|
|
5
5
|
*/
|
|
6
|
-
export const SERVER_VERSION = '0.5.
|
|
6
|
+
export const SERVER_VERSION = '0.5.3';
|
|
7
7
|
/** Identifier used when the probe connects to a target MCP server. */
|
|
8
8
|
export const PROBE_CLIENT_NAME = 'mcp-scorecard';
|
|
9
9
|
/** Env var set on the spawned target so MCP authors can detect we are probing
|
|
@@ -13,9 +13,12 @@ export const PROBE_ENV_FLAG = 'MCP_PROBE';
|
|
|
13
13
|
* Patterns that imply a tool MUTATES state on the target system. We use these
|
|
14
14
|
* to score mutation gating — if a tool name matches and the description does
|
|
15
15
|
* not mention an explicit gate, it loses points.
|
|
16
|
+
*
|
|
17
|
+
* Nutrition/alarm write verbs use compound tokens (`log_intake`, `bulk_log`)
|
|
18
|
+
* so read tools like `after_log_review` are not misclassified as mutations.
|
|
16
19
|
*/
|
|
17
20
|
export const MUTATION_PATTERNS = [
|
|
18
|
-
/(^|_)(set|update|delete|create|pause|resume|enable|disable|cancel|publish|send|remove|add|insert|patch|put|post|exchange|revoke|grant|authorize|reset|clear|forget|destroy|wipe|logout|signout|sign_out)(_|$)/i
|
|
21
|
+
/(^|_)(set|update|delete|create|pause|resume|enable|disable|cancel|publish|send|remove|add|insert|patch|put|post|exchange|revoke|grant|authorize|reset|clear|forget|destroy|wipe|logout|signout|sign_out|log_intake|log_water|bulk_log|remember|undo|snooze|dismiss)(_|$)/i
|
|
19
22
|
];
|
|
20
23
|
/**
|
|
21
24
|
* Words that, when present in a mutation tool's description, signal the author
|
|
@@ -25,6 +28,7 @@ export const MUTATION_GATE_HINTS = [
|
|
|
25
28
|
'gated by',
|
|
26
29
|
'requires explicit',
|
|
27
30
|
'explicit user intent',
|
|
31
|
+
'explicit_user_intent',
|
|
28
32
|
'allow_mutations',
|
|
29
33
|
'dry-run',
|
|
30
34
|
'dry_run',
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEjD;iEACiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEjD;iEACiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAa;IACzC,2QAA2Q;CAC5Q,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,mBAAmB;IACnB,sBAAsB;IACtB,sBAAsB;IACtB,iBAAiB;IACjB,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,mBAAmB;CACpB,CAAC;AAEF;;cAEc;AACd,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,aAAa;IACb,OAAO;IACP,OAAO;IACP,cAAc;IACd,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,SAAS;CACV,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-scorecard",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.3",
|
|
4
4
|
"mcpName": "io.github.davidmosiah/mcp-scorecard",
|
|
5
5
|
"description": "Grade any MCP server's agent-readiness in one command \u2014 stdio (10 protocol checks) AND hosted/remote servers (10 security + web agent-readiness checks). Open source, local-first, no credentials.",
|
|
6
6
|
"type": "module",
|