conduyt-mcp 4.47.0 → 4.48.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
@@ -55,7 +55,7 @@ MCP server for [Conduyt CRM](https://conduyt.app) — expose your CRM as AI-acce
55
55
  ### AI
56
56
  | Tool | Description |
57
57
  |------|-------------|
58
- | `conduyt_ai_insights` | AI-powered CRM analytics (8 query types) |
58
+ | `conduyt_ai_insights` | AI-powered CRM analytics (11 query types, incl. report_catalog, saved_report and dashboard: run any saved report or board) |
59
59
 
60
60
  ### Automations
61
61
  | Tool | Description |
package/dist/tools/ai.js CHANGED
@@ -1,8 +1,11 @@
1
1
  import { z } from "zod";
2
2
  import { formatResult } from "../client.js";
3
3
  export function registerAiTools(server, client) {
4
- server.tool("conduyt_ai_insights", "Query AI-powered CRM insights. 8 query types available: pipeline_health (deals per stage, stale deals), sms_drip_status (SMS drip overview by provider/step), sms_responses_untouched (replied contacts with no follow-up), agent_followups (per-agent task performance), email_performance (open/click/reply rates), smart_view_summary (contact counts per saved view), team_activity (per-user activity counts), contact_import_history (recent import batches).", {
4
+ server.tool("conduyt_ai_insights", "Query AI-powered CRM insights. 11 query types: report_catalog (every saved report and dashboard this key can run), saved_report (run any saved report by name or id: rows, total, metric, chart data, pivot; optionally windowed with filters.period or filters.dateRange, reps and sources, paged with page / perPage), dashboard (run every tile of a dashboard by name or id, its saved filters or the filters passed for this run), pipeline_health (deals per stage, stale deals), sms_drip_status (SMS drip overview by provider/step), sms_responses_untouched (replied contacts with no follow-up), agent_followups (per-agent task performance), email_performance (open/click/reply rates), smart_view_summary (contact counts per saved view), team_activity (per-user activity counts), contact_import_history (recent import batches).", {
5
5
  query: z.enum([
6
+ "report_catalog",
7
+ "saved_report",
8
+ "dashboard",
6
9
  "pipeline_health",
7
10
  "sms_drip_status",
8
11
  "sms_responses_untouched",
@@ -12,6 +15,10 @@ export function registerAiTools(server, client) {
12
15
  "team_activity",
13
16
  "contact_import_history",
14
17
  ]).describe("Insight query type"),
18
+ report: z.object({ id: z.string().uuid().optional(), name: z.string().optional() }).optional().describe("saved_report: the saved report to run, by id or by exact name (case-insensitive); two of a name is a 409 naming both"),
19
+ dashboard: z.object({ id: z.string().uuid().optional(), name: z.string().optional() }).optional().describe("dashboard: the dashboard to run, by id or by exact name"),
20
+ page: z.number().int().min(1).optional().describe("saved_report: page number (default 1)"),
21
+ perPage: z.number().int().min(1).max(500).optional().describe("saved_report: rows per page (default 50, max 500)"),
15
22
  filters: z
16
23
  .object({
17
24
  dateRange: z
@@ -20,7 +27,10 @@ export function registerAiTools(server, client) {
20
27
  to: z.string().describe("ISO 8601 date"),
21
28
  })
22
29
  .optional()
23
- .describe("Date range to scope the query"),
30
+ .describe("Date range to scope the query (saved_report / dashboard: a custom window; never together with period)"),
31
+ period: z.enum(["today", "this_week", "this_month", "this_quarter", "this_year", "last_7_days", "last_30_days", "last_90_days"]).optional().describe("saved_report / dashboard: a board preset window"),
32
+ assignedTo: z.array(z.string().uuid()).max(50).optional().describe("saved_report / dashboard: rep user ids to keep"),
33
+ sources: z.array(z.string()).max(50).optional().describe("saved_report / dashboard: lead sources to keep"),
24
34
  provider: z.string().optional().describe("Filter by provider (e.g. for sms_drip_status)"),
25
35
  pipelineId: z.string().optional().describe("Pipeline UUID (for pipeline_health)"),
26
36
  userId: z.string().optional().describe("User UUID (for agent_followups)"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conduyt-mcp",
3
- "version": "4.47.0",
3
+ "version": "4.48.0",
4
4
  "description": "MCP server for Conduyt CRM — expose CRM operations as AI-accessible tools",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,10 +1,10 @@
1
1
  {
2
- "generatedAt": "2026-09-11T11:52:51.576Z",
2
+ "generatedAt": "2026-09-11T16:21:54.034Z",
3
3
  "toolCount": 250,
4
- "totalEndpoints": 955,
4
+ "totalEndpoints": 956,
5
5
  "counts": {
6
6
  "covered": 232,
7
- "excluded": 283,
7
+ "excluded": 284,
8
8
  "planned": 440,
9
9
  "uncategorized": 0
10
10
  },
@@ -1545,6 +1545,10 @@
1545
1545
  "status": "excluded",
1546
1546
  "reason": "CRON_SECRET-gated infrastructure jobs; never key-callable"
1547
1547
  },
1548
+ "GET /api/v1/cron/hyros-source-sync": {
1549
+ "status": "excluded",
1550
+ "reason": "CRON_SECRET-gated infrastructure jobs; never key-callable"
1551
+ },
1548
1552
  "GET /api/v1/cron/job-run-monitor": {
1549
1553
  "status": "excluded",
1550
1554
  "reason": "CRON_SECRET-gated infrastructure jobs; never key-callable"