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 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
- const server = new Server({ name: 'io.github.Bahamas1717/aibvf-mcp', version: '0.1.3' }, { capabilities: { tools: {} } });
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 r = score(args);
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.1.3 ready on stdio');
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,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,qBAAqB,EAAE,sBAAsB,EAC9D,UAAU,EAAE,QAAQ,EACpB,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,GACxD,MAAM,aAAa,CAAC;AAErB,8EAA8E;AAC9E,6BAA6B;AAC7B,6EAA6E;AAC7E,6EAA6E;AAC7E,0CAA0C;AAC1C,+EAA+E;AAC/E,8EAA8E;AAC9E,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB;OACxD,4DAA4D,CAAC;AAClE,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB;OACxD,kNAAkN,CAAC;AACxN,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,CAAC;AAEvE,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5D,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEjF,SAAS,OAAO,CAAC,SAAiB,EAAE,OAAgC,EAAE;IACpE,IAAI,kBAAkB,IAAI,CAAC,qBAAqB,IAAI,CAAC,qBAAqB;QAAE,OAAO;IACnF,MAAM,OAAO,GAAG;QACd,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5B,SAAS;QACT,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,UAAU,EAAE;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;QAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;QACjC,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;QAC3C,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;KACpC,CAAC;IACF,2EAA2E;IAC3E,KAAK,CAAC,qBAAqB,EAAE;QAC3B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,MAAM,EAAE,qBAAqB;YAC7B,aAAa,EAAE,UAAU,qBAAqB,EAAE;YAChD,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,gBAAgB;SACzB;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAiB,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,OAAO,EAAE,EAC7D,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;IACnF,UAAU,EAAE;QACV,QAAQ,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,6CAA6C,EAAE;QAC7G,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE;QAC9F,QAAQ,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8CAA8C,EAAE;QAC7G,OAAO,EAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;QAC9G,SAAS,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mDAAmD,EAAE;QAClH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;YAC7F,UAAU,EAAE;gBACV,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,mDAAmD,EAAE;gBACnI,gBAAgB,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBACtH,iBAAiB,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,+CAA+C,EAAE;gBAC/H,eAAe,EAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,iEAAiE,EAAE;aAClJ;SACF;KACF;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC;IACjD,UAAU,EAAE;QACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE;QAC9F,OAAO,EAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;QAC9G,SAAS,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mDAAmD,EAAE;QAClH,QAAQ,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,4CAA4C,EAAE;KAC7G;CACF,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,wPAAwP;QACrQ,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,oQAAoQ;QACjR,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,sPAAsP;QACnQ,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,4HAA4H;QACzI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE,EAAE;SACvG;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,qJAAqJ;QAClK,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;YAClC,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/C;SACF;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sGAAsG;QACnH,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;CACF,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE7C,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAW,CAAC;YACtB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,kBAAkB,EAAE;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBAC1C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;gBAC1C,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;aAC3D,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,WAAW,EAAE,WAAW;4BACxB,cAAc,EAAE,CAAC,CAAC,cAAc;4BAChC,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE;4BAC3D,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc,EAAE;4BACjE,mBAAmB,EAAE,CAAC,CAAC,UAAU;4BACjC,WAAW,EAAE,CAAC,CAAC,WAAW;4BAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,gBAAgB,EAAE,CAAC,CAAC,MAAM;4BAC1B,eAAe,EAAE,CAAC,CAAC,eAAe;yBACnC,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,IAAW,CAAC;YACtB,MAAM,GAAG,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,wBAAwB,EAAE;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBAC1C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;gBAC1C,cAAc,EAAE,GAAG,CAAC,sBAAsB;aAC3C,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,WAAW,EAAE,WAAW;4BACxB,sBAAsB,EAAE,GAAG,CAAC,sBAAsB;4BAClD,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;4BAChD,QAAQ,EAAE,GAAG,CAAC,QAAQ;4BACtB,eAAe,EAAE,GAAG,CAAC,eAAe;4BACpC,6BAA6B,EAAE,GAAG,CAAC,oBAAoB;4BACvD,KAAK,EAAE,GAAG,CAAC,KAAK;yBACjB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,IAAW,CAAC;YACtB,OAAO,CAAC,2BAA2B,EAAE;gBACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;aACjE,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,WAAW,EAAE,WAAW;4BACxB,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,oBAAoB,EAAE;4BAC7E,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc,EAAE;4BAC3D,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,MAAM,EAAE,CAAC,CAAC,MAAM;yBACjB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAClC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,QAAQ,CAAE,IAAY,CAAC,SAAS,CAAC,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACvE,CAAC;aACH,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAW,CAAC;YAC/C,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,QAAQ,EAAE,EAAE;4BACZ,QAAQ;4BACR,oBAAoB,EAAE,IAAI,CAAC,GAAG;4BAC9B,kBAAkB,EAAE,IAAI,CAAC,IAAI;4BAC7B,mBAAmB,EAAE,IAAI;4BACzB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,MAAM,EAAE,IAAI,CAAC,MAAM;yBACpB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,OAAO,CAAC,eAAe,CAAC,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,WAAW,EAAE,WAAW;4BACxB,UAAU,EAAE,UAAU;4BACtB,SAAS,EAAE,SAAS;4BACpB,QAAQ,EAAE,QAAQ;4BAClB,SAAS,EAAE,SAAS;yBACrB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/E,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAChC,OAAO,CAAC,KAAK,CAAC,kKAAkK,CAAC,CAAC;AAClL,IAAI,CAAC,kBAAkB,IAAI,qBAAqB,IAAI,qBAAqB,EAAE,CAAC;IAC1E,OAAO,CAAC,KAAK,CAAC,sIAAsI,CAAC,CAAC;AACxJ,CAAC"}
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.1.3",
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.1.1",
22
+ "@aibvf/core": "^0.2.0",
23
23
  "@modelcontextprotocol/sdk": "^1.0.0"
24
24
  },
25
25
  "devDependencies": {