@setluca/mcp 0.1.1 → 0.2.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.
Files changed (63) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +178 -80
  3. package/dist/annotations.js +45 -0
  4. package/dist/completions.js +110 -0
  5. package/dist/config.js +55 -29
  6. package/dist/errors.js +56 -15
  7. package/dist/generated/openapi-inputs.js +4324 -1429
  8. package/dist/generated/openapi-outputs.js +21992 -8516
  9. package/dist/generated/route-catalog.js +1480 -0
  10. package/dist/http.js +97 -103
  11. package/dist/index.js +16 -10
  12. package/dist/oauth-resolver.js +59 -37
  13. package/dist/observability.js +12 -4
  14. package/dist/openapi-zod.js +138 -72
  15. package/dist/operations/catalog.js +50 -0
  16. package/dist/operations/groups/analytics.js +122 -0
  17. package/dist/operations/groups/bookings.js +189 -0
  18. package/dist/operations/groups/broadcasts.js +106 -0
  19. package/dist/operations/groups/cadences.js +14 -0
  20. package/dist/operations/groups/callEvents.js +131 -0
  21. package/dist/operations/groups/campaigns.js +132 -0
  22. package/dist/operations/groups/capabilities.js +8 -0
  23. package/dist/operations/groups/coach.js +43 -0
  24. package/dist/operations/groups/conversations.js +48 -0
  25. package/dist/operations/groups/insights.js +33 -0
  26. package/dist/operations/groups/integrations.js +80 -0
  27. package/dist/operations/groups/knowledge.js +34 -0
  28. package/dist/operations/groups/leads.js +101 -0
  29. package/dist/operations/groups/learning.js +24 -0
  30. package/dist/operations/groups/memory.js +27 -0
  31. package/dist/operations/groups/reports.js +14 -0
  32. package/dist/operations/groups/reviewQueue.js +57 -0
  33. package/dist/operations/groups/safety.js +8 -0
  34. package/dist/operations/groups/usage.js +13 -0
  35. package/dist/operations/groups/voice.js +14 -0
  36. package/dist/operations/groups/webhooks.js +76 -0
  37. package/dist/operations/manifest.js +40 -0
  38. package/dist/operations/registry.js +331 -0
  39. package/dist/operations.js +11 -780
  40. package/dist/optional-field.js +12 -0
  41. package/dist/page-shape.js +62 -0
  42. package/dist/pagination.js +165 -0
  43. package/dist/prompts.js +89 -8
  44. package/dist/provenance.js +18 -2
  45. package/dist/remote.js +80 -49
  46. package/dist/resilience.js +127 -0
  47. package/dist/resources.js +17 -2
  48. package/dist/scopes.js +154 -0
  49. package/dist/serialization.js +36 -0
  50. package/dist/server.js +258 -316
  51. package/dist/task-tools/analytics.js +168 -0
  52. package/dist/task-tools/bookings.js +157 -0
  53. package/dist/task-tools/cadences.js +65 -0
  54. package/dist/task-tools/calls.js +202 -0
  55. package/dist/task-tools/inbox.js +120 -0
  56. package/dist/task-tools/leads.js +123 -0
  57. package/dist/task-tools/runtime.js +92 -0
  58. package/dist/task-tools.js +21 -0
  59. package/dist/tool-cache.js +39 -0
  60. package/dist/tool.js +228 -0
  61. package/dist/tsconfig.tsbuildinfo +1 -1
  62. package/dist/version.js +14 -0
  63. package/package.json +38 -34
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The one version literal this package has.
3
+ *
4
+ * It cannot be read from package.json at runtime: the stdio build is plain
5
+ * `tsc` with no bundler to inline a JSON import, and the Worker build has no
6
+ * package.json beside it at all. So the value is written here by hand and
7
+ * `scripts/check-registry.ts` fails CI when it drifts from package.json,
8
+ * server.json, or server.json's package entry.
9
+ *
10
+ * Bump this in the same commit as package.json and server.json.
11
+ */
12
+ export const LUCA_MCP_VERSION = "0.2.1";
13
+ /** The user-agent every outbound Luca API call identifies itself with. */
14
+ export const LUCA_MCP_USER_AGENT = `luca-mcp/${LUCA_MCP_VERSION}`;
package/package.json CHANGED
@@ -1,75 +1,79 @@
1
1
  {
2
2
  "name": "@setluca/mcp",
3
- "version": "0.1.1",
4
- "description": "Model Context Protocol server for the Luca public API.",
5
- "mcpName": "io.github.leonardomso/luca-mcp",
6
- "//publish": "Publish name is @setluca/mcp (the @setluca npm org). To publish: set NPM_TOKEN (scoped to @setluca), tag mcp-v*. See docs/release.md.",
3
+ "version": "0.2.1",
7
4
  "private": false,
8
- "type": "module",
9
- "license": "Apache-2.0",
5
+ "description": "Model Context Protocol server for the Luca public API.",
10
6
  "keywords": [
11
- "mcp",
12
- "model-context-protocol",
13
- "luca",
14
7
  "ai",
15
- "crm"
8
+ "crm",
9
+ "luca",
10
+ "mcp",
11
+ "model-context-protocol"
16
12
  ],
17
- "engines": {
18
- "node": ">=20"
19
- },
13
+ "license": "Apache-2.0",
20
14
  "bin": {
21
15
  "luca-mcp": "dist/index.js"
22
16
  },
23
17
  "files": [
24
18
  "dist",
25
- "README.md"
19
+ "README.md",
20
+ "CHANGELOG.md"
26
21
  ],
27
- "publishConfig": {
28
- "access": "public"
29
- },
22
+ "type": "module",
30
23
  "exports": {
31
24
  ".": "./dist/index.js",
32
25
  "./remote": "./dist/remote.js"
33
26
  },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
34
30
  "scripts": {
35
31
  "build": "tsc -p tsconfig.build.json",
36
32
  "start": "bun src/index.ts",
37
33
  "inspect": "bun run build && bunx mcp-inspector --transport stdio bun dist/index.js",
38
34
  "inspect:cli": "bun run build && bunx mcp-inspector --cli --transport stdio bun dist/index.js",
39
- "test": "vitest run --exclude test/stdio-smoke.test.ts",
35
+ "test": "TZ=UTC vitest run --exclude test/stdio-smoke.test.ts",
36
+ "test:mutation": "TZ=UTC stryker run",
40
37
  "test:stdio": "vitest run test/stdio-smoke.test.ts",
41
38
  "dev:remote": "wrangler dev",
42
39
  "deploy": "wrangler deploy --env production",
43
40
  "test:integration": "vitest run test/integration",
44
- "coverage": "vitest run --exclude test/stdio-smoke.test.ts --coverage",
45
- "typecheck": "tsgo --noEmit",
46
- "verify": "bun run docs:check && bun run openapi:inputs:check && bun run openapi:outputs:check && bun run openapi:check && bun run registry:check && bun run typecheck && bun run test && bun run build && bun run test:stdio",
47
- "openapi:generate": "bun scripts/generate-openapi-inputs.ts --write && bun scripts/generate-openapi-outputs.ts --write",
41
+ "coverage": "bun run test -- --coverage",
42
+ "typecheck": "tsc --noEmit",
43
+ "verify": "bun run docs:check && bun run catalog:check && bun run openapi:inputs:check && bun run openapi:outputs:check && bun run openapi:check && bun run registry:check && bun run redaction:check && bun run typecheck && bun run test && bun run build && bun run test:stdio",
44
+ "openapi:generate": "bun run catalog:generate && bun scripts/generate-openapi-inputs.ts --write && bun scripts/generate-openapi-outputs.ts --write",
45
+ "catalog:generate": "bun scripts/generate-route-catalog.ts --write",
46
+ "catalog:check": "bun scripts/generate-route-catalog.ts --check",
48
47
  "openapi:inputs:check": "bun scripts/generate-openapi-inputs.ts --check",
49
48
  "openapi:outputs:check": "bun scripts/generate-openapi-outputs.ts --check",
50
49
  "openapi:check": "bun scripts/check-openapi.ts",
51
50
  "registry:check": "bun scripts/check-registry.ts",
51
+ "redaction:check": "bun scripts/check-redaction.ts",
52
52
  "docs:generate": "bun scripts/generate-docs.ts --write",
53
53
  "docs:check": "bun scripts/generate-docs.ts --check",
54
- "biome:lint": "biome lint ./src ./scripts ./test",
55
- "biome:format": "biome format --write ./src ./scripts ./test",
56
- "biome:write": "biome check --write ./src ./scripts ./test",
57
- "biome:fix:unsafe": "biome check --fix --unsafe ./src ./scripts ./test",
58
- "run-all": "bun run openapi:generate && bun run docs:generate && bun run biome:fix:unsafe && bun run biome:format && bun run biome:write && bun run biome:lint && bun run typecheck && bun run test",
54
+ "run-all": "bun run openapi:generate && bun run docs:generate && bun run typecheck && bun run test",
59
55
  "clean": "rm -rf .turbo dist coverage node_modules"
60
56
  },
61
57
  "dependencies": {
62
- "@modelcontextprotocol/sdk": "^1.29.0",
63
- "effect": "^3.21.4",
58
+ "@modelcontextprotocol/server": "^2.0.0",
59
+ "effect": "^3.22.1",
64
60
  "zod": "^4.4.3"
65
61
  },
66
62
  "devDependencies": {
67
63
  "@luca/config": "workspace:*",
68
- "@modelcontextprotocol/inspector": "^0.22.0",
69
- "@types/node": "^26.1.1",
64
+ "@luca/test-utils": "workspace:*",
65
+ "@modelcontextprotocol/client": "^2.0.0",
66
+ "@modelcontextprotocol/inspector": "^2.2.0",
67
+ "@types/node": "^26.2.0",
70
68
  "@vitest/coverage-v8": "^4.1.10",
71
- "typescript": "^6.0.3",
69
+ "oxfmt": "^0.63.0",
70
+ "typescript": "^7.0.2",
72
71
  "vitest": "^4.1.10",
73
- "wrangler": "^4.107.1"
74
- }
72
+ "wrangler": "^4.123.0"
73
+ },
74
+ "engines": {
75
+ "node": ">=20"
76
+ },
77
+ "//publish": "Publish name is @setluca/mcp (the @setluca npm org). To publish: tag mcp-v*. The workflow authenticates to npm with OIDC Trusted Publishing, so there is no NPM_TOKEN. See docs/release.md.",
78
+ "mcpName": "io.github.setluca/luca-mcp"
75
79
  }