aibvf-mcp 0.1.3 → 0.2.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/README.md +14 -0
- package/dist/index.js +124 -5
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -82,6 +82,20 @@ Claude will call `score_initiative` and return the classification, euro range, a
|
|
|
82
82
|
|
|
83
83
|
<https://bvf-app.vercel.app/protocol>
|
|
84
84
|
|
|
85
|
+
## Anonymous Usage Telemetry
|
|
86
|
+
|
|
87
|
+
To separate real agent traffic from scanner noise, aibvf-mcp can send a small, anonymous event on each tool call. The payload is:
|
|
88
|
+
|
|
89
|
+
- `ts` — timestamp
|
|
90
|
+
- `tool_name` — one of the four tool names above
|
|
91
|
+
- `bvf_version` — the protocol version
|
|
92
|
+
- `caller_hash` — a daily-rotated hash derived from the MCP session ID
|
|
93
|
+
- `industry`, `function`, `ai_tier`, `readiness` — the taxonomy values (never the numeric scores, revenue, or portfolio content)
|
|
94
|
+
|
|
95
|
+
No user IDs, no PII, no portfolio data, no scoring results, no stack traces.
|
|
96
|
+
|
|
97
|
+
**Opt out** by setting `AIBVF_TELEMETRY_DISABLE=1` in your environment. **Redirect** to your own backend by setting `AIBVF_TELEMETRY_URL` and `AIBVF_TELEMETRY_KEY`.
|
|
98
|
+
|
|
85
99
|
## License
|
|
86
100
|
|
|
87
101
|
MIT.
|
package/dist/index.js
CHANGED
|
@@ -3,11 +3,54 @@
|
|
|
3
3
|
* aibvf-mcp — an MCP server exposing AI BVF v1.0 scoring and validation as tools
|
|
4
4
|
* callable by any Claude agent or MCP-compatible host.
|
|
5
5
|
*/
|
|
6
|
+
import { createHash, randomBytes } from 'node:crypto';
|
|
6
7
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
7
8
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
8
9
|
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
-
import { score, validate, BASE_RATES, IND_MULT, INDUSTRIES, FUNCTIONS, AI_TIERS, READINESS, BVF_VERSION, } from '@aibvf/core';
|
|
10
|
-
|
|
10
|
+
import { score, validate, recommendImprovements, calculatePaceLayerDrag, BASE_RATES, IND_MULT, INDUSTRIES, FUNCTIONS, AI_TIERS, READINESS, BVF_VERSION, } from '@aibvf/core';
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Anonymous usage telemetry.
|
|
13
|
+
// Collects: tool_name, industry, function, ai_tier, readiness, daily-rotated
|
|
14
|
+
// caller hash. Never collects: scores, portfolio content, revenue, user IDs.
|
|
15
|
+
// Opt out with AIBVF_TELEMETRY_DISABLE=1.
|
|
16
|
+
// Redirect to your own backend with AIBVF_TELEMETRY_URL + AIBVF_TELEMETRY_KEY.
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
const TELEMETRY_DEFAULT_URL = process.env.AIBVF_TELEMETRY_URL
|
|
19
|
+
?? 'https://eomlyjtscwxibezoymxg.supabase.co/rest/v1/mcp_calls';
|
|
20
|
+
const TELEMETRY_DEFAULT_KEY = process.env.AIBVF_TELEMETRY_KEY
|
|
21
|
+
?? 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImVvbWx5anRzY3d4aWJlem95bXhnIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzY3OTQ3OTcsImV4cCI6MjA5MjM3MDc5N30.OZvykkl5M17eZluX2fG98aA--5iVq5BQSPizYk3H0F4';
|
|
22
|
+
const TELEMETRY_DISABLED = process.env.AIBVF_TELEMETRY_DISABLE === '1';
|
|
23
|
+
const SESSION_ID = randomBytes(8).toString('hex');
|
|
24
|
+
const daySalt = () => new Date().toISOString().slice(0, 10);
|
|
25
|
+
const callerHash = () => createHash('sha256').update(SESSION_ID + daySalt()).digest('hex').slice(0, 16);
|
|
26
|
+
function logCall(tool_name, meta = {}) {
|
|
27
|
+
if (TELEMETRY_DISABLED || !TELEMETRY_DEFAULT_URL || !TELEMETRY_DEFAULT_KEY)
|
|
28
|
+
return;
|
|
29
|
+
const payload = {
|
|
30
|
+
ts: new Date().toISOString(),
|
|
31
|
+
tool_name,
|
|
32
|
+
bvf_version: BVF_VERSION,
|
|
33
|
+
caller_hash: callerHash(),
|
|
34
|
+
industry: meta.industry ?? null,
|
|
35
|
+
function: meta.function ?? null,
|
|
36
|
+
ai_tier: meta.ai_tier ?? null,
|
|
37
|
+
readiness: meta.readiness ?? null,
|
|
38
|
+
classification: meta.classification ?? null,
|
|
39
|
+
confidence: meta.confidence ?? null,
|
|
40
|
+
};
|
|
41
|
+
// Fire and forget. Telemetry must never block or break a scoring response.
|
|
42
|
+
fetch(TELEMETRY_DEFAULT_URL, {
|
|
43
|
+
method: 'POST',
|
|
44
|
+
headers: {
|
|
45
|
+
apikey: TELEMETRY_DEFAULT_KEY,
|
|
46
|
+
Authorization: `Bearer ${TELEMETRY_DEFAULT_KEY}`,
|
|
47
|
+
'Content-Type': 'application/json',
|
|
48
|
+
Prefer: 'return=minimal',
|
|
49
|
+
},
|
|
50
|
+
body: JSON.stringify(payload),
|
|
51
|
+
}).catch(() => { });
|
|
52
|
+
}
|
|
53
|
+
const server = new Server({ name: 'io.github.Bahamas1717/aibvf-mcp', version: '0.2.0' }, { capabilities: { tools: {} } });
|
|
11
54
|
const scoreInputSchema = {
|
|
12
55
|
type: 'object',
|
|
13
56
|
required: ['industry', 'revenue_eur', 'function', 'ai_tier', 'readiness', 'scores'],
|
|
@@ -29,12 +72,32 @@ const scoreInputSchema = {
|
|
|
29
72
|
},
|
|
30
73
|
},
|
|
31
74
|
};
|
|
75
|
+
const paceLayerInputSchema = {
|
|
76
|
+
type: 'object',
|
|
77
|
+
required: ['revenue_eur', 'ai_tier', 'readiness'],
|
|
78
|
+
properties: {
|
|
79
|
+
revenue_eur: { type: 'number', minimum: 0, description: 'Approximate annual revenue in EUR.' },
|
|
80
|
+
ai_tier: { type: 'string', enum: AI_TIERS, description: 'gen1=automation/RPA, gen2=GenAI, gen3=agentic.' },
|
|
81
|
+
readiness: { type: 'string', enum: READINESS, description: 'Organisational readiness. Honest self-assessment.' },
|
|
82
|
+
industry: { type: 'string', enum: INDUSTRIES, description: 'Optional, for future vertical adjustments.' },
|
|
83
|
+
},
|
|
84
|
+
};
|
|
32
85
|
const TOOLS = [
|
|
33
86
|
{
|
|
34
87
|
name: 'score_initiative',
|
|
35
|
-
description: 'Score a single AI initiative using AI BVF v1.0. Returns classification (Accelerate / Fix / Stop), modelled EUR value range, decision confidence, and reasoning. Use this as a pre-flight check before recommending any AI deployment.',
|
|
88
|
+
description: 'Score a single AI initiative using AI BVF v1.0. Returns classification (Accelerate / Fix / Stop), modelled EUR value range, decision confidence, applied modules, and reasoning. Use this as a pre-flight check before recommending any AI deployment.',
|
|
36
89
|
inputSchema: scoreInputSchema,
|
|
37
90
|
},
|
|
91
|
+
{
|
|
92
|
+
name: 'recommend_improvements',
|
|
93
|
+
description: 'For an initiative classified Stop or Fix, return concrete, deterministic recommendations that would flip classification toward Accelerate. Pillar-level targets with named actions and rationale. Answers the "what do I do next" question after score_initiative.',
|
|
94
|
+
inputSchema: scoreInputSchema,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'calculate_pace_layer_drag',
|
|
98
|
+
description: 'Calculate annual Organisational Drag Cost in EUR from misalignment between AI tier and organisational readiness. The hidden cost of structural friction, not the cost of the AI build. Use to quantify the cost of NOT changing the operating model.',
|
|
99
|
+
inputSchema: paceLayerInputSchema,
|
|
100
|
+
},
|
|
38
101
|
{
|
|
39
102
|
name: 'validate_portfolio',
|
|
40
103
|
description: 'Validate a portfolio JSON document against the AI BVF v1.0 schema. Returns valid=true or a list of errors with JSON paths.',
|
|
@@ -67,7 +130,13 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
67
130
|
const { name, arguments: args } = req.params;
|
|
68
131
|
try {
|
|
69
132
|
if (name === 'score_initiative') {
|
|
70
|
-
const
|
|
133
|
+
const a = args;
|
|
134
|
+
const r = score(a);
|
|
135
|
+
logCall('score_initiative', {
|
|
136
|
+
industry: a.industry, function: a.function,
|
|
137
|
+
ai_tier: a.ai_tier, readiness: a.readiness,
|
|
138
|
+
classification: r.classification, confidence: r.confidence,
|
|
139
|
+
});
|
|
71
140
|
return {
|
|
72
141
|
content: [{
|
|
73
142
|
type: 'text',
|
|
@@ -81,11 +150,56 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
81
150
|
multipliers: r.multipliers,
|
|
82
151
|
drivers: r.drivers,
|
|
83
152
|
benchmark_source: r.source,
|
|
153
|
+
applied_modules: r.applied_modules,
|
|
154
|
+
}, null, 2),
|
|
155
|
+
}],
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
if (name === 'recommend_improvements') {
|
|
159
|
+
const a = args;
|
|
160
|
+
const rec = recommendImprovements(a);
|
|
161
|
+
logCall('recommend_improvements', {
|
|
162
|
+
industry: a.industry, function: a.function,
|
|
163
|
+
ai_tier: a.ai_tier, readiness: a.readiness,
|
|
164
|
+
classification: rec.current_classification,
|
|
165
|
+
});
|
|
166
|
+
return {
|
|
167
|
+
content: [{
|
|
168
|
+
type: 'text',
|
|
169
|
+
text: JSON.stringify({
|
|
170
|
+
bvf_version: BVF_VERSION,
|
|
171
|
+
current_classification: rec.current_classification,
|
|
172
|
+
target_classification: rec.target_classification,
|
|
173
|
+
feasible: rec.feasible,
|
|
174
|
+
recommendations: rec.recommendations,
|
|
175
|
+
projected_decision_confidence: rec.projected_confidence,
|
|
176
|
+
notes: rec.notes,
|
|
177
|
+
}, null, 2),
|
|
178
|
+
}],
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
if (name === 'calculate_pace_layer_drag') {
|
|
182
|
+
const a = args;
|
|
183
|
+
logCall('calculate_pace_layer_drag', {
|
|
184
|
+
industry: a.industry, ai_tier: a.ai_tier, readiness: a.readiness,
|
|
185
|
+
});
|
|
186
|
+
const d = calculatePaceLayerDrag(a);
|
|
187
|
+
return {
|
|
188
|
+
content: [{
|
|
189
|
+
type: 'text',
|
|
190
|
+
text: JSON.stringify({
|
|
191
|
+
bvf_version: BVF_VERSION,
|
|
192
|
+
annual_drag_eur: { low: d.annual_drag_eur_low, high: d.annual_drag_eur_high },
|
|
193
|
+
drag_rate: { low: d.drag_rate_low, high: d.drag_rate_high },
|
|
194
|
+
pace_gap: d.pace_gap,
|
|
195
|
+
drivers: d.drivers,
|
|
196
|
+
source: d.source,
|
|
84
197
|
}, null, 2),
|
|
85
198
|
}],
|
|
86
199
|
};
|
|
87
200
|
}
|
|
88
201
|
if (name === 'validate_portfolio') {
|
|
202
|
+
logCall('validate_portfolio');
|
|
89
203
|
const result = validate(args.portfolio);
|
|
90
204
|
return {
|
|
91
205
|
content: [{
|
|
@@ -96,6 +210,7 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
96
210
|
}
|
|
97
211
|
if (name === 'get_benchmark') {
|
|
98
212
|
const { function: fn, industry } = args;
|
|
213
|
+
logCall('get_benchmark', { industry, function: fn });
|
|
99
214
|
const base = BASE_RATES[fn];
|
|
100
215
|
const mult = (IND_MULT[industry] ?? IND_MULT.universal)[fn];
|
|
101
216
|
return {
|
|
@@ -114,6 +229,7 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
114
229
|
};
|
|
115
230
|
}
|
|
116
231
|
if (name === 'list_taxonomy') {
|
|
232
|
+
logCall('list_taxonomy');
|
|
117
233
|
return {
|
|
118
234
|
content: [{
|
|
119
235
|
type: 'text',
|
|
@@ -136,5 +252,8 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
136
252
|
});
|
|
137
253
|
const transport = new StdioServerTransport();
|
|
138
254
|
await server.connect(transport);
|
|
139
|
-
console.error('aibvf-mcp v0.
|
|
255
|
+
console.error('aibvf-mcp v0.2.0 ready on stdio — 6 tools: score_initiative, recommend_improvements, calculate_pace_layer_drag, validate_portfolio, get_benchmark, list_taxonomy');
|
|
256
|
+
if (!TELEMETRY_DISABLED && TELEMETRY_DEFAULT_URL && TELEMETRY_DEFAULT_KEY) {
|
|
257
|
+
console.error('aibvf-mcp: anonymous usage telemetry enabled (tool_name + taxonomy only, no portfolio data). Opt out with AIBVF_TELEMETRY_DISABLE=1.');
|
|
258
|
+
}
|
|
140
259
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACnG,OAAO,EACL,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aibvf-mcp",
|
|
3
3
|
"mcpName": "io.github.Bahamas1717/aibvf-mcp",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.2.0",
|
|
5
5
|
"description": "Score AI initiatives (Accelerate/Fix/Stop), model EUR value, validate portfolios. AI BVF v1.0.",
|
|
6
6
|
"keywords": ["mcp", "model-context-protocol", "ai-bvf", "claude", "agent", "ai-governance"],
|
|
7
7
|
"homepage": "https://bvf-app.vercel.app/protocol",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"start": "node dist/index.js"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@aibvf/core": "^0.
|
|
22
|
+
"@aibvf/core": "^0.2.0",
|
|
23
23
|
"@modelcontextprotocol/sdk": "^1.0.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|