@talqing/mcp 0.1.0 → 0.2.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
@@ -9,13 +9,13 @@ the CoPilot can build, your coding agent can build.
9
9
 
10
10
  ## What you get
11
11
 
12
- One operation for everything the Talqing dashboard can do. Agents, tools and
13
- their operation trees, integrations and triggers, knowledge bases from crawl to
14
- ready, carrier accounts and phone numbers, secrets, provider keys, webhooks and
15
- tokens; then placing outbound calls, talking to text agents, and reading back
16
- transcripts, cost and latency. Each one maps to a Talqing API endpoint, and its
17
- arguments mirror that HTTP call: path and query parameters at the top level,
18
- request body under `body`.
12
+ One operation for everything a workspace is built out of. Agents and agent
13
+ tasks, tools and their operation trees, integrations and triggers, knowledge
14
+ bases from crawl to ready, carrier accounts and phone numbers, secrets, provider
15
+ keys and webhooks; then placing outbound calls, running call and email batches,
16
+ talking to text agents, and reading back transcripts, cost and latency. Each one
17
+ maps to a Talqing API endpoint, and its arguments mirror that HTTP call: path and
18
+ query parameters at the top level, request body under `body`.
19
19
 
20
20
  A few request types are large enough that carrying them in every tool that
21
21
  accepts one would cost more context than the whole rest of the server — an
@@ -34,11 +34,19 @@ ready-to-paste command for each client — the snippets below are what it shows.
34
34
  The token authenticates as you, acts with your current role, and reaches only
35
35
  your workspace.
36
36
 
37
+ **`TALQING_BASE_URL` names a region** — `https://api.in.talqing.com`,
38
+ `https://api.us.talqing.com` — and everything this server can reach belongs to
39
+ that one: an agent, its calls, its phone numbers and its credit balance are all
40
+ the region's. One token reaches every region — it names your workspace, not a
41
+ place — so working in another region is the same token and a different base URL.
42
+ The dashboard's snippet always carries the region you are currently looking at;
43
+ switch region there and copy it again.
44
+
37
45
  **Claude Code**
38
46
 
39
47
  ```bash
40
48
  claude mcp add talqing \
41
- -e TALQING_BASE_URL=https://api.your-talqing-host.com \
49
+ -e TALQING_BASE_URL=https://api.in.talqing.com \
42
50
  -e TALQING_API_KEY=tq_your_token \
43
51
  -- npx -y @talqing/mcp
44
52
  ```
@@ -47,7 +55,7 @@ claude mcp add talqing \
47
55
 
48
56
  ```bash
49
57
  codex mcp add talqing \
50
- --env TALQING_BASE_URL=https://api.your-talqing-host.com \
58
+ --env TALQING_BASE_URL=https://api.in.talqing.com \
51
59
  --env TALQING_API_KEY=tq_your_token \
52
60
  -- npx -y @talqing/mcp
53
61
  ```
@@ -59,7 +67,7 @@ codex mcp add talqing \
59
67
  [mcp_servers.talqing]
60
68
  command = "npx"
61
69
  args = ["-y", "@talqing/mcp"]
62
- env = { TALQING_BASE_URL = "https://api.your-talqing-host.com", TALQING_API_KEY = "tq_your_token" }
70
+ env = { TALQING_BASE_URL = "https://api.in.talqing.com", TALQING_API_KEY = "tq_your_token" }
63
71
  ```
64
72
 
65
73
  **Any other MCP client** — a stdio server, configured the usual way:
@@ -71,7 +79,7 @@ env = { TALQING_BASE_URL = "https://api.your-talqing-host.com", TALQING_API_KEY
71
79
  "command": "npx",
72
80
  "args": ["-y", "@talqing/mcp"],
73
81
  "env": {
74
- "TALQING_BASE_URL": "https://api.your-talqing-host.com",
82
+ "TALQING_BASE_URL": "https://api.in.talqing.com",
75
83
  "TALQING_API_KEY": "tq_your_token"
76
84
  }
77
85
  }
@@ -91,9 +99,20 @@ the rest, exactly as they would through the dashboard.
91
99
  Operations are annotated so clients can tell reads from writes — `readOnlyHint`
92
100
  on every GET, `destructiveHint` on every delete.
93
101
 
94
- Two things are deliberately out of reach: streaming endpoints — their polling
95
- equivalents are here, so nothing is unreachable — and user management, which
96
- stays in the dashboard where a human is in the loop.
102
+ Four things are deliberately out of reach:
103
+
104
+ - **Sign-in, organizations, members and roles, and personal access tokens.**
105
+ Those live on a separate control API that this server holds no URL for, so an
106
+ AI builder cannot mint itself a credential, and who is in the workspace stays
107
+ where a human is in the loop.
108
+ - **Buying credits.** Reading the balance would be harmless; starting a payment
109
+ spends the workspace's money, and neither belongs on a coding agent's surface.
110
+ - **Streaming endpoints**, which are not tool-shaped. Every one has a polling
111
+ equivalent here — `list_conversation_items` for a conversation, `get_kb` for a
112
+ knowledge build — so nothing is unreachable.
113
+ - **Deleting a call or its recording.** Every other `delete_*` removes
114
+ configuration you could write again; this one destroys the record of something
115
+ that happened, and can take a contact's memory of past calls with it.
97
116
 
98
117
  Some operations act on the real world. `create_outbound_call` rings a phone and
99
118
  costs money, and a message to a connected channel is one somebody receives.
@@ -116,7 +135,7 @@ cd mcp && npm install && npm run build
116
135
  "command": "node",
117
136
  "args": ["/absolute/path/to/talqing/mcp/dist/index.js"],
118
137
  "env": {
119
- "TALQING_BASE_URL": "https://api.your-talqing-host.com",
138
+ "TALQING_BASE_URL": "https://api.in.talqing.com",
120
139
  "TALQING_API_KEY": "tq_your_token"
121
140
  }
122
141
  }
@@ -135,8 +154,8 @@ cannot drift from the product:
135
154
  PYTHONPATH=backend python openapi/export.py
136
155
  ```
137
156
 
138
- `tools.json` comes from `backend/api/operations.py`, the same registry the
139
- CoPilot binds its tools from; `SKILL.md` comes from
157
+ `tools.json` comes from `backend/api/dataplane/operations.py`, the same registry
158
+ the CoPilot binds its tools from; `SKILL.md` comes from
140
159
  `backend/services/copilot/skill.md`, the same text the CoPilot is prompted with.
141
160
  Edit those, re-run the export, and both surfaces move together.
142
161
 
package/SKILL.md CHANGED
@@ -27,6 +27,12 @@ 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
+
30
36
  ## What an agent is
31
37
 
32
38
  An agent is a single object, `config`, plus what you attach to it:
@@ -35,7 +41,8 @@ An agent is a single object, `config`, plus what you attach to it:
35
41
  - **`channel`** — `voice` (phone/web call), `video` (a voice agent wearing an
36
42
  Anam avatar) or `text` (chat). The channel decides which model slots exist.
37
43
  - **`prompt`** — the system prompt. This is where the agent's behaviour lives.
38
- - **`greeting`** — the line spoken on connect. Voice and video only.
44
+ - **`greeting`** — the line spoken on connect, and on the way in from a
45
+ handoff. Voice and video only.
39
46
 
40
47
  Both are personalized per session: `{{userdata.field}}` is substituted from
41
48
  the session's userdata when the agent starts, so *"You are speaking with
@@ -152,8 +159,8 @@ An agent is a single object, `config`, plus what you attach to it:
152
159
  `{"integration_id": "..."}` naming an active, MCP-capable integration. Which
153
160
  of a server's tools may be called is the integration's own `allowed_tools`,
154
161
  not this list. As with `tools`, an entry may instead carry `{"mcp": {name,
155
- url, headers, allowed_tools}}`, which is created as a `custom_mcp` integration
156
- and replaced by its id.
162
+ url, headers, allowed_tools, tools_namespace}}`, which is created as a
163
+ `custom_mcp` integration and replaced by its id.
157
164
  - **`handoffs`** — where this agent may pass the conversation next, each
158
165
  `{"name": "Billing", "agent_id": "...", "description": "...", "context":
159
166
  "transcript" | "summary" | "none", "recent_turns": 2, "summary_prompt": "...",
@@ -770,9 +777,10 @@ before hanging up — logging the outcome, posting a lead — goes **before** th
770
777
 
771
778
  Each hook points at a **published tool id**, or null.
772
779
 
773
- - **`on_enter`** — a session opens. On voice and video it runs alongside the
774
- greeting on first entry; on text, when the conversation window opens. Handoffs
775
- skip the greeting.
780
+ - **`on_enter`** — a session opens. It finishes *before* the greeting, which
781
+ waits for it and reads whatever it published to userdata; on text, when the
782
+ conversation window opens. A handoff target runs it and then speaks its own
783
+ greeting — or, having none, opens with a generated line instead.
776
784
  - **`on_exit`** — the session closes: call end or handoff on voice and video;
777
785
  on text, `end_call`, a closed window, or about a minute idle.
778
786
  - **`on_user_turn_completed`** — after every user turn, before the LLM replies.
@@ -915,6 +923,14 @@ every turn, and a voice agent picking from ninety of them is slower and less
915
923
  accurate than one picking from six. Unlike the attachment, that approval is
916
924
  live: narrowing it reaches every already-published agent on its next turn.
917
925
 
926
+ The model does not see a server's tool names raw. Each is prefixed with the
927
+ integration's `tools_namespace` — `<namespace>_<tool>`, defaulting to the
928
+ provider key for a hosted provider and to nothing for a custom server. Read it
929
+ back off the integration, or read `exposed_name` from
930
+ `list_integration_mcp_tools`, and **write prompts against the exposed name**;
931
+ `allowed_tools` still approves the server's own names. Two attached servers
932
+ sharing a namespace fails publish.
933
+
918
934
  **Channel integrations** (Telegram) deploy an agent to a messaging
919
935
  channel through *triggers*, not MCP attachment. A trigger binds an inbound event
920
936
  to a published text agent and decides what happens with the reply.
@@ -1018,8 +1034,9 @@ afterwards will not forgive us:
1018
1034
  - **Every row runs the task as it stands right now.** Editing it while a batch
1019
1035
  is drafting changes every row generated after that moment, and there is no way
1020
1036
  to get the old wording back.
1021
- - **Bounces and spam complaints are only visible if they point a Resend webhook
1022
- at this workspace.** The URL is on the integration's page.
1037
+ - **Talqing reports what it sent, not what landed.** Deliveries, bounces and
1038
+ spam complaints live in the Resend dashboard, and watching them there is how a
1039
+ sending domain survives.
1023
1040
 
1024
1041
  ### The column space
1025
1042
 
@@ -1091,9 +1108,6 @@ or on the first `configuration` failure (a deleted task, a field map an edit
1091
1108
  broke) or the first account-level send failure (a revoked key, an unverified
1092
1109
  domain) — because those will fail identically for every remaining row.
1093
1110
 
1094
- `delivery_status` on a row is Resend's verdict, separate from ours: `sent` is
1095
- what we did, `delivered` / `bounced` / `complained` is what happened next.
1096
-
1097
1111
  ## Knowledge bases
1098
1112
 
1099
1113
  A knowledge base gives an agent grounded answers over crawled content. Attach
package/dist/index.js CHANGED
@@ -29,9 +29,13 @@ function required(name, hint) {
29
29
  return value;
30
30
  }
31
31
  const BASE_URL = required("TALQING_BASE_URL", "set it to your Talqing API URL, e.g. https://api.your-talqing-host.com").replace(/\/+$/, "");
32
- const API_KEY = required("TALQING_API_KEY", "create a personal access token in the dashboard under Settings → Tokens");
32
+ const API_KEY = required("TALQING_API_KEY", "create a personal access token in the dashboard under OrganizationAPI Tokens");
33
33
  const { tools: operations } = JSON.parse(readPackageFile("tools.json"));
34
34
  const byName = new Map(operations.map((operation) => [operation.name, operation]));
35
+ /* Read, not restated. A client shows this version when it reports the server it
36
+ connected to, and a second copy of the number is one `npm version` away from
37
+ being wrong. */
38
+ const { version: VERSION } = JSON.parse(readPackageFile("package.json"));
35
39
  /** The skill, minus its frontmatter — handed to the client as server instructions. */
36
40
  function instructions() {
37
41
  const markdown = readPackageFile("SKILL.md");
@@ -108,7 +112,7 @@ async function call(name, args) {
108
112
  }
109
113
  return { content: [{ type: "text", text: text || "{}" }] };
110
114
  }
111
- const server = new Server({ name: "talqing", version: "0.1.0" }, { capabilities: { tools: {} }, instructions: instructions() });
115
+ const server = new Server({ name: "talqing", version: VERSION }, { capabilities: { tools: {} }, instructions: instructions() });
112
116
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
113
117
  tools: operations.map(describe),
114
118
  }));
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":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAGvB,MAAM,oCAAoC,CAAC;AAc5C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAEzE,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,kFAAkF;AAClF,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,QAAQ,GAAG,QAAQ,CACvB,kBAAkB,EAClB,wEAAwE,CACzE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtB,MAAM,OAAO,GAAG,QAAQ,CACtB,iBAAiB,EACjB,iFAAiF,CAClF,CAAC;AAEF,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAc,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;AACnF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAEnF;;kBAEkB;AAClB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAwB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;AAE9F,sFAAsF;AACtF,SAAS,YAAY;IACnB,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AAChG,CAAC;AAED,SAAS,QAAQ,CAAC,SAAoB;IACpC,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,WAAW,EAAE,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,WAAW,EAAE;QAChF,WAAW,EAAE,SAAS,CAAC,UAAiC;QACxD,WAAW,EAAE;YACX,YAAY,EAAE,SAAS,CAAC,SAAS;YACjC,eAAe,EAAE,SAAS,CAAC,MAAM,KAAK,QAAQ;YAC9C,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;YACnE,aAAa,EAAE,KAAK;SACrB;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,SAAoB,EAAE,IAA6B;IACrE,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IAE9B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC;QAClF,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5B,OAAO,SAAS,CAAC,IAAI,CAAC;IAEtB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,aAAa,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;IAC/E,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAErE,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO;QACP,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,SAAmB,EAAE;IACrD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClF,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,IAAY,EAAE,IAA6B;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IAE7D,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2EAA2E;QAC3E,2EAA2E;QAC3E,OAAO,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,0EAA0E;QAC1E,gEAAgE;QAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3F,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EACrC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,CAC9D,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;CAChC,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAChE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC,CACvF,CAAC;AAEF,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talqing/mcp",
3
- "version": "0.1.0",
3
+ "version": "0.2.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
@@ -2,20 +2,6 @@
2
2
  "api_prefix": "/v1",
3
3
  "api_version": "1.0.0",
4
4
  "tools": [
5
- {
6
- "description": "Who this credential is: the signed-in user, their role, and the organization.\n\nEverything else you can reach is scoped to that organization, and `role`\n(`ADMIN`, `EDITOR` or `VIEWER`) decides whether writes will be accepted. A\nuser may belong to several organizations with a different role in each; this\nreports the one this credential is for.",
7
- "method": "GET",
8
- "name": "me",
9
- "parameters": {
10
- "additionalProperties": false,
11
- "properties": {},
12
- "required": [],
13
- "type": "object"
14
- },
15
- "path": "/v1/auth/me",
16
- "read_only": true,
17
- "role": "read"
18
- },
19
5
  {
20
6
  "description": "List the workspace's agents, newest edit first.\n\nEach item carries the full draft config and the published version number\n(null while the agent has never been published).",
21
7
  "method": "GET",
@@ -1009,6 +995,17 @@
1009
995
  "additionalProperties": true,
1010
996
  "type": "object"
1011
997
  },
998
+ "tools_namespace": {
999
+ "anyOf": [
1000
+ {
1001
+ "pattern": "^$|^[a-z][a-z0-9_]{0,23}$",
1002
+ "type": "string"
1003
+ },
1004
+ {
1005
+ "type": "null"
1006
+ }
1007
+ ]
1008
+ },
1012
1009
  "webhook_config": {
1013
1010
  "additionalProperties": true,
1014
1011
  "type": "object"
@@ -1154,6 +1151,17 @@
1154
1151
  }
1155
1152
  ]
1156
1153
  },
1154
+ "tools_namespace": {
1155
+ "anyOf": [
1156
+ {
1157
+ "pattern": "^$|^[a-z][a-z0-9_]{0,23}$",
1158
+ "type": "string"
1159
+ },
1160
+ {
1161
+ "type": "null"
1162
+ }
1163
+ ]
1164
+ },
1157
1165
  "webhook_config": {
1158
1166
  "anyOf": [
1159
1167
  {
@@ -5659,88 +5667,6 @@
5659
5667
  "read_only": false,
5660
5668
  "role": "admin"
5661
5669
  },
5662
- {
5663
- "description": "List personal access tokens: your own, or every one in the organization\nif you are an admin.\n\nWho holds which credential is organization-admin information, so an EDITOR\nor VIEWER sees only what they created. Plaintext token values are never\nreturned. A token with `kind: mcp` was issued automatically for the\ndashboard's MCP setup; the rest were created by hand.",
5664
- "method": "GET",
5665
- "name": "list_tokens",
5666
- "parameters": {
5667
- "additionalProperties": false,
5668
- "properties": {
5669
- "limit": {
5670
- "default": 200,
5671
- "maximum": 200,
5672
- "minimum": 1,
5673
- "type": "integer"
5674
- },
5675
- "offset": {
5676
- "default": 0,
5677
- "minimum": 0,
5678
- "type": "integer"
5679
- }
5680
- },
5681
- "required": [],
5682
- "type": "object"
5683
- },
5684
- "path": "/v1/tokens",
5685
- "read_only": true,
5686
- "role": "read"
5687
- },
5688
- {
5689
- "description": "Create a personal access token for driving this API without the dashboard.\n\nThe token authenticates as its creator and acts with that user's live role,\nso it can never do more than they can. It does not expire; deleting it is\nthe revocation. The plaintext value is returned once here and never again \u2014\ntreat it like a password and do not echo it back into a conversation.",
5690
- "method": "POST",
5691
- "name": "create_token",
5692
- "parameters": {
5693
- "$defs": {
5694
- "CreateTokenRequest": {
5695
- "properties": {
5696
- "name": {
5697
- "maxLength": 100,
5698
- "minLength": 1,
5699
- "type": "string"
5700
- }
5701
- },
5702
- "required": [
5703
- "name"
5704
- ],
5705
- "type": "object"
5706
- }
5707
- },
5708
- "additionalProperties": false,
5709
- "properties": {
5710
- "body": {
5711
- "$ref": "#/$defs/CreateTokenRequest"
5712
- }
5713
- },
5714
- "required": [
5715
- "body"
5716
- ],
5717
- "type": "object"
5718
- },
5719
- "path": "/v1/tokens",
5720
- "read_only": false,
5721
- "role": "read"
5722
- },
5723
- {
5724
- "description": "Revoke a token immediately and permanently.\n\nOwners can delete their own; organization admins can delete any in the\norganization. Deleting an `mcp` token rotates it: the owner's next dashboard\nvisit issues a replacement, and anything still configured with the old one\nstops working.",
5725
- "method": "DELETE",
5726
- "name": "delete_token",
5727
- "parameters": {
5728
- "additionalProperties": false,
5729
- "properties": {
5730
- "token_id": {
5731
- "format": "uuid",
5732
- "type": "string"
5733
- }
5734
- },
5735
- "required": [
5736
- "token_id"
5737
- ],
5738
- "type": "object"
5739
- },
5740
- "path": "/v1/tokens/{token_id}",
5741
- "read_only": false,
5742
- "role": "read"
5743
- },
5744
5670
  {
5745
5671
  "description": "The full JSON Schema of one of the five large request types.\n\nAn argument whose description ends in `describe_schema('X')` carries only a\nplaceholder for its shape \u2014 fetch the real one here before writing it.\n\n- `AgentConfig` \u2014 a whole agent definition; what `create_agent` takes.\n- `AgentOverride` \u2014 the same tree, every field optional, for one call.\n- `AgentTeam` \u2014 several agents on one call, handing off to each other.\n- `TaskConfig` \u2014 an agent task: inputs, output shape, model stack.\n- `ToolOperations` \u2014 the operation tree a custom tool runs.\n\nThese compose, so a document you fetch may itself defer to another.",
5746
5672
  "method": "GET",