@talqing/mcp 0.8.0 → 0.9.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Talqing
3
+ Copyright (c) 2026 Oggnai Technologies Private Limited
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -33,19 +33,11 @@ ready-to-paste command for each client — the snippets below are what it shows.
33
33
  The token authenticates as you, acts with your current role, and reaches only
34
34
  your workspace.
35
35
 
36
- **`TALQING_BASE_URL` names a region** — `https://api.in.talqing.com`,
37
- `https://api.us.talqing.com` — and everything this server can reach belongs to
38
- that one: an agent, its calls, its phone numbers and its credit balance are all
39
- the region's. One token reaches every region — it names your workspace, not a
40
- place — so working in another region is the same token and a different base URL.
41
- The dashboard's snippet always carries the region you are currently looking at;
42
- switch region there and copy it again.
43
-
44
36
  **Claude Code**
45
37
 
46
38
  ```bash
47
39
  claude mcp add talqing \
48
- -e TALQING_BASE_URL=https://api.in.talqing.com \
40
+ -e TALQING_BASE_URL=https://api.talqing.com \
49
41
  -e TALQING_API_KEY=tq_your_token \
50
42
  -- npx -y @talqing/mcp
51
43
  ```
@@ -54,7 +46,7 @@ claude mcp add talqing \
54
46
 
55
47
  ```bash
56
48
  codex mcp add talqing \
57
- --env TALQING_BASE_URL=https://api.in.talqing.com \
49
+ --env TALQING_BASE_URL=https://api.talqing.com \
58
50
  --env TALQING_API_KEY=tq_your_token \
59
51
  -- npx -y @talqing/mcp
60
52
  ```
@@ -66,7 +58,7 @@ codex mcp add talqing \
66
58
  [mcp_servers.talqing]
67
59
  command = "npx"
68
60
  args = ["-y", "@talqing/mcp"]
69
- env = { TALQING_BASE_URL = "https://api.in.talqing.com", TALQING_API_KEY = "tq_your_token" }
61
+ env = { TALQING_BASE_URL = "https://api.talqing.com", TALQING_API_KEY = "tq_your_token" }
70
62
  ```
71
63
 
72
64
  **Any other MCP client** — a stdio server, configured the usual way:
@@ -78,7 +70,7 @@ env = { TALQING_BASE_URL = "https://api.in.talqing.com", TALQING_API_KEY = "tq_y
78
70
  "command": "npx",
79
71
  "args": ["-y", "@talqing/mcp"],
80
72
  "env": {
81
- "TALQING_BASE_URL": "https://api.in.talqing.com",
73
+ "TALQING_BASE_URL": "https://api.talqing.com",
82
74
  "TALQING_API_KEY": "tq_your_token"
83
75
  }
84
76
  }
@@ -134,7 +126,7 @@ cd mcp && npm install && npm run build
134
126
  "command": "node",
135
127
  "args": ["/absolute/path/to/talqing/mcp/dist/index.js"],
136
128
  "env": {
137
- "TALQING_BASE_URL": "https://api.in.talqing.com",
129
+ "TALQING_BASE_URL": "https://api.talqing.com",
138
130
  "TALQING_API_KEY": "tq_your_token"
139
131
  }
140
132
  }
@@ -153,7 +145,7 @@ cannot drift from the product:
153
145
  PYTHONPATH=backend python openapi/export.py
154
146
  ```
155
147
 
156
- `tools.json` comes from `backend/api/dataplane/operations.py`, the same registry
148
+ `tools.json` comes from `backend/api/functions.py`, the same registry
157
149
  the CoPilot binds its tools from; `SKILL.md` comes from
158
150
  `backend/services/copilot/skill.md`, the same text the CoPilot is prompted with.
159
151
  Edit those, re-run the export, and both surfaces move together.
package/SKILL.md CHANGED
@@ -27,12 +27,6 @@ request body under `body`. Every operation acts as the signed-in user, inside
27
27
  their workspace only, with their role's permissions. Managing who is in the
28
28
  workspace is the one thing that stays in the dashboard.
29
29
 
30
- **Everything here belongs to one region.** A workspace exists in every region and
31
- its resources do not: an agent, its calls, its phone numbers and its credit
32
- balance all live in the region whose API you are pointed at. One token reaches
33
- every region — it names the workspace, not a place — so working in another one is
34
- the same token and a different base URL.
35
-
36
30
  ## What an agent is
37
31
 
38
32
  An agent is a single object, `config`, plus what you attach to it:
@@ -206,10 +200,10 @@ An agent is a single object, `config`, plus what you attach to it:
206
200
  - **`handoffs`** — where this agent may pass the conversation next, each
207
201
  `{"name": "Billing", "agent_id": "...", "description": "...", "context":
208
202
  "transcript" | "summary" | "none", "recent_turns": 2, "summary_prompt": "...",
209
- "message": "..."}`. The compiler turns each entry into one tool the model can
210
- call, `handoff_to_<name>`, and the model routes on `description` — so write
211
- that as what belongs there ("invoices, refunds, payment questions"), not as an
212
- instruction.
203
+ "message": "...", "instructions": "..."}`. The compiler turns each entry into
204
+ one tool the model can call, `handoff_to_<name>`, and the model routes on
205
+ `description` — so write that as what belongs there ("invoices, refunds,
206
+ payment questions"), not as an instruction.
213
207
 
214
208
  **This is how you build a multi-agent flow.** Do not create a one-node tool
215
209
  per edge: three agents routing to each other is three agents with `handoffs`
@@ -226,31 +220,34 @@ An agent is a single object, `config`, plus what you attach to it:
226
220
  instructions once a call is connected, so an agent with both that realtime
227
221
  model and a handoff destination is refused on save. Every other model is fine.
228
222
 
229
- **`context` is what the next agent starts from** — the same three words an
230
- agent's own `conversation.context` uses for what a new *call* starts from.
223
+ **`context` is what the next agent inherits from THIS agent's own context** —
224
+ the same three words an agent's own `conversation.context` uses, answering a
225
+ different question (that one is what a new session starts with, and is read
226
+ only from the agent that answers).
231
227
 
232
- - `transcript` (the default) hands over everything said so far. Nothing to
233
- configure, and the target pays for all of it on every turn it then takes.
228
+ - `transcript` (the default) hands over exactly what this agent knows, minus
229
+ its own instructions. Nothing to configure, and the target pays for all of
230
+ it on every turn it then takes.
234
231
  - `summary` asks THIS agent to write the summary itself, as an argument on the
235
232
  `handoff_to_*` tool, in the same turn as the decision to hand over. There is
236
233
  no second LLM call, so a realtime agent can use it too. It costs a pause
237
234
  before the handoff — the agent writes 60–100 tokens before the tool returns
238
235
  — and buys a short, focused context that the source agent chose, instead of
239
236
  forty turns the target has to re-read every turn.
240
- - `none` starts the target with only its own instructions.
237
+ - `none` starts the target with only its own instructions — nothing about the
238
+ conversation, and nothing a later `transcript` edge can recover either.
241
239
 
242
- **`recent_turns`** (1–10) is how many recent turns cross *verbatim* alongside
243
- the summary, so the target knows what is being asked right now. A turn starts
240
+ **`recent_turns`** (1–10, `summary` only) is how many recent turns of THIS
241
+ session cross *verbatim* alongside the summary, so the target knows what is
242
+ being asked right now. A turn starts
244
243
  at a user message and runs until the next one, so a turn that took a tool call
245
244
  and two replies crosses whole. Tool calls themselves never cross — their
246
245
  results are knowledge, and knowledge belongs in the summary.
247
246
 
248
- Leave it out and each policy answers for itself: `summary` carries two turns,
249
- and `none` carries none. Under `summary` the tail can be sized down to one turn
250
- but **not** switched off — a summary with no tail leaves the target knowing the
251
- history and not the question. Under `none` it is opt-in, and `{"context":
252
- "none", "recent_turns": 3}` is a real and useful combination: the last three
253
- turns and nothing else. Past ten turns the honest answer is `transcript`.
247
+ Leave it out and it is two. It can be sized down to one turn but **not**
248
+ switched off — a summary with no tail leaves the target knowing the history
249
+ and not the question. If the summary comes back blank the target gets the tail
250
+ alone. Past ten turns the honest answer is `transcript`.
254
251
 
255
252
  **`summary_prompt`** replaces the platform's default line with your own. It is
256
253
  the *description of the tool argument*, so it is literally what the agent is
@@ -259,9 +256,15 @@ An agent is a single object, `config`, plus what you attach to it:
259
256
  naming three buckets — what the caller wants, what has been done, what is still
260
257
  open — and a longer one buys a longer pause before the handoff.
261
258
 
259
+ **`instructions`** is what the target is told as it opens, passed to its first
260
+ `generate_reply` — e.g. "Don't introduce yourself; answer the caller's last
261
+ question." Used only when the target has no greeting (text targets never have
262
+ one). Leave it out and the target is told nothing: it opens from its own prompt
263
+ and the context it was handed, so put standing behaviour like "never
264
+ re-introduce yourself" in the target's prompt instead.
265
+
262
266
  `recent_turns` and `summary_prompt` are **rejected** where they do not apply,
263
- rather than ignored: no `recent_turns` under `transcript`, which already
264
- carries every turn, and no `summary_prompt` outside `summary`.
267
+ rather than ignored: neither outside `summary`.
265
268
 
266
269
  **`summary` is not a privacy boundary, and must not be described as one.** It
267
270
  narrows what the target model is shown; it guarantees nothing. The tail always
@@ -443,13 +446,13 @@ without you doing anything. Rules worth knowing before you hit them:
443
446
  English does not come back transliterated, it comes back with words missing, and
444
447
  the agent never learns it misheard.
445
448
  - **Auto does not mean "detects" everywhere.** A model with a `default_language`
446
- runs on that code when the agent is on Auto, and the ones spelled `unknown`,
449
+ runs on that code when the agent is on Auto, and the ones spelled
447
450
  `multi` or `auto` are the providers' own words for detection. The rest are
448
451
  real languages, and English is what a model that cannot detect falls back to:
449
452
  `deepgram/nova-3` and both xAI speech-to-text models transcribe as English on
450
453
  Auto and will mistranscribe a caller who speaks anything else. For an agent
451
454
  taking non-English calls on Auto, pick `deepgram/nova-3-general` (`multi`),
452
- `deepgram/flux-general-multi`, `sarvam/saaras:v4` (`unknown`), ElevenLabs
455
+ `deepgram/flux-general-multi`, `sarvam/saaras:v4` (`auto`), ElevenLabs
453
456
  Scribe or OpenAI — all of which detect for real.
454
457
  - Models that publish no languages (OpenAI TTS is multilingual, Deepgram encodes
455
458
  the language in the voice) simply ignore the setting.
@@ -744,8 +747,9 @@ instead.
744
747
  under any other context is an error.
745
748
 
746
749
  `recent_turns` works exactly as it does on `handoffs[]`: the tail that
747
- crosses verbatim, defaulting to two turns under `summary` and to none under
748
- `none`, and rejected under `transcript`.
750
+ crosses verbatim beside the summary, defaulting to two, and rejected under any
751
+ other context. `instructions` is the same as on
752
+ `handoffs[]`, and is a template.
749
753
 
750
754
  Reach for this operation only when the decision is the TREE's — after an
751
755
  `http` lookup, inside an `if`. When the model should decide which desk the
@@ -1112,8 +1116,8 @@ channel through *triggers*, not MCP attachment. A trigger binds an inbound event
1112
1116
  to a published text agent and decides what happens with the reply.
1113
1117
 
1114
1118
  A Twilio WhatsApp number also takes calls: a `whatsapp.call.inbound` trigger puts a
1115
- published **voice** agent on it, which must use `conversation.context: "transcript"` —
1116
- the call joins the chat's thread. It cannot transfer to a phone number.
1119
+ published **voice** agent on it. The call always joins the chat's thread, whatever
1120
+ the agent's `conversation.context` says. It cannot transfer to a phone number.
1117
1121
 
1118
1122
  `integration_catalog` is the authoritative list of providers and, in
1119
1123
  `setup_fields`, exactly what each one needs — read it instead of guessing.
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ function required(name, hint) {
28
28
  throw new Error(`${name} is not set — ${hint}`);
29
29
  return value;
30
30
  }
31
- const BASE_URL = required("TALQING_BASE_URL", "set it to your region's Talqing API URL, e.g. https://api.in.talqing.com").replace(/\/+$/, "");
31
+ const BASE_URL = required("TALQING_BASE_URL", "set it to the Talqing API URL, e.g. https://api.talqing.com").replace(/\/+$/, "");
32
32
  const API_KEY = required("TALQING_API_KEY", "create a personal access token in the dashboard under Organization → API Tokens");
33
33
  const { tools: functions } = JSON.parse(readPackageFile("tools.json"));
34
34
  const byName = new Map(functions.map((fn) => [fn.name, fn]));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talqing/mcp",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "MCP server for building Talqing AI voice, video and text agents from Claude Code, Codex, or any MCP client.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://talqing.com",
package/tools.json CHANGED
@@ -1080,6 +1080,20 @@
1080
1080
  "read_only": false,
1081
1081
  "role": "write"
1082
1082
  },
1083
+ {
1084
+ "description": "Remove rows that were never dialled. Not reversible; a dialled row is refused in `rejected`.",
1085
+ "method": "POST",
1086
+ "name": "delete_call_batch_recipients",
1087
+ "parameters": {
1088
+ "additionalProperties": true,
1089
+ "description": "Arguments not inlined: call describe_function('delete_call_batch_recipients').",
1090
+ "properties": {},
1091
+ "type": "object"
1092
+ },
1093
+ "path": "/v1/calls/batches/{batch_id}/recipients/delete",
1094
+ "read_only": false,
1095
+ "role": "write"
1096
+ },
1083
1097
  {
1084
1098
  "description": "Stop placing new calls; calls in progress run to their end.",
1085
1099
  "method": "POST",
@@ -1277,30 +1291,16 @@
1277
1291
  "role": "write"
1278
1292
  },
1279
1293
  {
1280
- "description": "Take rows out of consideration. Reversible with `restore`.",
1281
- "method": "POST",
1282
- "name": "skip_email_batch_recipients",
1283
- "parameters": {
1284
- "additionalProperties": true,
1285
- "description": "Arguments not inlined: call describe_function('skip_email_batch_recipients').",
1286
- "properties": {},
1287
- "type": "object"
1288
- },
1289
- "path": "/v1/email/batches/{batch_id}/skip",
1290
- "read_only": false,
1291
- "role": "write"
1292
- },
1293
- {
1294
- "description": "Put skipped rows back. `selection: \"all_eligible\"` means every row a person skipped; an `unfillable` row is restored by filling in its cell instead.",
1294
+ "description": "Remove rows that were never sent. Not reversible; a sent row is refused in `rejected`.",
1295
1295
  "method": "POST",
1296
- "name": "restore_email_batch_recipients",
1296
+ "name": "delete_email_batch_recipients",
1297
1297
  "parameters": {
1298
1298
  "additionalProperties": true,
1299
- "description": "Arguments not inlined: call describe_function('restore_email_batch_recipients').",
1299
+ "description": "Arguments not inlined: call describe_function('delete_email_batch_recipients').",
1300
1300
  "properties": {},
1301
1301
  "type": "object"
1302
1302
  },
1303
- "path": "/v1/email/batches/{batch_id}/restore",
1303
+ "path": "/v1/email/batches/{batch_id}/recipients/delete",
1304
1304
  "read_only": false,
1305
1305
  "role": "write"
1306
1306
  },
@@ -1557,44 +1557,44 @@
1557
1557
  "role": "write"
1558
1558
  },
1559
1559
  {
1560
- "description": "Take ready rows out of the send. Reversible with restore.",
1560
+ "description": "Remove rows that were never sent. Not reversible; a sent row is refused in `rejected`.",
1561
1561
  "method": "POST",
1562
- "name": "skip_whatsapp_batch_recipients",
1562
+ "name": "delete_whatsapp_batch_recipients",
1563
1563
  "parameters": {
1564
1564
  "additionalProperties": true,
1565
- "description": "Arguments not inlined: call describe_function('skip_whatsapp_batch_recipients').",
1565
+ "description": "Arguments not inlined: call describe_function('delete_whatsapp_batch_recipients').",
1566
1566
  "properties": {},
1567
1567
  "type": "object"
1568
1568
  },
1569
- "path": "/v1/whatsapp/batches/{batch_id}/recipients/skip",
1569
+ "path": "/v1/whatsapp/batches/{batch_id}/recipients/delete",
1570
1570
  "read_only": false,
1571
1571
  "role": "write"
1572
1572
  },
1573
1573
  {
1574
- "description": "Put rows a person skipped back. A row skipped for its cells returns when they are fixed.",
1574
+ "description": "Mint a LiveKit token for a browser to open a web call with an agent.",
1575
1575
  "method": "POST",
1576
- "name": "restore_whatsapp_batch_recipients",
1576
+ "name": "calls_token",
1577
1577
  "parameters": {
1578
1578
  "additionalProperties": true,
1579
- "description": "Arguments not inlined: call describe_function('restore_whatsapp_batch_recipients').",
1579
+ "description": "Arguments not inlined: call describe_function('calls_token').",
1580
1580
  "properties": {},
1581
1581
  "type": "object"
1582
1582
  },
1583
- "path": "/v1/whatsapp/batches/{batch_id}/recipients/restore",
1583
+ "path": "/v1/calls/token",
1584
1584
  "read_only": false,
1585
1585
  "role": "write"
1586
1586
  },
1587
1587
  {
1588
- "description": "Mint a LiveKit token for a browser to open a web call with an agent.",
1588
+ "description": "Mint a token for a new web call that continues one that ended.",
1589
1589
  "method": "POST",
1590
- "name": "calls_token",
1590
+ "name": "resume_call",
1591
1591
  "parameters": {
1592
1592
  "additionalProperties": true,
1593
- "description": "Arguments not inlined: call describe_function('calls_token').",
1593
+ "description": "Arguments not inlined: call describe_function('resume_call').",
1594
1594
  "properties": {},
1595
1595
  "type": "object"
1596
1596
  },
1597
- "path": "/v1/calls/token",
1597
+ "path": "/v1/calls/{session_id}/resume",
1598
1598
  "read_only": false,
1599
1599
  "role": "write"
1600
1600
  },