@agentcall/mcp-server 0.13.0 → 0.15.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.
@@ -0,0 +1,124 @@
1
+ import { z } from "zod";
2
+ import { scheduleOutputSchema, scheduleListOutputSchema, ackOutputSchema } from "../schemas.js";
3
+ export function registerScheduleTools(server, client) {
4
+ server.registerTool("create_schedule", {
5
+ title: "Schedule a Proactive Message",
6
+ description: "Make a number's AI agent text someone FIRST, on a schedule — appointment reminders and recurring digests. " +
7
+ "Provide EITHER fireAt (a one-shot ISO 8601 time in the future) OR recurrence (a recurring spec). " +
8
+ "And EITHER template (sent verbatim, with {{placeholders}} filled from payload) OR promptHint (the agent composes the message using its memory). " +
9
+ "The recipient's reply flows back into the reactive SMS agent on the same thread, so a follow-up like 'C' is understood in context. " +
10
+ "Pro plan only; the number must have smsMode 'ai'. Billed as one outbound SMS when it fires. " +
11
+ "Pass dedupeKey to make a re-create safe (a duplicate key returns a 409).",
12
+ inputSchema: {
13
+ numberId: z.string().describe("The provisioned number ID that will send (must have inbound AI / smsMode 'ai')"),
14
+ contactPhone: z.string().describe("Recipient phone number in E.164 format (e.g. '+14155551234')"),
15
+ kind: z.enum(["reminder", "digest", "custom"]).optional().describe("Schedule kind (default 'custom'). 'reminder' for one-shot nudges, 'digest' for recurring summaries."),
16
+ fireAt: z.string().optional().describe("One-shot fire time as ISO 8601 (e.g. '2026-06-09T19:00:00Z'), must be in the future. Provide this OR recurrence."),
17
+ recurrence: z
18
+ .object({
19
+ frequency: z.enum(["daily", "weekly"]).describe("How often it repeats"),
20
+ hour: z.number().int().min(0).max(23).describe("Hour of day in the timezone, 0-23"),
21
+ minute: z.number().int().min(0).max(59).describe("Minute of hour, 0-59"),
22
+ dayOfWeek: z.number().int().min(0).max(6).optional().describe("0=Sunday..6=Saturday. Required for weekly."),
23
+ })
24
+ .optional()
25
+ .describe("Recurring spec. Provide this OR fireAt."),
26
+ timezone: z.string().optional().describe("IANA timezone for the recurrence (e.g. 'America/Chicago'). Default 'America/Chicago'."),
27
+ template: z.string().optional().describe("Verbatim message text. {{placeholders}} are filled from payload. Provide this OR promptHint."),
28
+ promptHint: z.string().optional().describe("Instruction for the agent to compose the message with its memory (e.g. 'Remind them about tomorrow's cleaning'). Provide this OR template."),
29
+ payload: z.record(z.string(), z.unknown()).optional().describe("Structured data for template fill + dedup (e.g. { service: 'cleaning', time: '2pm' }). Never sent raw to the recipient."),
30
+ dedupeKey: z.string().optional().describe("Idempotency key scoped to the number (e.g. 'reminder:appt_123:24h'). A re-create with the same key returns 409."),
31
+ },
32
+ outputSchema: scheduleOutputSchema,
33
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
34
+ }, async ({ numberId, contactPhone, kind, fireAt, recurrence, timezone, template, promptHint, payload, dedupeKey }) => {
35
+ try {
36
+ const schedule = await client.schedules.create(numberId, {
37
+ contactPhone,
38
+ kind,
39
+ fireAt,
40
+ recurrence,
41
+ timezone,
42
+ template,
43
+ promptHint,
44
+ payload,
45
+ dedupeKey,
46
+ });
47
+ return {
48
+ content: [{ type: "text", text: JSON.stringify(schedule, null, 2) }],
49
+ structuredContent: schedule,
50
+ };
51
+ }
52
+ catch (error) {
53
+ return {
54
+ isError: true,
55
+ content: [
56
+ {
57
+ type: "text",
58
+ text: `Error creating schedule: ${error instanceof Error ? error.message : String(error)}`,
59
+ },
60
+ ],
61
+ };
62
+ }
63
+ });
64
+ server.registerTool("list_schedules", {
65
+ title: "List Proactive Schedules",
66
+ description: "List the proactive message schedules on a number, soonest nextRunAt first. Optionally filter by status.",
67
+ inputSchema: {
68
+ numberId: z.string().describe("The phone number ID to list schedules for"),
69
+ status: z.string().optional().describe("Optional status filter: active, done, canceled, paused"),
70
+ },
71
+ outputSchema: scheduleListOutputSchema,
72
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
73
+ }, async ({ numberId, status }) => {
74
+ try {
75
+ const result = await client.schedules.list(numberId, { status });
76
+ return {
77
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
78
+ structuredContent: result,
79
+ };
80
+ }
81
+ catch (error) {
82
+ return {
83
+ isError: true,
84
+ content: [
85
+ {
86
+ type: "text",
87
+ text: `Error listing schedules: ${error instanceof Error ? error.message : String(error)}`,
88
+ },
89
+ ],
90
+ };
91
+ }
92
+ });
93
+ server.registerTool("cancel_schedule", {
94
+ title: "Cancel a Proactive Schedule",
95
+ description: "Cancel and remove a proactive schedule by ID. Frees its dedupeKey for re-use. Safe to call on an already-removed schedule.",
96
+ inputSchema: {
97
+ numberId: z.string().describe("The phone number ID the schedule belongs to"),
98
+ scheduleId: z.string().describe("The schedule ID to remove"),
99
+ },
100
+ outputSchema: ackOutputSchema,
101
+ annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true },
102
+ }, async ({ numberId, scheduleId }) => {
103
+ try {
104
+ await client.schedules.cancel(numberId, scheduleId);
105
+ const result = { success: true, message: `Schedule ${scheduleId} canceled.` };
106
+ return {
107
+ content: [{ type: "text", text: result.message }],
108
+ structuredContent: result,
109
+ };
110
+ }
111
+ catch (error) {
112
+ return {
113
+ isError: true,
114
+ content: [
115
+ {
116
+ type: "text",
117
+ text: `Error canceling schedule: ${error instanceof Error ? error.message : String(error)}`,
118
+ },
119
+ ],
120
+ };
121
+ }
122
+ });
123
+ }
124
+ //# sourceMappingURL=schedules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../src/tools/schedules.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export function registerWebhookTools(server, client) {
10
10
  .describe("HTTPS webhook endpoint URL (e.g. 'https://my-app.com/webhook')"),
11
11
  events: z
12
12
  .array(z.string())
13
- .describe("Events to subscribe to. Options: 'sms.inbound', 'sms.otp', 'call.inbound', 'call.ringing', 'call.status', 'call.recording', 'call.transcript', 'number.released'. Use 'call.transcript' to receive the full transcript and LLM summary after every call ends — the canonical way to feed call outcomes back into an agent platform."),
13
+ .describe("Events to subscribe to. Options: 'sms.inbound', 'sms.otp', 'sms.ai_reply', 'call.inbound', 'call.ringing', 'call.status', 'call.recording', 'call.transcript', 'call.report.ready', 'transcript.partial', 'number.released'. Use 'call.transcript' to receive the full transcript and LLM summary after every call ends. Use 'transcript.partial' (with liveTranscript:true on the call or number) for live per-utterance streaming during the call."),
14
14
  },
15
15
  outputSchema: webhookOutputSchema,
16
16
  annotations: {
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/tools/webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/tools/webhooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,61 +1,61 @@
1
- {
2
- "name": "@agentcall/mcp-server",
3
- "version": "0.13.0",
4
- "description": "MCP server for AgentCall: phone numbers, SMS, OTP, AI voice (inbound + outbound) with 12 languages plus auto-detect, saved outbound agents per number (set/get/clear), retry-safe outbound calls via useSavedAgent + idempotencyKey for CSV runners, BYOK (bring your own OpenAI key) voice billing, Premium Voice (enable/disable a brandable higher-quality inbound voice per number, $0.59/min Pro add-on), two-way AI SMS plus relay mode (text your own agent on a real number), AND Auditable Call Memory tools (contacts, structured call reports, the next-call context block, owner edits, approve/reject candidates, brief inbox) for AI agents via Model Context Protocol. 55 tools, 5 prompts, 10 AI voices, 12 languages plus auto-detect. The killer tool is get_next_call_context: ask AgentCall what it knows about a caller before placing the next call. The follow-up-on-call prompt walks the agent through calling a previous caller back with stitched context from their original report.",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "bin": {
8
- "agentcall-mcp": "dist/index.js"
9
- },
10
- "files": [
11
- "dist"
12
- ],
13
- "scripts": {
14
- "build": "tsc",
15
- "dev": "tsc --watch",
16
- "start": "node dist/http.js",
17
- "start:http": "node dist/http.js",
18
- "test": "vitest run",
19
- "prepublishOnly": "npm run build"
20
- },
21
- "keywords": [
22
- "mcp",
23
- "model-context-protocol",
24
- "agentcall",
25
- "phone",
26
- "sms",
27
- "otp",
28
- "ai-agent",
29
- "claude",
30
- "cursor",
31
- "voice",
32
- "call",
33
- "mcp-server"
34
- ],
35
- "author": "AgentCall <hello@agentcall.co> (https://agentcall.co)",
36
- "license": "MIT",
37
- "repository": {
38
- "type": "git",
39
- "url": "https://github.com/Kintupercy/AgentCall.git",
40
- "directory": "packages/mcp-server"
41
- },
42
- "homepage": "https://agentcall.co/docs/mcp",
43
- "bugs": {
44
- "url": "https://github.com/Kintupercy/AgentCall/issues"
45
- },
46
- "engines": {
47
- "node": ">=18"
48
- },
49
- "mcpName": "agentcall",
50
- "dependencies": {
51
- "@modelcontextprotocol/sdk": "^1.27.0",
52
- "agentcall": "^0.9.0",
53
- "zod": "^3.25.0"
54
- },
55
- "devDependencies": {
56
- "@types/node": "^22.0.0",
57
- "esbuild": "^0.27.4",
58
- "typescript": "^5.7.0",
59
- "vitest": "^3.2.4"
60
- }
61
- }
1
+ {
2
+ "name": "@agentcall/mcp-server",
3
+ "version": "0.15.0",
4
+ "description": "MCP server for AgentCall: phone numbers, SMS, OTP, AI voice (inbound + outbound) with 12 languages plus auto-detect, saved outbound agents per number (set/get/clear), retry-safe outbound calls via useSavedAgent + idempotencyKey for CSV runners, BYOK (bring your own OpenAI key) voice billing, Premium Voice (enable/disable a brandable higher-quality inbound voice per number, $0.59/min Pro add-on), two-way AI SMS plus relay mode (text your own agent on a real number), proactive scheduling (have a number's agent text first: appointment reminders + recurring digests via create_schedule), AND Auditable Call Memory tools (contacts, structured call reports, the next-call context block, owner edits, approve/reject candidates, brief inbox) for AI agents via Model Context Protocol. 59 tools, 5 prompts, 10 AI voices, 12 languages plus auto-detect. The killer tool is get_next_call_context: ask AgentCall what it knows about a caller before placing the next call. The follow-up-on-call prompt walks the agent through calling a previous caller back with stitched context from their original report.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "agentcall-mcp": "dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc",
15
+ "dev": "tsc --watch",
16
+ "start": "node dist/http.js",
17
+ "start:http": "node dist/http.js",
18
+ "test": "vitest run",
19
+ "prepublishOnly": "npm run build"
20
+ },
21
+ "keywords": [
22
+ "mcp",
23
+ "model-context-protocol",
24
+ "agentcall",
25
+ "phone",
26
+ "sms",
27
+ "otp",
28
+ "ai-agent",
29
+ "claude",
30
+ "cursor",
31
+ "voice",
32
+ "call",
33
+ "mcp-server"
34
+ ],
35
+ "author": "AgentCall <hello@agentcall.co> (https://agentcall.co)",
36
+ "license": "MIT",
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "https://github.com/Kintupercy/AgentCall.git",
40
+ "directory": "packages/mcp-server"
41
+ },
42
+ "homepage": "https://agentcall.co/docs/mcp",
43
+ "bugs": {
44
+ "url": "https://github.com/Kintupercy/AgentCall/issues"
45
+ },
46
+ "engines": {
47
+ "node": ">=18"
48
+ },
49
+ "mcpName": "agentcall",
50
+ "dependencies": {
51
+ "@modelcontextprotocol/sdk": "^1.27.0",
52
+ "agentcall": "^0.9.0",
53
+ "zod": "^3.25.0"
54
+ },
55
+ "devDependencies": {
56
+ "@types/node": "^22.0.0",
57
+ "esbuild": "^0.27.4",
58
+ "typescript": "^5.7.0",
59
+ "vitest": "^3.2.4"
60
+ }
61
+ }