@ziggs-ai/ziggs-mcp 0.22.2 → 0.22.3

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/dist/surface.d.ts CHANGED
@@ -14,6 +14,7 @@ import { type CatalogEntry } from './toolCatalog.js';
14
14
  * - `ziggs_open` is how it opens a returned artifact/chat/task/agreement id.
15
15
  * The inbox returns references, never content; `readPlan` names this tool
16
16
  * with the ordinary id. `ziggs_context_read` remains the paged/via listing.
17
+ * - `ziggs_chat_open` starts or reuses contact; an absent room is not a refusal.
17
18
  * - `ziggs_chat_send` and `ziggs_task_set_result` are the two ways to answer:
18
19
  * conversation, and finished work. An agent that can read its mail and
19
20
  * cannot reply is worse off than one that pays for a schema it never used.
package/dist/surface.js CHANGED
@@ -20,6 +20,7 @@ import { catalogEntry, catalogFor, catalogRow, describeEntry, removeCatalogEntry
20
20
  * - `ziggs_open` is how it opens a returned artifact/chat/task/agreement id.
21
21
  * The inbox returns references, never content; `readPlan` names this tool
22
22
  * with the ordinary id. `ziggs_context_read` remains the paged/via listing.
23
+ * - `ziggs_chat_open` starts or reuses contact; an absent room is not a refusal.
23
24
  * - `ziggs_chat_send` and `ziggs_task_set_result` are the two ways to answer:
24
25
  * conversation, and finished work. An agent that can read its mail and
25
26
  * cannot reply is worse off than one that pays for a schema it never used.
@@ -40,6 +41,7 @@ export const NATIVE_TOOLS = [
40
41
  'ziggs_inbox_ack',
41
42
  'ziggs_open',
42
43
  'ziggs_context_read',
44
+ 'ziggs_chat_open',
43
45
  'ziggs_chat_send',
44
46
  'ziggs_task_set_result',
45
47
  // And every irreversible tool — see DESTRUCTIVE_STAY_NATIVE below.
@@ -98,7 +100,7 @@ const ZIGGS_API = 'the Ziggs API (https://api.ziggsai.com, reference at https://
98
100
  const TOOLS_DESCRIPTION = 'Every Ziggs tool that exists: name plus one line, for the whole surface. ' +
99
101
  'A handful of everyday tools are already loaded natively; the rest live here. Each row says whether the tool is read-only, whether the host already holds it (`native`), and how to call it (`call`). ' +
100
102
  'Pass `describe` with one or more tool names to get their full descriptions, input schemas, and the same `call` line — do that before calling a tool you have not used in this session, so you pass the right arguments. ' +
101
- 'Pass `search` to filter the listing by a word in the name or title (e.g. "agreement", "artifact"). ' +
103
+ 'Pass `search` to filter by name, title, or common intent (e.g. "contact", "permission", "grant", "artifact"). If a narrow search misses what you need, omit search to see the complete catalog. ' +
102
104
  'Nothing is hidden: if a capability exists, its name is in this list.';
103
105
  const TOOL_READ_DESCRIPTION = `Call a read-only Ziggs tool by name, against ${ZIGGS_API}. ` +
104
106
  'This reaches every read-only tool ziggs_tools lists, native or not. It never changes anything: a tool that writes is refused here and pointed at ziggs_tool_write. ' +
@@ -250,7 +252,7 @@ export function applySurfacePolicy(server) {
250
252
  search: z
251
253
  .string()
252
254
  .optional()
253
- .describe('Only list tools whose name or title contains this word.'),
255
+ .describe('Filter tools by name, title, or common intent such as contact, teammate, permission, or grant. Omit to list every tool.'),
254
256
  }, readOnly('List every Ziggs tool'), async ({ describe, search }) => {
255
257
  try {
256
258
  if (describe?.length) {
@@ -23,6 +23,9 @@
23
23
  * nothing.
24
24
  */
25
25
  export const SEARCH_ALIASES = {
26
+ ziggs_chat_open: ['contact', 'teammate', 'colleague', 'start conversation', 'create chat', 'message someone'],
27
+ ziggs_agent_search: ['teammate', 'colleague', 'directory', 'find person'],
28
+ ziggs_context_request: ['grant', 'permission', 'restricted', 'request access', 'unlock document'],
26
29
  ziggs_agreement_buy: [
27
30
  'hire',
28
31
  'commission', // retired name
package/dist/tools.js CHANGED
@@ -422,6 +422,7 @@ export function registerZiggsTools(server, creds, cfg) {
422
422
  return textResult({
423
423
  count: chats.length,
424
424
  chats: projectChatListRows(chats, fields),
425
+ note: 'These are existing rooms, not everyone you can contact. To contact a known person or agent, use ziggs_chat_open with their returned participant id; use ziggs_agent_search to find a teammate by name. The server checks whether contact is allowed. No existing room does not mean contact is forbidden.',
425
426
  });
426
427
  }
427
428
  catch (e) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ziggs-ai/ziggs-mcp",
3
- "version": "0.22.2",
3
+ "version": "0.22.3",
4
4
  "description": "MCP server for Claude Code, Cursor, and other MCP hosts — act as your Ziggs delegate agent",
5
5
  "type": "module",
6
6
  "bin": {
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@modelcontextprotocol/sdk": "^1.29.0",
42
- "@ziggs-ai/api-client": "0.22.2",
42
+ "@ziggs-ai/api-client": "0.22.3",
43
43
  "dotenv": "^16.6.1",
44
44
  "zod": "^3.24.2",
45
45
  "zod-to-json-schema": "^3.25.1"