@spekoai/mcp 1.0.0 → 1.0.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.
Files changed (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +142 -36
  3. package/dist/index.d.ts +26 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +112 -25
  6. package/package.json +44 -40
  7. package/dist/data/benchmarks.d.ts +0 -124
  8. package/dist/data/benchmarks.d.ts.map +0 -1
  9. package/dist/data/benchmarks.js +0 -176
  10. package/dist/data/benchmarks.js.map +0 -1
  11. package/dist/data/templates.d.ts +0 -39
  12. package/dist/data/templates.d.ts.map +0 -1
  13. package/dist/data/templates.js +0 -385
  14. package/dist/data/templates.js.map +0 -1
  15. package/dist/index.js.map +0 -1
  16. package/dist/lib/api-client.d.ts +0 -71
  17. package/dist/lib/api-client.d.ts.map +0 -1
  18. package/dist/lib/api-client.js +0 -282
  19. package/dist/lib/api-client.js.map +0 -1
  20. package/dist/lib/benchmark-utils.d.ts +0 -45
  21. package/dist/lib/benchmark-utils.d.ts.map +0 -1
  22. package/dist/lib/benchmark-utils.js +0 -244
  23. package/dist/lib/benchmark-utils.js.map +0 -1
  24. package/dist/lib/project-scanner.d.ts +0 -16
  25. package/dist/lib/project-scanner.d.ts.map +0 -1
  26. package/dist/lib/project-scanner.js +0 -154
  27. package/dist/lib/project-scanner.js.map +0 -1
  28. package/dist/lib/tier-gate.d.ts +0 -14
  29. package/dist/lib/tier-gate.d.ts.map +0 -1
  30. package/dist/lib/tier-gate.js +0 -27
  31. package/dist/lib/tier-gate.js.map +0 -1
  32. package/dist/tools/agent-crud.d.ts +0 -3
  33. package/dist/tools/agent-crud.d.ts.map +0 -1
  34. package/dist/tools/agent-crud.js +0 -114
  35. package/dist/tools/agent-crud.js.map +0 -1
  36. package/dist/tools/legacy.d.ts +0 -3
  37. package/dist/tools/legacy.d.ts.map +0 -1
  38. package/dist/tools/legacy.js +0 -354
  39. package/dist/tools/legacy.js.map +0 -1
  40. package/dist/tools/migrate.d.ts +0 -3
  41. package/dist/tools/migrate.d.ts.map +0 -1
  42. package/dist/tools/migrate.js +0 -145
  43. package/dist/tools/migrate.js.map +0 -1
  44. package/dist/tools/recommend.d.ts +0 -3
  45. package/dist/tools/recommend.d.ts.map +0 -1
  46. package/dist/tools/recommend.js +0 -163
  47. package/dist/tools/recommend.js.map +0 -1
  48. package/dist/tools/setup.d.ts +0 -3
  49. package/dist/tools/setup.d.ts.map +0 -1
  50. package/dist/tools/setup.js +0 -104
  51. package/dist/tools/setup.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark-utils.js","sourceRoot":"","sources":["../../src/lib/benchmark-utils.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export type VoiceProviderDetection = "elevenlabs" | "deepgram" | "cartesia" | "openai-audio";
2
- export interface ScanMatch {
3
- provider: VoiceProviderDetection;
4
- file: string;
5
- line: number;
6
- match: string;
7
- snippet: string;
8
- }
9
- export interface ProjectScanResult {
10
- rootDir: string;
11
- filesScanned: number;
12
- packageSignals: Record<VoiceProviderDetection, string[]>;
13
- matches: ScanMatch[];
14
- }
15
- export declare function scanProjectForVoiceSetups(scanDir?: string): Promise<ProjectScanResult>;
16
- //# sourceMappingURL=project-scanner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-scanner.d.ts","sourceRoot":"","sources":["../../src/lib/project-scanner.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAE7F,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAqID,wBAAsB,yBAAyB,CAAC,OAAO,SAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwCzF"}
@@ -1,154 +0,0 @@
1
- import { promises as fs } from "node:fs";
2
- import path from "node:path";
3
- const SKIP_DIRS = new Set([
4
- "node_modules",
5
- ".git",
6
- "dist",
7
- "build",
8
- "coverage",
9
- ".next",
10
- ".turbo",
11
- ".idea",
12
- ".vscode",
13
- ]);
14
- const SCANNABLE_EXTENSIONS = new Set([
15
- ".ts",
16
- ".tsx",
17
- ".js",
18
- ".jsx",
19
- ".mjs",
20
- ".cjs",
21
- ".mts",
22
- ".cts",
23
- ".py",
24
- ]);
25
- const PROVIDER_PACKAGE_MAP = {
26
- elevenlabs: [/^@elevenlabs\//i, /^elevenlabs$/i],
27
- deepgram: [/^@deepgram\/sdk$/i, /^deepgram$/i],
28
- cartesia: [/^@cartesia\//i, /^cartesia$/i],
29
- "openai-audio": [/^openai$/i],
30
- };
31
- const PROVIDER_CONTENT_PATTERNS = [
32
- {
33
- provider: "elevenlabs",
34
- regex: /@elevenlabs\/react|@elevenlabs\/client|\belevenlabs\b|useConversation\s*\(/gi,
35
- },
36
- {
37
- provider: "deepgram",
38
- regex: /@deepgram\/sdk|\bDeepgram\b|\bdeepgram\b/gi,
39
- },
40
- {
41
- provider: "cartesia",
42
- regex: /\bcartesia\b|@cartesia\//gi,
43
- },
44
- {
45
- provider: "openai-audio",
46
- regex: /audio\.transcriptions|audio\.speech|gpt-4o-transcribe|realtime|openai\s*\.audio|new\s+OpenAI\s*\(/gi,
47
- },
48
- ];
49
- function lineForIndex(text, index) {
50
- let line = 1;
51
- for (let i = 0; i < index; i += 1) {
52
- if (text[i] === "\n")
53
- line += 1;
54
- }
55
- return line;
56
- }
57
- function getLineSnippet(text, lineNumber) {
58
- const lines = text.split(/\r?\n/);
59
- return (lines[lineNumber - 1] ?? "").trim().slice(0, 180);
60
- }
61
- async function collectFiles(rootDir) {
62
- const files = [];
63
- const queue = [rootDir];
64
- while (queue.length > 0) {
65
- const current = queue.pop();
66
- if (!current)
67
- continue;
68
- const entries = await fs.readdir(current, { withFileTypes: true });
69
- for (const entry of entries) {
70
- const fullPath = path.join(current, entry.name);
71
- if (entry.isDirectory()) {
72
- if (SKIP_DIRS.has(entry.name))
73
- continue;
74
- queue.push(fullPath);
75
- continue;
76
- }
77
- if (!entry.isFile())
78
- continue;
79
- const extension = path.extname(entry.name);
80
- if (!SCANNABLE_EXTENSIONS.has(extension))
81
- continue;
82
- files.push(fullPath);
83
- }
84
- }
85
- return files;
86
- }
87
- function relative(rootDir, filePath) {
88
- return path.relative(rootDir, filePath) || ".";
89
- }
90
- async function scanPackageSignals(rootDir) {
91
- const packageSignals = {
92
- elevenlabs: [],
93
- deepgram: [],
94
- cartesia: [],
95
- "openai-audio": [],
96
- };
97
- const packageJsonPath = path.join(rootDir, "package.json");
98
- try {
99
- const raw = await fs.readFile(packageJsonPath, "utf8");
100
- const pkg = JSON.parse(raw);
101
- const names = new Set([
102
- ...Object.keys(pkg.dependencies ?? {}),
103
- ...Object.keys(pkg.devDependencies ?? {}),
104
- ]);
105
- for (const depName of names) {
106
- for (const [provider, matchers] of Object.entries(PROVIDER_PACKAGE_MAP)) {
107
- if (matchers.some((matcher) => matcher.test(depName))) {
108
- packageSignals[provider].push(depName);
109
- }
110
- }
111
- }
112
- }
113
- catch {
114
- // ignore missing or invalid package.json
115
- }
116
- return packageSignals;
117
- }
118
- export async function scanProjectForVoiceSetups(scanDir = ".") {
119
- const rootDir = path.resolve(scanDir);
120
- const [files, packageSignals] = await Promise.all([
121
- collectFiles(rootDir),
122
- scanPackageSignals(rootDir),
123
- ]);
124
- const matches = [];
125
- for (const file of files) {
126
- const content = await fs.readFile(file, "utf8");
127
- for (const pattern of PROVIDER_CONTENT_PATTERNS) {
128
- pattern.regex.lastIndex = 0;
129
- let result = pattern.regex.exec(content);
130
- let perFileMatches = 0;
131
- while (result) {
132
- const line = lineForIndex(content, result.index);
133
- matches.push({
134
- provider: pattern.provider,
135
- file: relative(rootDir, file),
136
- line,
137
- match: result[0],
138
- snippet: getLineSnippet(content, line),
139
- });
140
- perFileMatches += 1;
141
- if (perFileMatches >= 3)
142
- break;
143
- result = pattern.regex.exec(content);
144
- }
145
- }
146
- }
147
- return {
148
- rootDir,
149
- filesScanned: files.length,
150
- packageSignals,
151
- matches,
152
- };
153
- }
154
- //# sourceMappingURL=project-scanner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-scanner.js","sourceRoot":"","sources":["../../src/lib/project-scanner.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Tier gating for Speko MCP tools.
3
- *
4
- * Tier 1 (free, no API key): recommend, compare, benchmark, providers, migrate
5
- * Tier 2 (needs SPEKO_API_KEY): setup, agent_create, agent_update, agent_status, health
6
- */
7
- export declare function hasSpekoApiKey(): boolean;
8
- export declare function tier2GateResponse(): {
9
- content: Array<{
10
- type: "text";
11
- text: string;
12
- }>;
13
- };
14
- //# sourceMappingURL=tier-gate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tier-gate.d.ts","sourceRoot":"","sources":["../../src/lib/tier-gate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,iBAAiB,IAAI;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAkBtF"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Tier gating for Speko MCP tools.
3
- *
4
- * Tier 1 (free, no API key): recommend, compare, benchmark, providers, migrate
5
- * Tier 2 (needs SPEKO_API_KEY): setup, agent_create, agent_update, agent_status, health
6
- */
7
- const TIER_GATE_MESSAGE = "This tool requires a Speko API key. Get one free at https://app.speko.ai/\n\n" +
8
- "Set the SPEKO_API_KEY environment variable and try again.";
9
- export function hasSpekoApiKey() {
10
- return !!(process.env.SPEKO_API_KEY || process.env.SPEKO_KEY);
11
- }
12
- export function tier2GateResponse() {
13
- return {
14
- content: [
15
- {
16
- type: "text",
17
- text: JSON.stringify({
18
- status: "error",
19
- reason: "api-key-required",
20
- message: TIER_GATE_MESSAGE,
21
- help: "https://app.speko.ai/",
22
- }, null, 2),
23
- },
24
- ],
25
- };
26
- }
27
- //# sourceMappingURL=tier-gate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tier-gate.js","sourceRoot":"","sources":["../../src/lib/tier-gate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,iBAAiB,GACrB,+EAA+E;IAC/E,2DAA2D,CAAC;AAE9D,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,kBAAkB;oBAC1B,OAAO,EAAE,iBAAiB;oBAC1B,IAAI,EAAE,uBAAuB;iBAC9B,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerAgentCrudTools(server: McpServer): void;
3
- //# sourceMappingURL=agent-crud.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-crud.d.ts","sourceRoot":"","sources":["../../src/tools/agent-crud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAI9D"}
@@ -1,114 +0,0 @@
1
- import * as z from "zod";
2
- import { SpekoApiClient } from "../lib/api-client.js";
3
- import { hasSpekoApiKey, tier2GateResponse } from "../lib/tier-gate.js";
4
- export function registerAgentCrudTools(server) {
5
- registerAgentCreateTool(server);
6
- registerAgentUpdateTool(server);
7
- registerAgentStatusTool(server);
8
- }
9
- function registerAgentCreateTool(server) {
10
- server.registerTool("speko_agent_create", {
11
- description: "Create a Speko voice agent via API.",
12
- inputSchema: z.object({
13
- name: z.string().min(1),
14
- context: z.string().min(1),
15
- systemPrompt: z.string().optional(),
16
- language: z.string().default("auto"),
17
- priority: z.enum(["speed", "quality", "cost"]).default("quality"),
18
- greeting: z.string().optional(),
19
- }),
20
- }, async ({ name, context, systemPrompt, language, priority, greeting }) => {
21
- if (!hasSpekoApiKey())
22
- return tier2GateResponse();
23
- const api = new SpekoApiClient();
24
- const result = await api.createAgent({
25
- name,
26
- context,
27
- systemPrompt,
28
- language,
29
- priority: priority,
30
- greeting,
31
- });
32
- return {
33
- content: [
34
- {
35
- type: "text",
36
- text: JSON.stringify({
37
- status: "ok",
38
- action: "create",
39
- agent: result.data,
40
- dashboardUrl: api.getDashboardUrl(result.data.id),
41
- api: result.meta,
42
- }, null, 2),
43
- },
44
- ],
45
- };
46
- });
47
- }
48
- function registerAgentUpdateTool(server) {
49
- server.registerTool("speko_agent_update", {
50
- description: "Update a Speko voice agent config via API.",
51
- inputSchema: z.object({
52
- agentId: z.string().min(1),
53
- context: z.string().optional(),
54
- systemPrompt: z.string().optional(),
55
- language: z.string().optional(),
56
- priority: z.enum(["speed", "quality", "cost"]).optional(),
57
- greeting: z.string().optional(),
58
- }),
59
- }, async ({ agentId, context, systemPrompt, language, priority, greeting }) => {
60
- if (!hasSpekoApiKey())
61
- return tier2GateResponse();
62
- const api = new SpekoApiClient();
63
- const result = await api.updateAgent(agentId, {
64
- context,
65
- systemPrompt,
66
- language,
67
- priority: priority,
68
- greeting,
69
- });
70
- return {
71
- content: [
72
- {
73
- type: "text",
74
- text: JSON.stringify({
75
- status: "ok",
76
- action: "update",
77
- agent: result.data,
78
- dashboardUrl: api.getDashboardUrl(result.data.id),
79
- api: result.meta,
80
- }, null, 2),
81
- },
82
- ],
83
- };
84
- });
85
- }
86
- function registerAgentStatusTool(server) {
87
- server.registerTool("speko_agent_status", {
88
- description: "Get Speko voice agent health and metrics.",
89
- inputSchema: z.object({
90
- agentId: z.string().min(1),
91
- }),
92
- }, async ({ agentId }) => {
93
- if (!hasSpekoApiKey())
94
- return tier2GateResponse();
95
- const api = new SpekoApiClient();
96
- const result = await api.getAgentStatus(agentId);
97
- return {
98
- content: [
99
- {
100
- type: "text",
101
- text: JSON.stringify({
102
- status: "ok",
103
- action: "status",
104
- agentId,
105
- metrics: result.data,
106
- dashboardUrl: api.getDashboardUrl(agentId),
107
- api: result.meta,
108
- }, null, 2),
109
- },
110
- ],
111
- };
112
- });
113
- }
114
- //# sourceMappingURL=agent-crud.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-crud.js","sourceRoot":"","sources":["../../src/tools/agent-crud.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerLegacyTools(server: McpServer): void;
3
- //# sourceMappingURL=legacy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../src/tools/legacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwBpE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAK3D"}