@fruggr/zendesk-mcp-server 2.14.2 → 2.16.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 +35 -13
- package/dist/index.js +392 -132
- package/dist/index.js.map +1 -1
- package/package.json +8 -7
package/README.md
CHANGED
|
@@ -155,25 +155,47 @@ The full tool-by-tool reference — every tool with its description and its
|
|
|
155
155
|
|
|
156
156
|
Beyond tools, the server hands an LLM the structural context it needs to work
|
|
157
157
|
against *your* Help Center — so it stops guessing locales or fuzzy-matching
|
|
158
|
-
section names and uses real IDs instead. This is delivered through
|
|
159
|
-
|
|
160
|
-
|
|
158
|
+
section names and uses real IDs instead. This is delivered through MCP-native
|
|
159
|
+
channels (all active only when the `help_center` namespace is), each fetched
|
|
160
|
+
**with the caller's own token** so it respects that user's read permissions:
|
|
161
161
|
|
|
162
162
|
- **`instructions`** (sent on `initialize`): a short, static blob auto-loaded by
|
|
163
163
|
compliant clients. It names the subdomain and points at the topology resource.
|
|
164
164
|
- **`zendesk-hc://topology`** (a pull-only [MCP resource](https://modelcontextprotocol.io/docs/concepts/resources)):
|
|
165
165
|
read on demand, it returns Markdown describing the active locales (and the
|
|
166
166
|
default), the category → section tree with IDs, the visibility user segments,
|
|
167
|
-
the permission groups, and the calling user's role.
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
the
|
|
167
|
+
the permission groups, and the calling user's role. Listing the permission
|
|
168
|
+
groups and user segments needs Guide-admin / Help Center manager rights; with a
|
|
169
|
+
content-editor token those two sections are marked *unavailable* (not empty) and
|
|
170
|
+
the rest still renders — reuse those IDs from an existing article (`get_article`)
|
|
171
|
+
instead. On a very large Help Center the section tree is summarized (per-category,
|
|
172
|
+
with a pointer to `list_sections`) to stay concise.
|
|
173
|
+
- **`zendesk-hc://article/{id}`** (pull-only [MCP resources](https://modelcontextprotocol.io/docs/concepts/resources)):
|
|
174
|
+
two distinct capabilities. **Read-by-id** — any article id can be read on demand,
|
|
175
|
+
returned as Markdown (a cheap single fetch, no preloading). **Promoted pre-listing** —
|
|
176
|
+
the resource's listing surfaces the promoted (*featured*) articles so a user can
|
|
177
|
+
pin one in clients that support resource pinning / @-mention, and the companion
|
|
178
|
+
`list_promoted_articles` tool returns the same set. Clients that don't support
|
|
179
|
+
resources ignore these silently.
|
|
180
|
+
<br>**Cost:** only the *pre-listing* costs requests — finding promoted articles has
|
|
181
|
+
no server-side filter, so it scans article pages (one Zendesk API request per page,
|
|
182
|
+
capped). The resource listing is cached briefly per session (repeated `resources/list`
|
|
183
|
+
calls coalesce); the `list_promoted_articles` tool performs a fresh scan on every
|
|
184
|
+
call. It runs only on a client's `resources/list` or a tool call, never at connect,
|
|
185
|
+
and consumes no LLM context until an article is pinned/read. Read-by-id costs one
|
|
186
|
+
fetch, only when a specific article is opened. See
|
|
187
|
+
[`ZENDESK_ARTICLE_RESOURCES_SCAN_MAX_PAGES`](docs/configuration.md#zendesk_article_resources_scan_max_pages).
|
|
188
|
+
|
|
189
|
+
The `instructions` blob and the topology resource are toggled together with
|
|
190
|
+
`--no-topology`. The **promoted pre-listing** is toggled independently with
|
|
191
|
+
`--no-promoted-articles` — which turns off the resource `list` scan **and** the
|
|
192
|
+
`list_promoted_articles` tool, so the server makes zero preloading requests;
|
|
193
|
+
**reading a known article by id stays available** (it never preloads). Clients that
|
|
194
|
+
don't consume `instructions` or `resources` simply ignore them — the feature
|
|
195
|
+
degrades silently. The `zendesk-hc://` URI scheme is the default; a deployer can
|
|
196
|
+
brand it with
|
|
197
|
+
[`--hc-resource-scheme` / `HC_RESOURCE_SCHEME`](docs/configuration.md#hc_resource_scheme)
|
|
198
|
+
(e.g. `wiki` → `wiki://topology`, `wiki://article/{id}`).
|
|
177
199
|
|
|
178
200
|
## Prerequisites
|
|
179
201
|
|