tracepass-mcp-server 1.2.0 → 1.4.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 +55 -10
- package/dist/http.d.ts +11 -3
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +98 -38
- package/dist/http.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +63 -12
- package/dist/tools.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -20,12 +20,49 @@ The same server core ships two ways:
|
|
|
20
20
|
2. **Local (npm)** — run `tracepass-mcp-server` via `npx`. The MCP
|
|
21
21
|
client launches it as a subprocess and speaks MCP over stdio.
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
## Authentication
|
|
24
|
+
|
|
25
|
+
The server accepts **either** of TracePass's two v1 auth methods on the
|
|
26
|
+
same `Authorization: Bearer …` header — it forwards whatever you send to
|
|
27
|
+
the API, which decides. Pick the one that fits how you're connecting:
|
|
28
|
+
|
|
29
|
+
| | **API key** | **OAuth 2.0** |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| Best for | A single user, scripts, server-to-server | AI assistants / apps acting **on a user's behalf** |
|
|
32
|
+
| What you send | A static `tp_…` key as a Bearer token | A scoped access token obtained via the OAuth flow |
|
|
33
|
+
| Setup | Mint at **Developer → API Keys** | The user clicks **Connect** and approves scopes |
|
|
34
|
+
| Scope | All-or-nothing (the whole workspace) | Exactly the scopes the user granted; revocable |
|
|
35
|
+
| Works with | Hosted **and** local (npx) | Hosted endpoint only (needs a browser consent step) |
|
|
36
|
+
|
|
37
|
+
**Which should an AI assistant use?** If your MCP client supports OAuth
|
|
38
|
+
(Claude.ai, ChatGPT, and others), prefer **OAuth** — the user authorizes
|
|
39
|
+
the connection once on a TracePass consent screen, you never handle a
|
|
40
|
+
secret, and access is least-privilege and revocable. If your client only
|
|
41
|
+
takes a header/token, use an **API key**.
|
|
42
|
+
|
|
43
|
+
### OAuth 2.0 (recommended for hosted clients)
|
|
44
|
+
|
|
45
|
+
No config beyond pointing your client at the hosted endpoint — discovery
|
|
46
|
+
is automatic. On the first unauthenticated request the server returns a
|
|
47
|
+
`401` whose `WWW-Authenticate` header carries a `resource_metadata` URL
|
|
48
|
+
(RFC 9728) pointing at `/.well-known/oauth-protected-resource`, which
|
|
49
|
+
names the TracePass authorization server. The client runs the standard
|
|
50
|
+
**authorization-code flow with PKCE** (`/api/oauth/authorize` →
|
|
51
|
+
`/api/oauth/token`), the user approves scopes, and the client stores +
|
|
52
|
+
refreshes the token. If you distribute your own client, register an app
|
|
53
|
+
under **Developer → OAuth Apps** to get a `client_id`; many hosted
|
|
54
|
+
clients self-register via Dynamic Client Registration automatically.
|
|
55
|
+
|
|
56
|
+
Request only the scopes you need, e.g. `passports:read passports:write
|
|
57
|
+
offline_access`. Users manage connected apps (and revoke) under
|
|
58
|
+
**Developer → OAuth Apps → Connected Apps**.
|
|
59
|
+
|
|
60
|
+
### API key
|
|
61
|
+
|
|
62
|
+
Mint a `tp_…` key under **Developer → API Keys** and send it as a Bearer
|
|
63
|
+
token.
|
|
64
|
+
|
|
65
|
+
**Hosted:**
|
|
29
66
|
|
|
30
67
|
```json
|
|
31
68
|
{
|
|
@@ -38,7 +75,8 @@ Both need a TracePass API key — mint one in the dashboard under
|
|
|
38
75
|
}
|
|
39
76
|
```
|
|
40
77
|
|
|
41
|
-
|
|
78
|
+
**Local (npx / stdio)** — the local subprocess can't do an interactive
|
|
79
|
+
OAuth consent step, so it's API-key only, via the `TRACEPASS_API_KEY` env:
|
|
42
80
|
|
|
43
81
|
```json
|
|
44
82
|
{
|
|
@@ -66,12 +104,19 @@ each taking an `action` plus action-specific `args`:
|
|
|
66
104
|
| Tool | Actions |
|
|
67
105
|
|------|---------|
|
|
68
106
|
| `tracepass_products` | `list`, `get`, `create`, `update` |
|
|
69
|
-
| `tracepass_passports` | `list`, `get`, `get_by_serial`, `compliance`, `create`, `suspend`, `archive`, `get_qr` |
|
|
70
|
-
| `tracepass_passport_fields` | `update` |
|
|
107
|
+
| `tracepass_passports` | `list`, `get`, `get_by_serial`, `compliance`, `create`, `suspend`, `suspend_by_serial`, `archive`, `archive_by_serial`, `get_qr` |
|
|
108
|
+
| `tracepass_passport_fields` | `update`, `update_by_serial` |
|
|
71
109
|
| `tracepass_passport_parties` | `set`, `remove` |
|
|
72
|
-
| `tracepass_epcis` | `export`, `capture`, `capture_job`, `query` |
|
|
110
|
+
| `tracepass_epcis` | `export`, `export_by_serial`, `capture`, `capture_job`, `query` |
|
|
73
111
|
| `tracepass_templates` | `list`, `get` |
|
|
74
112
|
|
|
113
|
+
The **`*_by_serial`** actions address a passport by the customer's own serial
|
|
114
|
+
number instead of its TracePass id. A serial is unique only *within a GTIN*, so
|
|
115
|
+
if the same serial exists under two GTINs in your account a serial-only call
|
|
116
|
+
returns **409 `ambiguous_serial`** — pass the optional `gtin` arg to disambiguate
|
|
117
|
+
(or use the by-id action). The same `gtin` disambiguator applies to every
|
|
118
|
+
`*_by_serial` action.
|
|
119
|
+
|
|
75
120
|
The **`tracepass_passports` `compliance`** action returns a three-tier
|
|
76
121
|
compliance verdict (`compliant` / `compliant_with_warnings` /
|
|
77
122
|
`incomplete`) with regulation-cited findings — missing required fields,
|
package/dist/http.d.ts
CHANGED
|
@@ -3,12 +3,20 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Runs as a standalone Node service (deployed to Hetzner, served at
|
|
5
5
|
* https://ai.tracepass.eu/mcp). An MCP client connects over
|
|
6
|
-
* Streamable HTTP; the
|
|
7
|
-
* `Authorization: Bearer
|
|
6
|
+
* Streamable HTTP; the caller's TracePass credential travels in the
|
|
7
|
+
* `Authorization: Bearer <token>` header of every request.
|
|
8
|
+
*
|
|
9
|
+
* BOTH v1 auth methods work here, transparently — we forward the
|
|
10
|
+
* Bearer token to the v1 API unchanged and the platform's unified gate
|
|
11
|
+
* decides: a `tp_…` API key (service account) OR an OAuth 2.0 access
|
|
12
|
+
* token (user-authorized, scoped). The server neither parses nor cares
|
|
13
|
+
* which; it's a pass-through. OAuth-capable MCP clients (Claude.ai,
|
|
14
|
+
* ChatGPT) discover the flow via the 401 `resource_metadata` param and
|
|
15
|
+
* the server card; simpler clients paste a tp_ key.
|
|
8
16
|
*
|
|
9
17
|
* Stateless by design: each MCP request is self-contained, so we
|
|
10
18
|
* build a fresh server + transport per request, bound to that
|
|
11
|
-
* request's
|
|
19
|
+
* request's token. No server-side session state — which means the
|
|
12
20
|
* service scales horizontally and a restart drops nothing.
|
|
13
21
|
*
|
|
14
22
|
* This is the SAME server core (`createMcpServer`) the stdio
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG"}
|
package/dist/http.js
CHANGED
|
@@ -3,12 +3,20 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Runs as a standalone Node service (deployed to Hetzner, served at
|
|
5
5
|
* https://ai.tracepass.eu/mcp). An MCP client connects over
|
|
6
|
-
* Streamable HTTP; the
|
|
7
|
-
* `Authorization: Bearer
|
|
6
|
+
* Streamable HTTP; the caller's TracePass credential travels in the
|
|
7
|
+
* `Authorization: Bearer <token>` header of every request.
|
|
8
|
+
*
|
|
9
|
+
* BOTH v1 auth methods work here, transparently — we forward the
|
|
10
|
+
* Bearer token to the v1 API unchanged and the platform's unified gate
|
|
11
|
+
* decides: a `tp_…` API key (service account) OR an OAuth 2.0 access
|
|
12
|
+
* token (user-authorized, scoped). The server neither parses nor cares
|
|
13
|
+
* which; it's a pass-through. OAuth-capable MCP clients (Claude.ai,
|
|
14
|
+
* ChatGPT) discover the flow via the 401 `resource_metadata` param and
|
|
15
|
+
* the server card; simpler clients paste a tp_ key.
|
|
8
16
|
*
|
|
9
17
|
* Stateless by design: each MCP request is self-contained, so we
|
|
10
18
|
* build a fresh server + transport per request, bound to that
|
|
11
|
-
* request's
|
|
19
|
+
* request's token. No server-side session state — which means the
|
|
12
20
|
* service scales horizontally and a restart drops nothing.
|
|
13
21
|
*
|
|
14
22
|
* This is the SAME server core (`createMcpServer`) the stdio
|
|
@@ -29,6 +37,16 @@ const BASE_URL = process.env.TRACEPASS_BASE_URL?.trim() || DEFAULT_BASE_URL;
|
|
|
29
37
|
const MCP_PATH = "/mcp";
|
|
30
38
|
/** The MCP server card discovery path (SEP-1649). */
|
|
31
39
|
const SERVER_CARD_PATH = "/.well-known/mcp/server-card.json";
|
|
40
|
+
/**
|
|
41
|
+
* RFC 9728 Protected Resource Metadata path. The MCP authorization spec has a
|
|
42
|
+
* client fetch this (pointed to by the `resource_metadata` param on our 401
|
|
43
|
+
* `WWW-Authenticate` challenge) to discover which authorization server protects
|
|
44
|
+
* this resource. TracePass now runs a real OAuth2 authorization server on the
|
|
45
|
+
* platform origin (BASE_URL, app.tracepass.eu), so we name it here. This is the
|
|
46
|
+
* resource server (ai.tracepass.eu); the authorization server is a different
|
|
47
|
+
* origin — RFC 9728 is exactly the indirection for that split.
|
|
48
|
+
*/
|
|
49
|
+
const PROTECTED_RESOURCE_METADATA_PATH = "/.well-known/oauth-protected-resource";
|
|
32
50
|
/**
|
|
33
51
|
* Glama connector ownership-claim path. Glama probes the CONNECTOR's
|
|
34
52
|
* own host (ai.tracepass.eu) for this file to verify we maintain the
|
|
@@ -50,14 +68,15 @@ const GLAMA_CLAIM = {
|
|
|
50
68
|
* because discovery precedes auth.
|
|
51
69
|
*
|
|
52
70
|
* Every value here mirrors the real server: `serverInfo` matches
|
|
53
|
-
* `
|
|
71
|
+
* `MCP_SERVER_INFO` in server.ts (tracepass / 1.4.0); the capability lists are
|
|
54
72
|
* the exact tool names from tools.ts, resource URIs/templates from
|
|
55
73
|
* resources.ts, and prompt names from prompts.ts. Keep this in sync when
|
|
56
74
|
* capabilities change — a card that over-claims is worse than no card.
|
|
57
75
|
*
|
|
58
|
-
* `authentication`
|
|
59
|
-
*
|
|
60
|
-
*
|
|
76
|
+
* `authentication` declares BOTH supported methods: a static API-key Bearer
|
|
77
|
+
* scheme AND OAuth2 (the platform now runs a real authorization server). The
|
|
78
|
+
* `resourceMetadata` URL points at our RFC 9728 protected-resource document
|
|
79
|
+
* (see the WWW-Authenticate note on the 401 path).
|
|
61
80
|
*
|
|
62
81
|
* MIRROR: a byte-equivalent copy of this card is also served as a static
|
|
63
82
|
* file from the marketing site at
|
|
@@ -69,24 +88,29 @@ const GLAMA_CLAIM = {
|
|
|
69
88
|
*/
|
|
70
89
|
const SERVER_CARD = {
|
|
71
90
|
name: "tracepass",
|
|
72
|
-
version: "1.
|
|
91
|
+
version: "1.4.0",
|
|
73
92
|
description: "Model Context Protocol server for TracePass — the EU Digital Product Passport platform. Manage products, Digital Product Passports, economic-operator parties, and GS1 EPCIS 2.0 supply-chain events.",
|
|
74
|
-
serverInfo: { name: "tracepass", version: "1.
|
|
93
|
+
serverInfo: { name: "tracepass", version: "1.4.0" },
|
|
75
94
|
transport: {
|
|
76
95
|
type: "streamable-http",
|
|
77
96
|
endpoint: `https://ai.tracepass.eu${MCP_PATH}`,
|
|
78
97
|
},
|
|
79
98
|
authentication: {
|
|
80
|
-
// SEP-1649 fields
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
//
|
|
99
|
+
// SEP-1649 fields. TracePass now supports BOTH auth methods, so schemes
|
|
100
|
+
// lists both: "bearer" (a static tp_ API key — simplest, server-to-server)
|
|
101
|
+
// and "oauth2" (user-authorized, via the platform's authorization server —
|
|
102
|
+
// discovery at the resource-metadata URL below). A client that can do the
|
|
103
|
+
// OAuth flow gets a "Connect" experience; one that can't falls back to a
|
|
104
|
+
// pasted API key. The type/scheme fields describe the Bearer default for
|
|
105
|
+
// human + non-SEP-1649 readers.
|
|
85
106
|
required: true,
|
|
86
|
-
schemes: ["bearer"],
|
|
107
|
+
schemes: ["bearer", "oauth2"],
|
|
87
108
|
type: "http",
|
|
88
109
|
scheme: "bearer",
|
|
89
|
-
|
|
110
|
+
// RFC 9728 resource-metadata URL — where an OAuth-capable client learns
|
|
111
|
+
// which authorization server protects this resource.
|
|
112
|
+
resourceMetadata: `https://ai.tracepass.eu${PROTECTED_RESOURCE_METADATA_PATH}`,
|
|
113
|
+
description: "Two ways to authenticate, pick one. (1) OAuth 2.0 (recommended for AI assistants acting for a user): if your client supports OAuth, Connect the server and the user approves scopes on a TracePass consent screen — no secret to handle, access is scoped and revocable. Discovery is automatic via this card's resourceMetadata and the 401 WWW-Authenticate challenge (authorization-code + PKCE). (2) API key (simplest for a single user / scripts): the user mints a tp_ key at Developer -> API Keys and you send it as Authorization: Bearer <tp_ key>. The server forwards whichever you send; both reach the same v1 API.",
|
|
90
114
|
},
|
|
91
115
|
capabilities: {
|
|
92
116
|
tools: [
|
|
@@ -115,8 +139,35 @@ const SERVER_CARD = {
|
|
|
115
139
|
},
|
|
116
140
|
documentation: "https://www.tracepass.eu/docs/mcp",
|
|
117
141
|
};
|
|
118
|
-
/**
|
|
119
|
-
|
|
142
|
+
/**
|
|
143
|
+
* RFC 9728 Protected Resource Metadata. Declares that this resource
|
|
144
|
+
* (ai.tracepass.eu/mcp) is protected by the TracePass authorization server on
|
|
145
|
+
* the platform origin (BASE_URL). An OAuth-capable MCP client fetches this after
|
|
146
|
+
* a 401, then drives the authorization-code flow against the named auth server.
|
|
147
|
+
* `scopes_supported` mirrors the platform's OAuth scopes so a client can request
|
|
148
|
+
* least-privilege.
|
|
149
|
+
*/
|
|
150
|
+
const PROTECTED_RESOURCE_METADATA = {
|
|
151
|
+
resource: `https://ai.tracepass.eu${MCP_PATH}`,
|
|
152
|
+
authorization_servers: [BASE_URL],
|
|
153
|
+
scopes_supported: [
|
|
154
|
+
"passports:read",
|
|
155
|
+
"passports:write",
|
|
156
|
+
"documents:read",
|
|
157
|
+
"documents:write",
|
|
158
|
+
"suppliers:read",
|
|
159
|
+
"suppliers:write",
|
|
160
|
+
"offline_access",
|
|
161
|
+
],
|
|
162
|
+
bearer_methods_supported: ["header"],
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* Extract the Bearer credential from the Authorization header. This is EITHER a
|
|
166
|
+
* `tp_…` API key OR an OAuth 2.0 access token — we don't distinguish here. The
|
|
167
|
+
* token is forwarded verbatim to the v1 API, whose unified auth gate branches on
|
|
168
|
+
* the token shape (`tp_` prefix → API key, else → OAuth). Both are valid.
|
|
169
|
+
*/
|
|
170
|
+
function extractBearerToken(req) {
|
|
120
171
|
const auth = req.headers["authorization"];
|
|
121
172
|
if (typeof auth !== "string")
|
|
122
173
|
return null;
|
|
@@ -176,6 +227,15 @@ const httpServer = createServer((req, res) => {
|
|
|
176
227
|
sendJson(res, 200, SERVER_CARD);
|
|
177
228
|
return;
|
|
178
229
|
}
|
|
230
|
+
// RFC 9728 Protected Resource Metadata. Public + unauthenticated —
|
|
231
|
+
// an OAuth-capable client fetches this (pointed here by the 401
|
|
232
|
+
// WWW-Authenticate `resource_metadata` param) to discover the
|
|
233
|
+
// authorization server. NB: the edge catch-all redirect must EXCLUDE
|
|
234
|
+
// this path too (same as the card / glama paths).
|
|
235
|
+
if (url.split("?")[0] === PROTECTED_RESOURCE_METADATA_PATH) {
|
|
236
|
+
sendJson(res, 200, PROTECTED_RESOURCE_METADATA);
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
179
239
|
// Glama connector ownership claim. Public + unauthenticated. NB:
|
|
180
240
|
// the edge (Caddy) catch-all redirect for ai.tracepass.eu must
|
|
181
241
|
// EXCLUDE this path, or the claim file never reaches this handler
|
|
@@ -192,36 +252,36 @@ const httpServer = createServer((req, res) => {
|
|
|
192
252
|
});
|
|
193
253
|
return;
|
|
194
254
|
}
|
|
195
|
-
//
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
//
|
|
200
|
-
//
|
|
201
|
-
//
|
|
202
|
-
//
|
|
203
|
-
//
|
|
204
|
-
//
|
|
205
|
-
//
|
|
206
|
-
//
|
|
207
|
-
// false discovery claim — same reason www skips the auth.md
|
|
208
|
-
// check.) If TracePass ever ships real OAuth client registration,
|
|
209
|
-
// add the resource_metadata param then.
|
|
255
|
+
// A credential is required — no anonymous MCP access. Accepts either a
|
|
256
|
+
// tp_ API key or an OAuth access token (forwarded verbatim to the v1 API).
|
|
257
|
+
const bearerToken = extractBearerToken(req);
|
|
258
|
+
if (!bearerToken) {
|
|
259
|
+
// RFC 6750 Bearer challenge + RFC 9728 resource_metadata. MCP clients
|
|
260
|
+
// that do spec-compliant auth discovery read WWW-Authenticate to learn
|
|
261
|
+
// the scheme + (now) where to find the OAuth protected-resource
|
|
262
|
+
// metadata, which names the authorization server they can run the
|
|
263
|
+
// authorization-code flow against. TracePass now supports BOTH a static
|
|
264
|
+
// tp_ API key AND OAuth, so we advertise the resource_metadata param —
|
|
265
|
+
// a Connect-capable client uses OAuth; a simpler client falls back to a
|
|
266
|
+
// pasted key per the human-readable JSON below.
|
|
210
267
|
// NB: HTTP header values are Latin-1 only — no non-ASCII (the
|
|
211
268
|
// "->" stays ASCII; the UTF-8 arrow used in the JSON body below
|
|
212
269
|
// would make Node throw "Invalid character in header content").
|
|
213
270
|
res.setHeader("WWW-Authenticate", 'Bearer realm="TracePass MCP", error="invalid_token", ' +
|
|
214
|
-
|
|
271
|
+
`resource_metadata="https://ai.tracepass.eu${PROTECTED_RESOURCE_METADATA_PATH}", ` +
|
|
272
|
+
'error_description="Authenticate with a TracePass API key (Developer -> API Keys, send Authorization: Bearer <tp_ key>) or via OAuth (see resource_metadata)."');
|
|
215
273
|
sendJson(res, 401, {
|
|
216
274
|
error: "unauthorized",
|
|
217
275
|
message: "Missing API key. Send Authorization: Bearer <tp_ key>. Mint a key in the TracePass dashboard → Developer → API Keys.",
|
|
218
276
|
});
|
|
219
277
|
return;
|
|
220
278
|
}
|
|
221
|
-
// Fresh, stateless server + transport per request, bound to
|
|
222
|
-
//
|
|
223
|
-
//
|
|
224
|
-
|
|
279
|
+
// Fresh, stateless server + transport per request, bound to this
|
|
280
|
+
// request's credential. The `apiKey` config field carries whatever Bearer
|
|
281
|
+
// token arrived (tp_ key OR OAuth access token) — it's forwarded verbatim;
|
|
282
|
+
// the v1 API's unified gate validates it. The transport's handleRequest
|
|
283
|
+
// takes a Web Request and returns a Web Response.
|
|
284
|
+
const server = createMcpServer({ apiKey: bearerToken, baseUrl: BASE_URL });
|
|
225
285
|
const transport = new WebStandardStreamableHTTPServerTransport({
|
|
226
286
|
sessionIdGenerator: undefined, // stateless
|
|
227
287
|
});
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
16
16
|
* meaningful tool-surface change. */
|
|
17
17
|
export declare const MCP_SERVER_INFO: {
|
|
18
18
|
readonly name: "tracepass";
|
|
19
|
-
readonly version: "1.
|
|
19
|
+
readonly version: "1.4.0";
|
|
20
20
|
};
|
|
21
21
|
export interface CreateMcpServerConfig {
|
|
22
22
|
/** Base URL of the TracePass app — e.g. "https://app.tracepass.eu".
|
package/dist/server.js
CHANGED
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;IAC3B,WAAW,EAAE;QACX,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACjE;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;IAC3B,WAAW,EAAE;QACX,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACjE;AAwJD;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,EAAE,CA+UvE"}
|
package/dist/tools.js
CHANGED
|
@@ -115,6 +115,14 @@ const SCHEMAS = {
|
|
|
115
115
|
confirmOverage: z.boolean().optional(),
|
|
116
116
|
}),
|
|
117
117
|
passportId: z.object({ id: z.string().min(1) }),
|
|
118
|
+
// By-serial addressing. `gtin` is the optional disambiguator: a serial is
|
|
119
|
+
// unique only WITHIN a GTIN, so if the same serial exists under two GTINs in
|
|
120
|
+
// the account, a serial-only call returns 409 ambiguous_serial — pass `gtin`
|
|
121
|
+
// (or use the by-id action) to resolve exactly.
|
|
122
|
+
passportSerial: z.object({
|
|
123
|
+
serial: z.string().min(1),
|
|
124
|
+
gtin: z.string().optional(),
|
|
125
|
+
}),
|
|
118
126
|
passportQr: z.object({
|
|
119
127
|
id: z.string().min(1),
|
|
120
128
|
format: z.enum(["svg", "png"]).optional(),
|
|
@@ -124,6 +132,12 @@ const SCHEMAS = {
|
|
|
124
132
|
fieldKey: z.string().min(1),
|
|
125
133
|
value: z.unknown(),
|
|
126
134
|
}),
|
|
135
|
+
fieldUpdateBySerial: z.object({
|
|
136
|
+
serial: z.string().min(1),
|
|
137
|
+
fieldKey: z.string().min(1),
|
|
138
|
+
value: z.unknown(),
|
|
139
|
+
gtin: z.string().optional(),
|
|
140
|
+
}),
|
|
127
141
|
partySet: z.object({
|
|
128
142
|
id: z.string().min(1),
|
|
129
143
|
role: partyRoleEnum,
|
|
@@ -134,6 +148,10 @@ const SCHEMAS = {
|
|
|
134
148
|
}),
|
|
135
149
|
partyRemove: z.object({ id: z.string().min(1), role: partyRoleEnum }),
|
|
136
150
|
epcisExport: z.object({ id: z.string().min(1) }),
|
|
151
|
+
epcisExportBySerial: z.object({
|
|
152
|
+
serial: z.string().min(1),
|
|
153
|
+
gtin: z.string().optional(),
|
|
154
|
+
}),
|
|
137
155
|
epcisCapture: z.object({ events: z.unknown() }),
|
|
138
156
|
epcisCaptureJob: z.object({ jobId: z.string().min(1) }),
|
|
139
157
|
epcisQuery: z.object({ params: z.record(z.string(), z.string()).optional() }),
|
|
@@ -201,11 +219,13 @@ export function buildTools(client) {
|
|
|
201
219
|
"Actions (pass via `action`, with `args`):\n" +
|
|
202
220
|
"- list — args: { page?, limit? (≤100), productId?, status?, search? }. status ∈ draft|in_review|approved|published|suspended|expired|archived. Read-only.\n" +
|
|
203
221
|
"- get — args: { id, format? (summary|full), lang? }. Read-only.\n" +
|
|
204
|
-
"- get_by_serial — args: { serial, format?, lang? }. Read-only.\n" +
|
|
222
|
+
"- get_by_serial — args: { serial, format?, lang?, gtin? }. Read-only. Addresses the passport by your own serial. A serial is unique only WITHIN a GTIN — if the same serial exists under two GTINs in your account the call returns 409 ambiguous_serial; pass `gtin` (or use the by-id action) to resolve exactly.\n" +
|
|
205
223
|
"- compliance — args: { id }. Read-only. Returns a three-tier compliance verdict (compliant | compliant_with_warnings | incomplete) with regulation-cited findings — use to gap-check a passport against the rules for its category, fix the cited fields/parties, then re-check.\n" +
|
|
206
224
|
"- create — args: { productId, gtin, serialNumber, confirmOverage? }. BILLABLE.\n" +
|
|
207
225
|
"- suspend — args: { id }. Reversible — public QR shows 'suspended'.\n" +
|
|
226
|
+
"- suspend_by_serial — args: { serial, gtin? }. Same as suspend, addressed by your serial. 409 ambiguous_serial if the serial isn't unique in your account — pass `gtin`.\n" +
|
|
208
227
|
"- archive — args: { id }. IRREVERSIBLE — confirm with the user first.\n" +
|
|
228
|
+
"- archive_by_serial — args: { serial, gtin? }. IRREVERSIBLE, addressed by your serial — confirm first. 409 ambiguous_serial if the serial isn't unique — pass `gtin`.\n" +
|
|
209
229
|
"- get_qr — args: { id, format? (svg|png) }. Read-only.",
|
|
210
230
|
inputSchema: {
|
|
211
231
|
action: z.enum([
|
|
@@ -215,7 +235,9 @@ export function buildTools(client) {
|
|
|
215
235
|
"compliance",
|
|
216
236
|
"create",
|
|
217
237
|
"suspend",
|
|
238
|
+
"suspend_by_serial",
|
|
218
239
|
"archive",
|
|
240
|
+
"archive_by_serial",
|
|
219
241
|
"get_qr",
|
|
220
242
|
]),
|
|
221
243
|
args: z.record(z.string(), z.unknown()).optional()
|
|
@@ -265,12 +287,24 @@ export function buildTools(client) {
|
|
|
265
287
|
return p;
|
|
266
288
|
return apiResult(await client.post(`/api/v1/passports/${seg(p.id)}/suspend`));
|
|
267
289
|
}
|
|
290
|
+
case "suspend_by_serial": {
|
|
291
|
+
const p = parseArgs(SCHEMAS.passportSerial, a.args, "tracepass_passports", action);
|
|
292
|
+
if (isErr(p))
|
|
293
|
+
return p;
|
|
294
|
+
return apiResult(await client.post(`/api/v1/passports/by-serial/${seg(p.serial)}/suspend${qs({ gtin: p.gtin })}`));
|
|
295
|
+
}
|
|
268
296
|
case "archive": {
|
|
269
297
|
const p = parseArgs(SCHEMAS.passportId, a.args, "tracepass_passports", action);
|
|
270
298
|
if (isErr(p))
|
|
271
299
|
return p;
|
|
272
300
|
return apiResult(await client.post(`/api/v1/passports/${seg(p.id)}/archive`));
|
|
273
301
|
}
|
|
302
|
+
case "archive_by_serial": {
|
|
303
|
+
const p = parseArgs(SCHEMAS.passportSerial, a.args, "tracepass_passports", action);
|
|
304
|
+
if (isErr(p))
|
|
305
|
+
return p;
|
|
306
|
+
return apiResult(await client.post(`/api/v1/passports/by-serial/${seg(p.serial)}/archive${qs({ gtin: p.gtin })}`));
|
|
307
|
+
}
|
|
274
308
|
case "get_qr": {
|
|
275
309
|
const p = parseArgs(SCHEMAS.passportQr, a.args, "tracepass_passports", action);
|
|
276
310
|
if (isErr(p))
|
|
@@ -288,24 +322,34 @@ export function buildTools(client) {
|
|
|
288
322
|
title: "TracePass passport fields",
|
|
289
323
|
description: "Update field values on a Digital Product Passport. Every change is recorded in the passport's audit trail, tagged as an API-key update.\n\n" +
|
|
290
324
|
"Actions (pass via `action`, with `args`):\n" +
|
|
291
|
-
"- update — args: { id, fieldKey, value }. `value` type matches the field's dataType (string, number, boolean, array, object)
|
|
325
|
+
"- update — args: { id, fieldKey, value }. `value` type matches the field's dataType (string, number, boolean, array, object).\n" +
|
|
326
|
+
"- update_by_serial — args: { serial, fieldKey, value, gtin? }. Same as update, addressed by your own serial. A serial is unique only WITHIN a GTIN — if it isn't unique in your account the call returns 409 ambiguous_serial; pass `gtin` (or use update by id) to resolve exactly.",
|
|
292
327
|
inputSchema: {
|
|
293
|
-
action: z.enum(["update"]),
|
|
328
|
+
action: z.enum(["update", "update_by_serial"]),
|
|
294
329
|
args: z.record(z.string(), z.unknown()).optional()
|
|
295
330
|
.describe("Action-specific arguments — see the description."),
|
|
296
331
|
},
|
|
297
332
|
annotations: { idempotentHint: true },
|
|
298
333
|
handler: async (a) => {
|
|
299
334
|
const action = String(a.action);
|
|
300
|
-
|
|
301
|
-
|
|
335
|
+
switch (action) {
|
|
336
|
+
case "update": {
|
|
337
|
+
const p = parseArgs(SCHEMAS.fieldUpdate, a.args, "tracepass_passport_fields", action);
|
|
338
|
+
if (isErr(p))
|
|
339
|
+
return p;
|
|
340
|
+
return apiResult(await client.patch(`/api/v1/passports/${seg(p.id)}/fields/${seg(p.fieldKey)}`, {
|
|
341
|
+
value: p.value,
|
|
342
|
+
}));
|
|
343
|
+
}
|
|
344
|
+
case "update_by_serial": {
|
|
345
|
+
const p = parseArgs(SCHEMAS.fieldUpdateBySerial, a.args, "tracepass_passport_fields", action);
|
|
346
|
+
if (isErr(p))
|
|
347
|
+
return p;
|
|
348
|
+
return apiResult(await client.patch(`/api/v1/passports/by-serial/${seg(p.serial)}/fields/${seg(p.fieldKey)}${qs({ gtin: p.gtin })}`, { value: p.value }));
|
|
349
|
+
}
|
|
350
|
+
default:
|
|
351
|
+
return errorResult(`Unknown action "${action}" for tracepass_passport_fields.`);
|
|
302
352
|
}
|
|
303
|
-
const p = parseArgs(SCHEMAS.fieldUpdate, a.args, "tracepass_passport_fields", action);
|
|
304
|
-
if (isErr(p))
|
|
305
|
-
return p;
|
|
306
|
-
return apiResult(await client.patch(`/api/v1/passports/${seg(p.id)}/fields/${seg(p.fieldKey)}`, {
|
|
307
|
-
value: p.value,
|
|
308
|
-
}));
|
|
309
353
|
},
|
|
310
354
|
};
|
|
311
355
|
// ─────────────────────── passport parties ────────────────────
|
|
@@ -350,11 +394,12 @@ export function buildTools(client) {
|
|
|
350
394
|
description: "GS1 EPCIS 2.0 supply-chain events. `export` is included on Starter plans and up; `capture`, `capture_job`, and `query` require the paid EPCIS add-on (those actions return a 403-style message without it).\n\n" +
|
|
351
395
|
"Actions (pass via `action`, with `args`):\n" +
|
|
352
396
|
"- export — args: { id }. Export a passport's events as an EPCIS 2.0 JSON-LD document. Read-only.\n" +
|
|
397
|
+
"- export_by_serial — args: { serial, gtin? }. Same as export, addressed by your own serial. A serial is unique only WITHIN a GTIN — if it isn't unique in your account the call returns 409 ambiguous_serial; pass `gtin` (or use export by id). Read-only.\n" +
|
|
353
398
|
"- capture — args: { events }. `events` is an EPCISDocument, a single event, or an array of events (JSON-LD). Returns a 202 with a captureJobId.\n" +
|
|
354
399
|
"- capture_job — args: { jobId }. Poll an async capture job. Read-only.\n" +
|
|
355
400
|
"- query — args: { params? }. `params` is a key/value map of standard EPCIS query parameters (EQ_bizStep, GE_eventTime, MATCH_epc, …). Read-only.",
|
|
356
401
|
inputSchema: {
|
|
357
|
-
action: z.enum(["export", "capture", "capture_job", "query"]),
|
|
402
|
+
action: z.enum(["export", "export_by_serial", "capture", "capture_job", "query"]),
|
|
358
403
|
args: z.record(z.string(), z.unknown()).optional()
|
|
359
404
|
.describe("Action-specific arguments — see the description."),
|
|
360
405
|
},
|
|
@@ -368,6 +413,12 @@ export function buildTools(client) {
|
|
|
368
413
|
return p;
|
|
369
414
|
return apiResult(await client.get(`/api/v1/passports/${seg(p.id)}/epcis`));
|
|
370
415
|
}
|
|
416
|
+
case "export_by_serial": {
|
|
417
|
+
const p = parseArgs(SCHEMAS.epcisExportBySerial, a.args, "tracepass_epcis", action);
|
|
418
|
+
if (isErr(p))
|
|
419
|
+
return p;
|
|
420
|
+
return apiResult(await client.get(`/api/v1/passports/by-serial/${seg(p.serial)}/epcis${qs({ gtin: p.gtin })}`));
|
|
421
|
+
}
|
|
371
422
|
case "capture": {
|
|
372
423
|
const p = parseArgs(SCHEMAS.epcisCapture, a.args, "tracepass_epcis", action);
|
|
373
424
|
if (isErr(p))
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tracepass-mcp-server",
|
|
3
3
|
"mcpName": "eu.tracepass/tracepass",
|
|
4
|
-
"version": "1.
|
|
5
|
-
"description": "Model Context Protocol server for TracePass
|
|
4
|
+
"version": "1.4.0",
|
|
5
|
+
"description": "Model Context Protocol server for TracePass \u2014 the EU Digital Product Passport platform. Lets AI assistants manage products, passports, and EPCIS supply-chain events.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"keywords": [
|