@skills-hub-ai/mcp 0.1.0 → 0.1.2

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,4 +1,4 @@
1
- import { type ParsedSkill } from "@skills-hub/skill-parser";
1
+ import { type ParsedSkill } from "@skills-hub-ai/skill-parser";
2
2
  /** Discover all installed skills, cached for 30s */
3
3
  export declare function discoverSkills(): Map<string, ParsedSkill>;
4
4
  /** Clear the discovery cache (for testing) */
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA0C1E,oDAAoD;AACpD,wBAAgB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAczD;AAED,8CAA8C;AAC9C,wBAAgB,UAAU,IAAI,IAAI,CAGjC"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAC;AA0C7E,oDAAoD;AACpD,wBAAgB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAczD;AAED,8CAA8C;AAC9C,wBAAgB,UAAU,IAAI,IAAI,CAGjC"}
package/dist/discover.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readdirSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { homedir } from "node:os";
4
- import { parseSkillMd } from "@skills-hub/skill-parser";
4
+ import { parseSkillMd } from "@skills-hub-ai/skill-parser";
5
5
  const CACHE_TTL_MS = 30_000;
6
6
  let cache = null;
7
7
  let cacheTime = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAoB,MAAM,0BAA0B,CAAC;AAE1E,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,IAAI,KAAK,GAAoC,IAAI,CAAC;AAClD,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,gDAAgD;AAChD,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAS,OAAO,CAAC,GAAW,EAAE,GAA6B;IACzD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAE7B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QAEnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,qCAAqC;QAElE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAErC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACnC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,KAAK,IAAI,GAAG,GAAG,SAAS,GAAG,YAAY,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,GAAG,MAAM,CAAC;IACf,SAAS,GAAG,GAAG,CAAC;IAChB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,UAAU;IACxB,KAAK,GAAG,IAAI,CAAC;IACb,SAAS,GAAG,CAAC,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAoB,MAAM,6BAA6B,CAAC;AAE7E,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,IAAI,KAAK,GAAoC,IAAI,CAAC;AAClD,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,gDAAgD;AAChD,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAS,OAAO,CAAC,GAAW,EAAE,GAA6B;IACzD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAE7B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QAEnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,qCAAqC;QAElE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAErC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACnC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,KAAK,IAAI,GAAG,GAAG,SAAS,GAAG,YAAY,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,GAAG,MAAM,CAAC;IACf,SAAS,GAAG,GAAG,CAAC;IAChB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,UAAU;IACxB,KAAK,GAAG,IAAI,CAAC;IACb,SAAS,GAAG,CAAC,CAAC;AAChB,CAAC"}
package/dist/index.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,33 +1,45 @@
1
1
  {
2
2
  "name": "@skills-hub-ai/mcp",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "MCP server for skills-hub.ai — serve installed skills as prompts in any MCP-compatible AI tool",
5
5
  "license": "MIT",
6
- "keywords": ["mcp", "model-context-protocol", "claude-code", "cursor", "skills", "ai", "prompts"],
6
+ "keywords": [
7
+ "mcp",
8
+ "model-context-protocol",
9
+ "claude-code",
10
+ "cursor",
11
+ "skills",
12
+ "ai",
13
+ "prompts"
14
+ ],
7
15
  "repository": {
8
16
  "type": "git",
9
17
  "url": "https://github.com/tinh2/skills-hub.git",
10
18
  "directory": "apps/mcp"
11
19
  },
12
20
  "homepage": "https://skills-hub.ai",
21
+ "files": [
22
+ "dist",
23
+ "src"
24
+ ],
13
25
  "type": "module",
14
26
  "bin": {
15
27
  "skills-hub-mcp": "dist/index.js"
16
28
  },
17
- "scripts": {
18
- "dev": "tsx src/index.ts",
19
- "build": "tsc",
20
- "test": "vitest run --passWithNoTests",
21
- "lint": "tsc --noEmit"
22
- },
23
29
  "dependencies": {
24
30
  "@modelcontextprotocol/sdk": "^1.27.1",
25
- "@skills-hub/skill-parser": "workspace:*"
31
+ "@skills-hub-ai/skill-parser": "0.1.0"
26
32
  },
27
33
  "devDependencies": {
28
34
  "@types/node": "^22.0.0",
29
35
  "tsx": "^4.0.0",
30
36
  "typescript": "^5.7.0",
31
37
  "vitest": "^2.0.0"
38
+ },
39
+ "scripts": {
40
+ "dev": "tsx src/index.ts",
41
+ "build": "tsc",
42
+ "test": "vitest run --passWithNoTests",
43
+ "lint": "tsc --noEmit"
32
44
  }
33
- }
45
+ }
package/src/discover.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readdirSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { homedir } from "node:os";
4
- import { parseSkillMd, type ParsedSkill } from "@skills-hub/skill-parser";
4
+ import { parseSkillMd, type ParsedSkill } from "@skills-hub-ai/skill-parser";
5
5
 
6
6
  const CACHE_TTL_MS = 30_000;
7
7
 
package/src/index.test.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect, vi, beforeEach } from "vitest";
2
- import type { ParsedSkill } from "@skills-hub/skill-parser";
2
+ import type { ParsedSkill } from "@skills-hub-ai/skill-parser";
3
3
 
4
4
  vi.mock("./discover.js", () => ({
5
5
  discoverSkills: vi.fn(),
@@ -1,4 +0,0 @@
1
-
2
- > @skills-hub-ai/mcp@0.1.0 build /Users/thole/personal/skills-hub/apps/mcp
3
- > tsc
4
-
@@ -1,15 +0,0 @@
1
-
2
- > @skills-hub-ai/mcp@0.1.0 test /Users/thole/personal/skills-hub/apps/mcp
3
- > vitest run --passWithNoTests
4
-
5
-
6
- RUN v2.1.9 /Users/thole/personal/skills-hub/apps/mcp
7
-
8
- ✓ src/index.test.ts (6 tests) 582ms
9
- ✓ src/discover.test.ts (8 tests) 8ms
10
-
11
- Test Files 2 passed (2)
12
- Tests 14 passed (14)
13
- Start at 17:33:09
14
- Duration 3.22s (transform 1.41s, setup 0ms, collect 1.91s, tests 590ms, environment 0ms, prepare 611ms)
15
-
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=discover.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover.test.d.ts","sourceRoot":"","sources":["../src/discover.test.ts"],"names":[],"mappings":""}
@@ -1,129 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from "vitest";
2
- import { existsSync, readdirSync, readFileSync } from "node:fs";
3
- vi.mock("node:fs", () => ({
4
- existsSync: vi.fn(() => false),
5
- readdirSync: vi.fn(() => []),
6
- readFileSync: vi.fn(() => ""),
7
- }));
8
- vi.mock("node:os", () => ({
9
- homedir: vi.fn(() => "/home/user"),
10
- }));
11
- import { discoverSkills, clearCache } from "./discover.js";
12
- const mockExistsSync = vi.mocked(existsSync);
13
- const mockReaddirSync = vi.mocked(readdirSync);
14
- const mockReadFileSync = vi.mocked(readFileSync);
15
- const validSkillMd = `---
16
- name: Code Review
17
- description: Automated code review for quality and best practices
18
- version: 1.0.0
19
- ---
20
-
21
- Review the code carefully and suggest improvements.
22
- `;
23
- const anotherSkillMd = `---
24
- name: Security Scan
25
- description: Scan code for security vulnerabilities and common exploits
26
- version: 2.0.0
27
- ---
28
-
29
- Check for OWASP top 10 vulnerabilities.
30
- `;
31
- function makeDirent(name) {
32
- return { name, isDirectory: () => true, isFile: () => false };
33
- }
34
- beforeEach(() => {
35
- vi.clearAllMocks();
36
- clearCache();
37
- });
38
- describe("discoverSkills", () => {
39
- it("discovers skills from claude skills directory", () => {
40
- mockExistsSync.mockImplementation((p) => {
41
- const s = String(p);
42
- return s === "/home/user/.claude/skills" || s.endsWith("SKILL.md");
43
- });
44
- mockReaddirSync.mockReturnValue([makeDirent("code-review")]);
45
- mockReadFileSync.mockReturnValue(validSkillMd);
46
- const skills = discoverSkills();
47
- expect(skills.size).toBe(1);
48
- expect(skills.has("code-review")).toBe(true);
49
- expect(skills.get("code-review").name).toBe("Code Review");
50
- expect(skills.get("code-review").instructions).toContain("Review the code carefully");
51
- });
52
- it("discovers skills from cursor skills directory", () => {
53
- mockExistsSync.mockImplementation((p) => {
54
- const s = String(p);
55
- return s === "/home/user/.cursor/skills" || s.endsWith("SKILL.md");
56
- });
57
- mockReaddirSync.mockReturnValue([makeDirent("security-scan")]);
58
- mockReadFileSync.mockReturnValue(anotherSkillMd);
59
- const skills = discoverSkills();
60
- expect(skills.size).toBe(1);
61
- expect(skills.has("security-scan")).toBe(true);
62
- });
63
- it("scans both directories and deduplicates by slug", () => {
64
- mockExistsSync.mockReturnValue(true);
65
- mockReaddirSync.mockImplementation((dir) => {
66
- const s = String(dir);
67
- if (s.includes(".claude"))
68
- return [makeDirent("code-review")];
69
- if (s.includes(".cursor"))
70
- return [makeDirent("code-review"), makeDirent("security-scan")];
71
- return [];
72
- });
73
- mockReadFileSync.mockImplementation((p) => {
74
- const s = String(p);
75
- if (s.includes("code-review"))
76
- return validSkillMd;
77
- if (s.includes("security-scan"))
78
- return anotherSkillMd;
79
- return "";
80
- });
81
- const skills = discoverSkills();
82
- // code-review from claude wins (first-found), security-scan from cursor
83
- expect(skills.size).toBe(2);
84
- expect(skills.has("code-review")).toBe(true);
85
- expect(skills.has("security-scan")).toBe(true);
86
- });
87
- it("handles missing skills directories", () => {
88
- mockExistsSync.mockReturnValue(false);
89
- const skills = discoverSkills();
90
- expect(skills.size).toBe(0);
91
- });
92
- it("skips directories without SKILL.md", () => {
93
- mockExistsSync.mockImplementation((p) => {
94
- const s = String(p);
95
- // Directory exists but SKILL.md does not
96
- return s === "/home/user/.claude/skills";
97
- });
98
- mockReaddirSync.mockReturnValue([makeDirent("orphan-dir")]);
99
- const skills = discoverSkills();
100
- expect(skills.size).toBe(0);
101
- });
102
- it("skips malformed SKILL.md files", () => {
103
- mockExistsSync.mockReturnValue(true);
104
- mockReaddirSync.mockReturnValue([makeDirent("bad-skill")]);
105
- mockReadFileSync.mockReturnValue("this is not valid frontmatter");
106
- const skills = discoverSkills();
107
- expect(skills.size).toBe(0);
108
- });
109
- it("caches results for subsequent calls", () => {
110
- mockExistsSync.mockReturnValue(true);
111
- mockReaddirSync.mockReturnValue([makeDirent("code-review")]);
112
- mockReadFileSync.mockReturnValue(validSkillMd);
113
- discoverSkills();
114
- discoverSkills();
115
- // readdirSync called once per directory on first call, not on second
116
- expect(mockReaddirSync).toHaveBeenCalledTimes(2); // once for claude, once for cursor
117
- });
118
- it("re-scans after cache is cleared", () => {
119
- mockExistsSync.mockReturnValue(true);
120
- mockReaddirSync.mockReturnValue([makeDirent("code-review")]);
121
- mockReadFileSync.mockReturnValue(validSkillMd);
122
- discoverSkills();
123
- clearCache();
124
- discoverSkills();
125
- // 2 dirs × 2 scans = 4 calls
126
- expect(mockReaddirSync).toHaveBeenCalledTimes(4);
127
- });
128
- });
129
- //# sourceMappingURL=discover.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover.test.js","sourceRoot":"","sources":["../src/discover.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
@@ -1,138 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from "vitest";
2
- vi.mock("./discover.js", () => ({
3
- discoverSkills: vi.fn(),
4
- }));
5
- // Mock the MCP SDK — we test the handler logic, not the transport
6
- vi.mock("@modelcontextprotocol/sdk/server/index.js", () => {
7
- const handlers = new Map();
8
- return {
9
- Server: vi.fn().mockImplementation(() => ({
10
- setRequestHandler: vi.fn((schema, handler) => {
11
- handlers.set(schema.method, handler);
12
- }),
13
- connect: vi.fn(),
14
- _handlers: handlers,
15
- })),
16
- };
17
- });
18
- vi.mock("@modelcontextprotocol/sdk/server/stdio.js", () => ({
19
- StdioServerTransport: vi.fn(),
20
- }));
21
- vi.mock("@modelcontextprotocol/sdk/types.js", () => ({
22
- ListPromptsRequestSchema: { method: "prompts/list" },
23
- GetPromptRequestSchema: { method: "prompts/get" },
24
- ErrorCode: { InvalidRequest: -32600 },
25
- McpError: class McpError extends Error {
26
- code;
27
- constructor(code, message) {
28
- super(message);
29
- this.code = code;
30
- }
31
- },
32
- }));
33
- import { discoverSkills } from "./discover.js";
34
- const mockDiscoverSkills = vi.mocked(discoverSkills);
35
- function makeSkill(name, description, instructions) {
36
- return {
37
- name,
38
- description,
39
- version: "1.0.0",
40
- category: undefined,
41
- platforms: [],
42
- instructions,
43
- raw: "",
44
- };
45
- }
46
- let handlers;
47
- beforeEach(async () => {
48
- vi.clearAllMocks();
49
- // Re-import to trigger module-level server creation
50
- vi.resetModules();
51
- // Re-mock after resetModules
52
- vi.doMock("./discover.js", () => ({
53
- discoverSkills: mockDiscoverSkills,
54
- }));
55
- vi.doMock("@modelcontextprotocol/sdk/server/index.js", () => {
56
- const h = new Map();
57
- handlers = h;
58
- return {
59
- Server: vi.fn().mockImplementation(() => ({
60
- setRequestHandler: vi.fn((schema, handler) => {
61
- h.set(schema.method, handler);
62
- }),
63
- connect: vi.fn(),
64
- })),
65
- };
66
- });
67
- vi.doMock("@modelcontextprotocol/sdk/server/stdio.js", () => ({
68
- StdioServerTransport: vi.fn(),
69
- }));
70
- vi.doMock("@modelcontextprotocol/sdk/types.js", () => ({
71
- ListPromptsRequestSchema: { method: "prompts/list" },
72
- GetPromptRequestSchema: { method: "prompts/get" },
73
- ErrorCode: { InvalidRequest: -32600 },
74
- McpError: class McpError extends Error {
75
- code;
76
- constructor(code, message) {
77
- super(message);
78
- this.code = code;
79
- }
80
- },
81
- }));
82
- // Suppress console.error from main()
83
- vi.spyOn(console, "error").mockImplementation(() => { });
84
- await import("./index.js");
85
- });
86
- describe("MCP server", () => {
87
- it("registers prompts/list and prompts/get handlers", () => {
88
- expect(handlers.has("prompts/list")).toBe(true);
89
- expect(handlers.has("prompts/get")).toBe(true);
90
- });
91
- it("listPrompts returns discovered skills", async () => {
92
- const skills = new Map();
93
- skills.set("code-review", makeSkill("Code Review", "Review code quality", "Review carefully"));
94
- skills.set("security-scan", makeSkill("Security Scan", "Find vulnerabilities", "Check OWASP"));
95
- mockDiscoverSkills.mockReturnValue(skills);
96
- const handler = handlers.get("prompts/list");
97
- const result = (await handler({}));
98
- expect(result.prompts).toHaveLength(2);
99
- expect(result.prompts[0].name).toBe("code-review");
100
- expect(result.prompts[0].description).toBe("Review code quality");
101
- expect(result.prompts[1].name).toBe("security-scan");
102
- });
103
- it("listPrompts returns empty array when no skills installed", async () => {
104
- mockDiscoverSkills.mockReturnValue(new Map());
105
- const handler = handlers.get("prompts/list");
106
- const result = (await handler({}));
107
- expect(result.prompts).toEqual([]);
108
- });
109
- it("getPrompt returns skill instructions", async () => {
110
- const skills = new Map();
111
- skills.set("code-review", makeSkill("Code Review", "Review code quality", "Review carefully"));
112
- mockDiscoverSkills.mockReturnValue(skills);
113
- const handler = handlers.get("prompts/get");
114
- const result = (await handler({
115
- params: { name: "code-review", arguments: {} },
116
- }));
117
- expect(result.description).toBe("Review code quality");
118
- expect(result.messages).toHaveLength(1);
119
- expect(result.messages[0].role).toBe("user");
120
- expect(result.messages[0].content.text).toBe("Review carefully");
121
- });
122
- it("getPrompt appends input argument to instructions", async () => {
123
- const skills = new Map();
124
- skills.set("code-review", makeSkill("Code Review", "Review code quality", "Review carefully"));
125
- mockDiscoverSkills.mockReturnValue(skills);
126
- const handler = handlers.get("prompts/get");
127
- const result = (await handler({
128
- params: { name: "code-review", arguments: { input: "Focus on error handling" } },
129
- }));
130
- expect(result.messages[0].content.text).toBe("Review carefully\n\nFocus on error handling");
131
- });
132
- it("getPrompt throws McpError for unknown skill", async () => {
133
- mockDiscoverSkills.mockReturnValue(new Map());
134
- const handler = handlers.get("prompts/get");
135
- await expect(handler({ params: { name: "nonexistent", arguments: {} } })).rejects.toThrow('Unknown skill: nonexistent');
136
- });
137
- });
138
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
package/tsconfig.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.base.json",
3
- "compilerOptions": {
4
- "outDir": "dist",
5
- "rootDir": "src"
6
- },
7
- "include": ["src/**/*"],
8
- "exclude": ["node_modules", "dist"]
9
- }