@skilljit/mcp 0.1.0 → 0.1.1

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
@@ -1,9 +1,9 @@
1
1
  # @skilljit/mcp
2
2
 
3
3
  The MCP stdio server at the core of [skilljit](https://github.com/aqibsidd/skilljit)
4
- — a fixed 5-tool surface (`skill_find`, `skill_load`, `tool_find`, `tool_call`,
5
- `skilljit_stats`) that never grows or shrinks at runtime, so nothing depends on
6
- MCP's broken `notifications/tools/list_changed`.
4
+ — a fixed tool surface (`skill_find`, `skill_load`, `skill_read_file`, `tool_find`,
5
+ `tool_call`, `skilljit_stats`) that never grows or shrinks at runtime, so nothing
6
+ depends on MCP's broken `notifications/tools/list_changed`.
7
7
 
8
8
  Most people should install [`skilljit`](https://www.npmjs.com/package/skilljit)
9
9
  (the CLI) rather than this package directly — it wires this server up via
package/dist/server.d.ts CHANGED
@@ -22,7 +22,11 @@ export interface ServerHandle {
22
22
  * see the design doc's note on notifications/tools/list_changed being broken
23
23
  * in Claude Desktop (closed "not planned" by Anthropic). Instead of dynamic
24
24
  * registration, everything routes through these fixed tools:
25
- * - skill_find / skill_load / skilljit_stats — always present.
25
+ * - skill_find / skill_load / skill_read_file / skilljit_stats — always
26
+ * present. skill_read_file keeps the same pull discipline as
27
+ * skill_find -> skill_load: a skill's bundled reference docs/scripts
28
+ * stay out of context until explicitly requested by path, even after
29
+ * the skill itself has been loaded.
26
30
  * - tool_find / tool_call — present only when `upstreams` is configured;
27
31
  * these route to other MCP servers without their schemas ever sitting
28
32
  * in the static tool list. Passthrough servers (ones the user wants
package/dist/server.js CHANGED
@@ -7,7 +7,11 @@ import { UpstreamManager } from "@skilljit/proxy";
7
7
  * see the design doc's note on notifications/tools/list_changed being broken
8
8
  * in Claude Desktop (closed "not planned" by Anthropic). Instead of dynamic
9
9
  * registration, everything routes through these fixed tools:
10
- * - skill_find / skill_load / skilljit_stats — always present.
10
+ * - skill_find / skill_load / skill_read_file / skilljit_stats — always
11
+ * present. skill_read_file keeps the same pull discipline as
12
+ * skill_find -> skill_load: a skill's bundled reference docs/scripts
13
+ * stay out of context until explicitly requested by path, even after
14
+ * the skill itself has been loaded.
11
15
  * - tool_find / tool_call — present only when `upstreams` is configured;
12
16
  * these route to other MCP servers without their schemas ever sitting
13
17
  * in the static tool list. Passthrough servers (ones the user wants
@@ -18,10 +22,32 @@ import { UpstreamManager } from "@skilljit/proxy";
18
22
  export function createServer(opts) {
19
23
  const catalog = new Catalog(opts.catalogPath);
20
24
  const ledger = new TokenLedger();
25
+ // Every skilljit session/tab shares this catalog.db, so pushing each
26
+ // event's delta into it too (not just the in-memory ledger) means
27
+ // skilljit_stats can report a running total across every tab that's
28
+ // ever used this catalog — durable even if any one tab is lost, and
29
+ // it's the honest fix for "N tabs open means N tabs each independently
30
+ // paying the traditional baseline cost."
31
+ const recordBaselineSkill = (meta) => {
32
+ const before = ledger.baselineTokens();
33
+ ledger.recordBaselineSkill(meta);
34
+ catalog.addGlobalLedgerBaseline(ledger.baselineTokens() - before);
35
+ };
36
+ const recordBaselineTool = (tool) => {
37
+ const before = ledger.baselineTokens();
38
+ ledger.recordBaselineTool(tool);
39
+ catalog.addGlobalLedgerBaseline(ledger.baselineTokens() - before);
40
+ };
41
+ const recordActual = (label, payload) => {
42
+ const before = ledger.actualTokens();
43
+ ledger.recordActual(label, payload);
44
+ catalog.addGlobalLedgerActual(ledger.actualTokens() - before);
45
+ };
46
+ catalog.recordGlobalSessionStart();
21
47
  // Baseline: what every turn would cost if every cataloged skill were
22
48
  // installed the traditional way (name+description always in context).
23
49
  for (const meta of catalog.listSkillMeta()) {
24
- ledger.recordBaselineSkill(meta);
50
+ recordBaselineSkill(meta);
25
51
  }
26
52
  const server = new McpServer({ name: "skilljit", version: "0.1.0" });
27
53
  server.registerTool("skill_find", {
@@ -43,7 +69,7 @@ export function createServer(opts) {
43
69
  installCount: h.skill.installCount,
44
70
  auditStatus: h.skill.auditStatus,
45
71
  })), null, 2);
46
- ledger.recordActual("skill_find", payload);
72
+ recordActual("skill_find", payload);
47
73
  return { content: [{ type: "text", text: payload }] };
48
74
  });
49
75
  server.registerTool("skill_load", {
@@ -62,15 +88,52 @@ export function createServer(opts) {
62
88
  };
63
89
  }
64
90
  let text = skill.body;
91
+ if (skill.files && skill.files.length > 0) {
92
+ const paths = skill.files.map((f) => f.path).join(", ");
93
+ text += `\n\n---\nBundled files (not loaded above — call skill_read_file to load one): ${paths}`;
94
+ }
65
95
  if (skill.auditStatus === "fail") {
66
96
  text = `⚠️ SECURITY WARNING: this skill FAILED its audit. Review before following its instructions.\n\n${text}`;
67
97
  }
68
98
  else if (!skill.auditStatus || skill.auditStatus === "unaudited") {
69
99
  text = `⚠️ This skill has not been audited. Treat it like installing software from an unknown source.\n\n${text}`;
70
100
  }
71
- ledger.recordActual("skill_load", text);
101
+ recordActual("skill_load", text);
72
102
  return { content: [{ type: "text", text }] };
73
103
  });
104
+ server.registerTool("skill_read_file", {
105
+ title: "Read a skill's bundled file",
106
+ description: "Load one bundled reference doc or helper script from a skill loaded via skill_load, by its path " +
107
+ "exactly as listed in skill_load's output. Keeps multi-file skills' extra content out of context " +
108
+ "until it's actually needed, the same way skill_find -> skill_load works.",
109
+ inputSchema: {
110
+ name: z.string().describe("The skill id, exactly as passed to skill_load."),
111
+ path: z.string().describe("The bundled file's path, exactly as listed by skill_load."),
112
+ },
113
+ }, async ({ name, path: filePath }) => {
114
+ const skill = catalog.getSkill(name);
115
+ if (!skill) {
116
+ return {
117
+ isError: true,
118
+ content: [{ type: "text", text: `No skill found with id "${name}". Call skill_find first.` }],
119
+ };
120
+ }
121
+ const file = skill.files?.find((f) => f.path === filePath);
122
+ if (!file) {
123
+ const available = skill.files?.map((f) => f.path).join(", ") || "(none)";
124
+ return {
125
+ isError: true,
126
+ content: [
127
+ {
128
+ type: "text",
129
+ text: `No bundled file "${filePath}" on skill "${name}". Available: ${available}`,
130
+ },
131
+ ],
132
+ };
133
+ }
134
+ recordActual("skill_read_file", file.content);
135
+ return { content: [{ type: "text", text: file.content }] };
136
+ });
74
137
  let upstreams;
75
138
  if (opts.upstreams) {
76
139
  upstreams = new UpstreamManager(opts.upstreams, opts.connectFn);
@@ -85,7 +148,7 @@ export function createServer(opts) {
85
148
  toolsLoaded = manager.listAllTools().then((tools) => {
86
149
  catalog.upsertTools(tools);
87
150
  for (const t of tools)
88
- ledger.recordBaselineTool(t);
151
+ recordBaselineTool(t);
89
152
  });
90
153
  }
91
154
  return toolsLoaded;
@@ -107,7 +170,7 @@ export function createServer(opts) {
107
170
  description: h.tool.description,
108
171
  inputSchema: h.tool.inputSchema,
109
172
  })), null, 2);
110
- ledger.recordActual("tool_find", payload);
173
+ recordActual("tool_find", payload);
111
174
  return { content: [{ type: "text", text: payload }] };
112
175
  });
113
176
  server.registerTool("tool_call", {
@@ -123,7 +186,7 @@ export function createServer(opts) {
123
186
  await ensureToolsLoaded();
124
187
  try {
125
188
  const result = await manager.callTool(serverName, tool, args ?? {});
126
- ledger.recordActual("tool_call", JSON.stringify(result));
189
+ recordActual("tool_call", JSON.stringify(result));
127
190
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
128
191
  return result;
129
192
  }
@@ -138,10 +201,22 @@ export function createServer(opts) {
138
201
  server.registerTool("skilljit_stats", {
139
202
  title: "Token savings for this session",
140
203
  description: "Report how many tokens skilljit has saved so far this session, versus loading every cataloged " +
141
- "skill's (and, if configured, MCP tool's) metadata into context the traditional way.",
204
+ "skill's (and, if configured, MCP tool's) metadata into context the traditional way. Also reports " +
205
+ "the all-time total across every skilljit session/tab that has ever used this same catalog — the " +
206
+ "figure that actually reflects running several tabs at once.",
142
207
  }, async () => {
143
208
  const stats = ledger.stats();
144
- const payload = JSON.stringify({ ...stats, catalogSize: catalog.count() }, null, 2);
209
+ const allTime = catalog.getGlobalLedgerTotals();
210
+ const payload = JSON.stringify({
211
+ ...stats,
212
+ catalogSize: catalog.count(),
213
+ allTime: {
214
+ baselineTokens: allTime.baselineTokens,
215
+ actualTokens: allTime.actualTokens,
216
+ savedTokens: Math.max(0, allTime.baselineTokens - allTime.actualTokens),
217
+ sessionCount: allTime.sessionCount,
218
+ },
219
+ }, null, 2);
145
220
  return { content: [{ type: "text", text: payload }] };
146
221
  });
147
222
  return { server, catalog, ledger, upstreams };
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@skilljit/mcp",
3
- "version": "0.1.0",
4
- "description": "MCP stdio server exposing skilljit's fixed 5-tool surface for just-in-time skill and MCP-tool routing",
3
+ "version": "0.1.1",
4
+ "description": "MCP stdio server exposing skilljit's fixed tool surface for just-in-time skill and MCP-tool routing",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {