@emseepea/server 0.0.2 → 0.0.4
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 +300 -9
- package/dist/index.d.ts +86 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +659 -47
- package/dist/index.js.map +1 -1
- package/dist/telemetry.d.ts +3 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +93 -0
- package/dist/telemetry.js.map +1 -0
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -5,11 +5,12 @@ Protocol (MCP) `2026-07-28` servers over Streamable HTTP.
|
|
|
5
5
|
|
|
6
6
|
It checks data when requests enter and leave the server. It supports public
|
|
7
7
|
tools, tools that require sign-in, public resources and prompts, request time
|
|
8
|
-
limits, and bounded progress updates
|
|
9
|
-
|
|
8
|
+
limits, and bounded progress updates. Direct tools,
|
|
9
|
+
resources, and prompts can ask capable clients for more information. Prompt
|
|
10
|
+
arguments and resource fields may also offer suggestions.
|
|
10
11
|
|
|
11
12
|
The package is pre-alpha. See the
|
|
12
|
-
[repository README](https://github.com/
|
|
13
|
+
[repository README](https://github.com/emseepea/emseepea#readme) for what the
|
|
13
14
|
package supports and what it does not support.
|
|
14
15
|
|
|
15
16
|
## Public Tool
|
|
@@ -50,6 +51,221 @@ const app = createEmseepea({ name: "coffee-guide", version: "1.0.0", tools: [get
|
|
|
50
51
|
await serveEmseepea(app);
|
|
51
52
|
```
|
|
52
53
|
|
|
54
|
+
## Measure Requests
|
|
55
|
+
|
|
56
|
+
Available in this checkout; not yet published to npm.
|
|
57
|
+
|
|
58
|
+
Set `telemetry: true` in `createEmseepea` to record request traces, counts, and
|
|
59
|
+
response times through OpenTelemetry. Leave it out to disable these measurements.
|
|
60
|
+
|
|
61
|
+
Configure your OpenTelemetry providers and context manager before creating the
|
|
62
|
+
app. Em See Pea does not choose an exporter or send data to a service.
|
|
63
|
+
|
|
64
|
+
### What Gets Measured
|
|
65
|
+
|
|
66
|
+
Each trace covers one `/mcp` request through response completion or
|
|
67
|
+
disconnection, including progress updates. Measurements report:
|
|
68
|
+
|
|
69
|
+
- the HTTP method and status
|
|
70
|
+
- the known MCP method, or `_OTHER` for unknown names
|
|
71
|
+
- whether the response finished or disconnected
|
|
72
|
+
|
|
73
|
+
An HTTP 200 response can still contain a tool error. These measurements describe
|
|
74
|
+
the response, not whether the tool achieved its task.
|
|
75
|
+
|
|
76
|
+
### What Stays Out
|
|
77
|
+
|
|
78
|
+
The framework does not attach tool names, request data, tokens, URLs, or error
|
|
79
|
+
messages. It preserves a valid active parent trace identity, but drops baggage
|
|
80
|
+
and other context data. It does not read trace headers itself.
|
|
81
|
+
|
|
82
|
+
### Current Limits
|
|
83
|
+
|
|
84
|
+
SDK host and origin rejections happen before this measurement starts.
|
|
85
|
+
Ordinary telemetry API and exporter failures do not change tool results.
|
|
86
|
+
An adopter exporter that blocks the process or throws outside the telemetry
|
|
87
|
+
call is not isolated.
|
|
88
|
+
|
|
89
|
+
Structured logs are not included yet.
|
|
90
|
+
|
|
91
|
+
## Report Dependency Readiness
|
|
92
|
+
|
|
93
|
+
Available in this checkout; not yet published to npm.
|
|
94
|
+
|
|
95
|
+
Pass a `readiness` callback to `createEmseepea` to check the dependencies your
|
|
96
|
+
server needs. The callback receives `{ signal }` and must return `true` only
|
|
97
|
+
when those dependencies are ready. It may return a promise.
|
|
98
|
+
|
|
99
|
+
`GET /readyz` returns:
|
|
100
|
+
|
|
101
|
+
- HTTP 200 and `ready` when the check succeeds
|
|
102
|
+
- HTTP 503 and `not ready` when it fails, throws, or takes too long
|
|
103
|
+
|
|
104
|
+
The reply never includes dependency details or error messages. It is not cached.
|
|
105
|
+
`GET /healthz` continues to report that the process is alive, not that its
|
|
106
|
+
dependencies work. Without a callback, readiness does not check dependencies.
|
|
107
|
+
|
|
108
|
+
Set `readinessTimeoutMs` to limit the check. It defaults to 1,000 milliseconds
|
|
109
|
+
and accepts whole numbers from 1 to 60,000. A timeout or shutdown signals
|
|
110
|
+
cancellation. Only one dependency check can remain unfinished at a time; if it
|
|
111
|
+
ignores cancellation, later probes return not-ready until it settles.
|
|
112
|
+
|
|
113
|
+
Readiness reports health for a load balancer or monitoring system. It does not
|
|
114
|
+
block MCP calls itself. Tool handlers must still handle an unavailable backend.
|
|
115
|
+
|
|
116
|
+
## Flush Measurements on Shutdown
|
|
117
|
+
|
|
118
|
+
Available in this checkout; not yet published to npm.
|
|
119
|
+
|
|
120
|
+
Pass `flushTelemetry` to `serveEmseepea` to flush your OpenTelemetry providers
|
|
121
|
+
when the returned server's `close()` method runs. The callback receives
|
|
122
|
+
`{ signal }`; it can call your providers' `forceFlush()` methods. Calling the
|
|
123
|
+
Fastify app's `close()` directly does not run this callback.
|
|
124
|
+
|
|
125
|
+
Shutdown uses two time limits:
|
|
126
|
+
|
|
127
|
+
- `shutdownTimeoutMs`: finish existing requests, then close remaining
|
|
128
|
+
connections. The default is 5,000 milliseconds.
|
|
129
|
+
- `telemetryFlushTimeoutMs`: wait for the final request measurements, then flush.
|
|
130
|
+
The default is 1,000 milliseconds; the allowed range is 1 to 60,000.
|
|
131
|
+
|
|
132
|
+
The total waiting budget is the sum of those limits. The second limit applies
|
|
133
|
+
only when you provide `flushTelemetry`. If final measurements are not ready in
|
|
134
|
+
time, flushing is skipped. Repeated `close()` calls share the same work.
|
|
135
|
+
|
|
136
|
+
Flushing is best-effort. Its errors do not change tool responses, and completion
|
|
137
|
+
of `close()` does not prove that an exporter delivered data. Callbacks that block
|
|
138
|
+
JavaScript or ignore cancellation cannot be forcibly stopped by the framework.
|
|
139
|
+
|
|
140
|
+
## Describe What Clients Can Show
|
|
141
|
+
|
|
142
|
+
Applications can give servers, tools, resources, reusable resource addresses,
|
|
143
|
+
and prompts a human-friendly title, description, and icons. A server can also
|
|
144
|
+
provide its website address. Tools can say whether they only read data and
|
|
145
|
+
whether they contact services outside the application:
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
const getBeanDetails = defineTool({
|
|
149
|
+
name: "get-bean-details",
|
|
150
|
+
title: "Get bean details",
|
|
151
|
+
access: "public",
|
|
152
|
+
description: "Get the recorded details for one coffee.",
|
|
153
|
+
icons: [{ src: "https://coffee.example/icons/bean.png", mimeType: "image/png" }],
|
|
154
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
155
|
+
inputSchema: z.object({ name: z.string() }),
|
|
156
|
+
outputSchema: beanDetails,
|
|
157
|
+
handler,
|
|
158
|
+
});
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Resources may also include their known byte size and hints about their intended
|
|
162
|
+
audience and importance. Use `_meta` for application-specific public details.
|
|
163
|
+
|
|
164
|
+
Em See Pea checks this metadata when the application starts and copies it, so
|
|
165
|
+
later changes to the original objects have no effect. Tool annotations are
|
|
166
|
+
hints for clients. They do not prove that a tool is safe, grant permission, or
|
|
167
|
+
replace sign-in and authorization checks.
|
|
168
|
+
|
|
169
|
+
## Route with a Tool Argument
|
|
170
|
+
|
|
171
|
+
A proxy can route a request using a checked tool argument without reading the
|
|
172
|
+
JSON body. Mark a string, integer, or boolean property with `x-mcp-header`:
|
|
173
|
+
|
|
174
|
+
```ts
|
|
175
|
+
const inputSchema = z.object({
|
|
176
|
+
region: z.string().meta({ "x-mcp-header": "Region" }),
|
|
177
|
+
});
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Compatible clients send the same value as `Mcp-Param-Region`. The tool still
|
|
181
|
+
receives and checks `region` normally. The server rejects a missing or
|
|
182
|
+
different header before the tool runs.
|
|
183
|
+
|
|
184
|
+
This header is a copy of tool input. It does not identify a person, prove that
|
|
185
|
+
they signed in, grant permission, or protect a secret.
|
|
186
|
+
|
|
187
|
+
## Bound Large Catalogues
|
|
188
|
+
|
|
189
|
+
Split long tool, resource, resource-address, and prompt lists into pages by
|
|
190
|
+
adding one option to the server:
|
|
191
|
+
|
|
192
|
+
```ts
|
|
193
|
+
const app = createEmseepea({
|
|
194
|
+
name: "coffee-guide",
|
|
195
|
+
version: "1.0.0",
|
|
196
|
+
tools,
|
|
197
|
+
listPagination: { pageSize: 50, maxPageBytes: 256 * 1024 },
|
|
198
|
+
});
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
`pageSize` must be between 1 and 100. `maxPageBytes` defaults to one mebibyte and
|
|
202
|
+
stops a page earlier when its public catalogue details would be too large. The
|
|
203
|
+
server stops at startup if one item cannot fit.
|
|
204
|
+
|
|
205
|
+
Clients receive an opaque cursor for the next page. Identical server instances
|
|
206
|
+
accept the same cursor. Changing the catalogue or either limit makes old
|
|
207
|
+
cursors invalid. Cursors select public catalogue pages; they do not identify a
|
|
208
|
+
person or grant permission. Omit `listPagination` to keep one-page lists.
|
|
209
|
+
|
|
210
|
+
## Ask the Client for More Information
|
|
211
|
+
|
|
212
|
+
Application authors can create a direct tool, resource, resource address
|
|
213
|
+
pattern, or prompt that pauses and asks a capable client for more information.
|
|
214
|
+
The client answers by making a fresh request, and the handler runs again with
|
|
215
|
+
those answers in its context.
|
|
216
|
+
|
|
217
|
+
This example asks the person for a coffee preference:
|
|
218
|
+
|
|
219
|
+
```ts
|
|
220
|
+
import { acceptedContent, defineTool, inputRequired } from "@emseepea/server";
|
|
221
|
+
import { z } from "zod";
|
|
222
|
+
|
|
223
|
+
const preference = z.object({ roast: z.enum(["light", "medium", "dark"]) });
|
|
224
|
+
|
|
225
|
+
const chooseRoast = defineTool({
|
|
226
|
+
name: "choose-roast",
|
|
227
|
+
access: "public",
|
|
228
|
+
description: "Ask which roast a person prefers for one coffee.",
|
|
229
|
+
inputSchema: z.object({ coffee: z.string() }),
|
|
230
|
+
outputSchema: z.object({ coffee: z.string(), roast: z.string() }),
|
|
231
|
+
handler: ({ coffee }, context) => {
|
|
232
|
+
const answer = acceptedContent(context.inputResponses, "preference", preference);
|
|
233
|
+
if (!answer) {
|
|
234
|
+
return inputRequired({
|
|
235
|
+
inputRequests: {
|
|
236
|
+
preference: inputRequired.elicit({
|
|
237
|
+
message: `Which roast do you prefer for ${coffee}?`,
|
|
238
|
+
requestedSchema: preference,
|
|
239
|
+
}),
|
|
240
|
+
},
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
return {
|
|
244
|
+
text: `${answer.roast} roast selected for ${coffee}`,
|
|
245
|
+
data: { coffee, roast: answer.roast },
|
|
246
|
+
};
|
|
247
|
+
},
|
|
248
|
+
});
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
Use `acceptedContent` with the same schema that described the form. Client
|
|
252
|
+
answers are untrusted even when they have the expected wire shape. Use
|
|
253
|
+
`inputResponse` when the handler must distinguish acceptance, refusal, and
|
|
254
|
+
cancellation.
|
|
255
|
+
|
|
256
|
+
A client answer supplies information. It is not proof of identity or permission
|
|
257
|
+
to change data. Authorize any effect through the application's normal security
|
|
258
|
+
boundary.
|
|
259
|
+
|
|
260
|
+
The client must advertise elicitation for form input or URL-mode elicitation,
|
|
261
|
+
where the client opens a URL. Em See Pea applies the normal result-size limit,
|
|
262
|
+
time limit, cancellation, safe-error handling, and sign-in policy to every
|
|
263
|
+
round.
|
|
264
|
+
|
|
265
|
+
This release supports stateless requests only. It rejects opaque
|
|
266
|
+
`requestState`. Mapped tools and progress-reporting tools return through their
|
|
267
|
+
existing checked paths and cannot request more client input.
|
|
268
|
+
|
|
53
269
|
## Mapped Backend Tool
|
|
54
270
|
|
|
55
271
|
`defineMappedTool` validates the public input, mapped backend command, backend
|
|
@@ -166,7 +382,8 @@ progress, the official MCP library sends progress events over the same POST
|
|
|
166
382
|
request. Otherwise the call returns one JSON response.
|
|
167
383
|
|
|
168
384
|
```ts
|
|
169
|
-
import { defineStreamingTool } from "@emseepea/server";
|
|
385
|
+
import { createEmseepea, defineStreamingTool } from "@emseepea/server";
|
|
386
|
+
import { z } from "zod";
|
|
170
387
|
|
|
171
388
|
const roast = defineStreamingTool({
|
|
172
389
|
name: "roast-batch",
|
|
@@ -190,13 +407,64 @@ change those positive bounds. The reporter closes with the tool call.
|
|
|
190
407
|
Heartbeats are disabled. Invalid, oversized, late, or extra updates are
|
|
191
408
|
rejected.
|
|
192
409
|
|
|
193
|
-
|
|
410
|
+
### Use Progress Behind a Proxy
|
|
411
|
+
|
|
412
|
+
In the current source, public tools can also report progress behind a trusted
|
|
413
|
+
HTTPS proxy. This addition is not yet in a published npm release.
|
|
414
|
+
|
|
415
|
+
Using the `roast` tool above, configure the proxy's exact address and the public
|
|
416
|
+
host and origin your clients use:
|
|
417
|
+
|
|
418
|
+
```ts
|
|
419
|
+
const app = createEmseepea({
|
|
420
|
+
name: "coffee-guide",
|
|
421
|
+
version: "1.0.0",
|
|
422
|
+
tools: [roast],
|
|
423
|
+
deployment: {
|
|
424
|
+
mode: "production-behind-proxy",
|
|
425
|
+
trustedProxyAddresses: ["10.0.0.10"],
|
|
426
|
+
allowedAuthorities: ["mcp.example.com"],
|
|
427
|
+
allowedOrigins: ["https://mcp.example.com"],
|
|
428
|
+
rateLimit: { maxRequests: 100, windowMs: 60_000, maxClients: 1_000 },
|
|
429
|
+
},
|
|
430
|
+
});
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
Replace these example addresses with yours. The server still listens locally
|
|
434
|
+
by default. Choose a private listening address explicitly when starting it,
|
|
435
|
+
and restrict network access so only your proxy can reach it.
|
|
436
|
+
|
|
437
|
+
Your proxy must replace caller-supplied forwarding headers and send:
|
|
438
|
+
|
|
439
|
+
- `X-Forwarded-Proto: https` for the original HTTPS connection
|
|
440
|
+
- `X-Forwarded-For` containing one client IP address, not a comma-separated chain
|
|
441
|
+
- `Host` matching an entry in `allowedAuthorities`
|
|
442
|
+
|
|
443
|
+
It must also forward streamed responses without buffering them.
|
|
444
|
+
`X-Accel-Buffering: no` asks compatible proxies not to buffer; it does not
|
|
445
|
+
configure your proxy for you.
|
|
446
|
+
|
|
447
|
+
Each call sends progress on its already-open HTTP response. A later call can
|
|
448
|
+
go to another server without pinning that client to the first server. This
|
|
449
|
+
does not share application state or rate limits: the configured limit applies
|
|
450
|
+
to each server separately.
|
|
451
|
+
|
|
452
|
+
### Limits
|
|
453
|
+
|
|
454
|
+
Progress remains limited by the event count, event size, result size, and
|
|
455
|
+
request deadline. Disconnecting cancels work that observes the cancellation
|
|
456
|
+
signal. These checks do not slow the producer to match a slow reader.
|
|
457
|
+
|
|
458
|
+
Not supported yet:
|
|
194
459
|
|
|
195
460
|
- long-running streams opened with GET
|
|
196
461
|
- saved sessions, replay, or subscriptions
|
|
197
|
-
-
|
|
462
|
+
- recovery after reconnecting
|
|
198
463
|
- slowing the producer when a client cannot keep up
|
|
199
|
-
-
|
|
464
|
+
- progress from tools requiring sign-in outside local development
|
|
465
|
+
|
|
466
|
+
See the [progress coverage and tested proxy setup](../../docs/protocol-coverage.md#progress-updates)
|
|
467
|
+
for the current checks and their limits.
|
|
200
468
|
|
|
201
469
|
## Public Resources and Prompts
|
|
202
470
|
|
|
@@ -226,6 +494,7 @@ const guide = defineResource({
|
|
|
226
494
|
name: "getting-started",
|
|
227
495
|
uri: guideUri,
|
|
228
496
|
mimeType: "text/markdown",
|
|
497
|
+
cacheHint: { ttlMs: 30_000 },
|
|
229
498
|
handler: () => ({ contents: [{ uri: guideUri, text: "# Brew safely" }] }),
|
|
230
499
|
});
|
|
231
500
|
|
|
@@ -257,9 +526,31 @@ const app = createEmseepea({
|
|
|
257
526
|
version: "1.0.0",
|
|
258
527
|
resources: [guide, methodGuide],
|
|
259
528
|
prompts: [brew],
|
|
529
|
+
cacheHints: {
|
|
530
|
+
"resources/list": { ttlMs: 60_000, cacheScope: "public" },
|
|
531
|
+
"resources/read": { ttlMs: 5_000, cacheScope: "private" },
|
|
532
|
+
},
|
|
260
533
|
});
|
|
261
534
|
```
|
|
262
535
|
|
|
536
|
+
## Tell Clients When They May Reuse Results
|
|
537
|
+
|
|
538
|
+
By default, clients are told not to reuse lists, discovery details, or resource
|
|
539
|
+
content. `cacheHints` sets a time limit in milliseconds and says whether a
|
|
540
|
+
shared cache may store the result.
|
|
541
|
+
|
|
542
|
+
Use `public` only when every caller receives the same non-sensitive result.
|
|
543
|
+
Use `private` for results that only the requesting client may keep. These
|
|
544
|
+
instructions do not grant access and do not make changing or personal data safe
|
|
545
|
+
to share.
|
|
546
|
+
|
|
547
|
+
An individual resource or reusable resource address can override either field.
|
|
548
|
+
In the example, `guide` overrides the time limit while its missing
|
|
549
|
+
`cacheScope` still comes from `cacheHints["resources/read"]`.
|
|
550
|
+
|
|
551
|
+
Cache instructions are supported for discovery, tool lists, resource lists,
|
|
552
|
+
reusable resource-address lists, prompt lists, and resource reads.
|
|
553
|
+
|
|
263
554
|
Resource templates advertise an address pattern rather than listing every
|
|
264
555
|
possible address. Clients list the patterns, then read an address that matches
|
|
265
556
|
one. Each `{variable}` fills one complete path segment. The scheme and host
|
|
@@ -272,8 +563,8 @@ Pea checks the returned suggestions and keeps at most the first 100.
|
|
|
272
563
|
Suggestions are public even when some tools require sign-in. Return only text
|
|
273
564
|
that is safe for anyone to discover.
|
|
274
565
|
|
|
275
|
-
Listing every matching address,
|
|
276
|
-
|
|
566
|
+
Listing every matching address, catalogue pages without the bounds above, and
|
|
567
|
+
sign-in for resources are not included yet.
|
|
277
568
|
|
|
278
569
|
## Tool That Requires Sign-In
|
|
279
570
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,49 @@
|
|
|
1
|
-
import { McpServer, type AuthMetadataOptions, type GetPromptResult, type OAuthTokenVerifier, type ReadResourceResult } from "@modelcontextprotocol/server";
|
|
1
|
+
import { McpServer, inputRequired as sdkInputRequired, type AuthMetadataOptions, type CacheHint, type GetPromptResult, type Icon, type InputRequiredResult as SdkInputRequiredResult, type InputRequest, type InputResponseView as SdkInputResponseView, type MetaObject, type OAuthTokenVerifier, type Annotations, type ReadResourceResult, type StandardSchemaV1, type ServerOptions, type ToolAnnotations } from "@modelcontextprotocol/server";
|
|
2
2
|
import type { FastifyInstance } from "fastify";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
export * from "./ui.js";
|
|
5
|
+
export type ClientInputRequest = Extract<InputRequest, {
|
|
6
|
+
method: "elicitation/create";
|
|
7
|
+
}>;
|
|
8
|
+
export interface InputRequests {
|
|
9
|
+
readonly [key: string]: ClientInputRequest;
|
|
10
|
+
}
|
|
11
|
+
export type InputRequiredResult = SdkInputRequiredResult & {
|
|
12
|
+
readonly inputRequests: InputRequests;
|
|
13
|
+
readonly requestState?: never;
|
|
14
|
+
};
|
|
15
|
+
interface InputRequiredBuilder {
|
|
16
|
+
(spec: {
|
|
17
|
+
readonly inputRequests: InputRequests;
|
|
18
|
+
}): InputRequiredResult;
|
|
19
|
+
elicit(...args: Parameters<typeof sdkInputRequired.elicit>): Extract<InputRequest, {
|
|
20
|
+
method: "elicitation/create";
|
|
21
|
+
}>;
|
|
22
|
+
elicitUrl(...args: Parameters<typeof sdkInputRequired.elicitUrl>): Extract<InputRequest, {
|
|
23
|
+
method: "elicitation/create";
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
export declare const inputRequired: InputRequiredBuilder;
|
|
27
|
+
export declare function acceptedContent<S extends StandardSchemaV1>(responses: Readonly<Record<string, unknown>> | undefined, key: string, schema: S): StandardSchemaV1.InferOutput<S> | undefined;
|
|
28
|
+
export type InputResponseView = Extract<SdkInputResponseView, {
|
|
29
|
+
kind: "missing" | "elicit";
|
|
30
|
+
}>;
|
|
31
|
+
export declare function inputResponse(responses: Readonly<Record<string, unknown>> | undefined, key: string): InputResponseView;
|
|
5
32
|
declare const REGISTER: unique symbol;
|
|
6
33
|
declare const TOOL_NAME: unique symbol;
|
|
7
34
|
declare const TOOL_ACCESS: unique symbol;
|
|
8
35
|
declare const TOOL_STREAMING: unique symbol;
|
|
36
|
+
declare const TOOL_LISTING: unique symbol;
|
|
9
37
|
declare const RESOURCE_NAME: unique symbol;
|
|
10
38
|
declare const RESOURCE_URI: unique symbol;
|
|
11
39
|
declare const RESOURCE_KIND: unique symbol;
|
|
12
40
|
declare const RESOURCE_MATCHES: unique symbol;
|
|
13
41
|
declare const RESOURCE_ROUTE: unique symbol;
|
|
42
|
+
declare const RESOURCE_LISTING: unique symbol;
|
|
14
43
|
declare const PROMPT_NAME: unique symbol;
|
|
15
44
|
declare const HAS_COMPLETION: unique symbol;
|
|
45
|
+
declare const PROMPT_LISTING: unique symbol;
|
|
46
|
+
type CacheHints = NonNullable<ServerOptions["cacheHints"]>;
|
|
16
47
|
export interface ToolPrincipal {
|
|
17
48
|
readonly clientId: string;
|
|
18
49
|
readonly scopes: readonly string[];
|
|
@@ -22,13 +53,18 @@ export interface ToolContext<Access extends ToolAccess = ToolAccess> {
|
|
|
22
53
|
readonly signal: AbortSignal;
|
|
23
54
|
readonly deadlineMs: number;
|
|
24
55
|
readonly principal: Access extends "public" ? undefined : ToolPrincipal;
|
|
56
|
+
/** Client-supplied responses from the current multi-round-trip retry. */
|
|
57
|
+
readonly inputResponses?: Readonly<Record<string, unknown>>;
|
|
25
58
|
}
|
|
26
59
|
export interface ProgressUpdate {
|
|
27
60
|
readonly progress: number;
|
|
28
61
|
readonly total?: number;
|
|
29
62
|
readonly message?: string;
|
|
30
63
|
}
|
|
31
|
-
export interface StreamingToolContext<Access extends ToolAccess = ToolAccess>
|
|
64
|
+
export interface StreamingToolContext<Access extends ToolAccess = ToolAccess> {
|
|
65
|
+
readonly signal: AbortSignal;
|
|
66
|
+
readonly deadlineMs: number;
|
|
67
|
+
readonly principal: Access extends "public" ? undefined : ToolPrincipal;
|
|
32
68
|
readonly reportProgress: (update: ProgressUpdate) => Promise<void>;
|
|
33
69
|
}
|
|
34
70
|
export interface ToolResult<Output> {
|
|
@@ -40,6 +76,10 @@ export interface BackendAdapterContext {
|
|
|
40
76
|
readonly deadlineMs: number;
|
|
41
77
|
}
|
|
42
78
|
export type OperationContext = BackendAdapterContext;
|
|
79
|
+
export interface ClientInputContext extends OperationContext {
|
|
80
|
+
/** Client-supplied responses from the current multi-round-trip retry. */
|
|
81
|
+
readonly inputResponses?: Readonly<Record<string, unknown>>;
|
|
82
|
+
}
|
|
43
83
|
export interface CompletionContext extends OperationContext {
|
|
44
84
|
readonly arguments: Readonly<Record<string, string>>;
|
|
45
85
|
}
|
|
@@ -53,17 +93,20 @@ interface ToolDefinitionBase<Input extends z.ZodObject, Output extends z.ZodObje
|
|
|
53
93
|
readonly name: string;
|
|
54
94
|
readonly title?: string;
|
|
55
95
|
readonly description: string;
|
|
96
|
+
readonly icons?: readonly Icon[];
|
|
97
|
+
readonly annotations?: Readonly<ToolAnnotations>;
|
|
98
|
+
readonly _meta?: Readonly<MetaObject>;
|
|
56
99
|
readonly inputSchema: Input;
|
|
57
100
|
readonly outputSchema: Output;
|
|
58
101
|
}
|
|
59
102
|
export type ToolDefinition<Input extends z.ZodObject, Output extends z.ZodObject> = ToolDefinitionBase<Input, Output> & ({
|
|
60
103
|
readonly access: "public";
|
|
61
104
|
readonly requiredScopes?: never;
|
|
62
|
-
readonly handler: (input: z.output<Input>, context: ToolContext<"public">) => ToolResult<z.input<Output>> | Promise<ToolResult<z.input<Output
|
|
105
|
+
readonly handler: (input: z.output<Input>, context: ToolContext<"public">) => ToolResult<z.input<Output>> | InputRequiredResult | Promise<ToolResult<z.input<Output>> | InputRequiredResult>;
|
|
63
106
|
} | {
|
|
64
107
|
readonly access: "protected";
|
|
65
108
|
readonly requiredScopes: readonly string[];
|
|
66
|
-
readonly handler: (input: z.output<Input>, context: ToolContext<"protected">) => ToolResult<z.input<Output>> | Promise<ToolResult<z.input<Output
|
|
109
|
+
readonly handler: (input: z.output<Input>, context: ToolContext<"protected">) => ToolResult<z.input<Output>> | InputRequiredResult | Promise<ToolResult<z.input<Output>> | InputRequiredResult>;
|
|
67
110
|
});
|
|
68
111
|
export type StreamingToolDefinition<Input extends z.ZodObject, Output extends z.ZodObject> = ToolDefinitionBase<Input, Output> & ({
|
|
69
112
|
readonly access: "public";
|
|
@@ -94,6 +137,7 @@ export interface EmseepeaTool {
|
|
|
94
137
|
readonly [TOOL_NAME]: string;
|
|
95
138
|
readonly [TOOL_ACCESS]: "public" | ProtectedToolAccess;
|
|
96
139
|
readonly [TOOL_STREAMING]: boolean;
|
|
140
|
+
readonly [TOOL_LISTING]: Readonly<Record<string, unknown>>;
|
|
97
141
|
readonly [REGISTER]: (server: McpServer, timeoutMs: number, maxApplicationResultBytes: number, maxProgressEvents: number, maxProgressEventBytes: number) => void;
|
|
98
142
|
}
|
|
99
143
|
export interface ResourceDefinition {
|
|
@@ -102,7 +146,12 @@ export interface ResourceDefinition {
|
|
|
102
146
|
readonly title?: string;
|
|
103
147
|
readonly description?: string;
|
|
104
148
|
readonly mimeType?: string;
|
|
105
|
-
readonly
|
|
149
|
+
readonly icons?: readonly Icon[];
|
|
150
|
+
readonly annotations?: Readonly<Annotations>;
|
|
151
|
+
readonly size?: number;
|
|
152
|
+
readonly _meta?: Readonly<MetaObject>;
|
|
153
|
+
readonly cacheHint?: CacheHint;
|
|
154
|
+
readonly handler: (context: ClientInputContext) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
|
|
106
155
|
}
|
|
107
156
|
export interface ResourceTemplateDefinition {
|
|
108
157
|
readonly name: string;
|
|
@@ -110,11 +159,15 @@ export interface ResourceTemplateDefinition {
|
|
|
110
159
|
readonly title?: string;
|
|
111
160
|
readonly description?: string;
|
|
112
161
|
readonly mimeType?: string;
|
|
162
|
+
readonly icons?: readonly Icon[];
|
|
163
|
+
readonly annotations?: Readonly<Annotations>;
|
|
164
|
+
readonly _meta?: Readonly<MetaObject>;
|
|
165
|
+
readonly cacheHint?: CacheHint;
|
|
113
166
|
readonly complete?: Readonly<Record<string, CompletionHandler>>;
|
|
114
167
|
readonly handler: (input: {
|
|
115
168
|
readonly uri: string;
|
|
116
169
|
readonly variables: Readonly<Record<string, string | readonly string[]>>;
|
|
117
|
-
}, context:
|
|
170
|
+
}, context: ClientInputContext) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
|
|
118
171
|
}
|
|
119
172
|
interface ResourceTemplateRoute {
|
|
120
173
|
readonly protocol: string;
|
|
@@ -127,6 +180,10 @@ export interface EmseepeaResource {
|
|
|
127
180
|
readonly [RESOURCE_KIND]: "static" | "template";
|
|
128
181
|
readonly [RESOURCE_MATCHES]?: (uri: string) => boolean;
|
|
129
182
|
readonly [RESOURCE_ROUTE]?: ResourceTemplateRoute;
|
|
183
|
+
readonly [RESOURCE_LISTING]: {
|
|
184
|
+
readonly method: "resources/list" | "resources/templates/list";
|
|
185
|
+
readonly value: Readonly<Record<string, unknown>>;
|
|
186
|
+
};
|
|
130
187
|
readonly [HAS_COMPLETION]: boolean;
|
|
131
188
|
readonly [REGISTER]: (server: McpServer, timeoutMs: number, maxApplicationResultBytes: number) => void;
|
|
132
189
|
}
|
|
@@ -142,13 +199,16 @@ export type PromptDefinition<Args extends z.ZodObject> = {
|
|
|
142
199
|
readonly name: string;
|
|
143
200
|
readonly title?: string;
|
|
144
201
|
readonly description?: string;
|
|
202
|
+
readonly icons?: readonly Icon[];
|
|
203
|
+
readonly _meta?: Readonly<MetaObject>;
|
|
145
204
|
readonly argsSchema: Args;
|
|
146
205
|
readonly complete?: Readonly<Partial<Record<Extract<keyof z.input<Args>, string>, CompletionHandler>>>;
|
|
147
|
-
readonly handler: (args: z.output<Args>, context:
|
|
206
|
+
readonly handler: (args: z.output<Args>, context: ClientInputContext) => GetPromptResult | InputRequiredResult | Promise<GetPromptResult | InputRequiredResult>;
|
|
148
207
|
} & PromptInputConstraint<Args>;
|
|
149
208
|
export interface EmseepeaPrompt {
|
|
150
209
|
readonly [PROMPT_NAME]: string;
|
|
151
210
|
readonly [HAS_COMPLETION]: boolean;
|
|
211
|
+
readonly [PROMPT_LISTING]: Readonly<Record<string, unknown>>;
|
|
152
212
|
readonly [REGISTER]: (server: McpServer, timeoutMs: number, maxApplicationResultBytes: number) => void;
|
|
153
213
|
}
|
|
154
214
|
export interface OAuthResourceServerOptions {
|
|
@@ -159,12 +219,23 @@ export interface OAuthResourceServerOptions {
|
|
|
159
219
|
readonly verificationTimeoutMs?: number;
|
|
160
220
|
}
|
|
161
221
|
export interface EmseepeaOptions {
|
|
222
|
+
readonly telemetry?: boolean;
|
|
223
|
+
readonly readiness?: (context: {
|
|
224
|
+
readonly signal: AbortSignal;
|
|
225
|
+
}) => boolean | Promise<boolean>;
|
|
226
|
+
readonly readinessTimeoutMs?: number;
|
|
162
227
|
readonly name: string;
|
|
163
228
|
readonly version: string;
|
|
229
|
+
readonly title?: string;
|
|
230
|
+
readonly description?: string;
|
|
231
|
+
readonly icons?: readonly Icon[];
|
|
232
|
+
readonly websiteUrl?: string;
|
|
164
233
|
readonly instructions?: string;
|
|
165
234
|
readonly tools?: readonly EmseepeaTool[];
|
|
166
235
|
readonly resources?: readonly EmseepeaResource[];
|
|
167
236
|
readonly prompts?: readonly EmseepeaPrompt[];
|
|
237
|
+
readonly listPagination?: ListPaginationOptions;
|
|
238
|
+
readonly cacheHints?: CacheHints;
|
|
168
239
|
readonly maxRequestBytes?: number;
|
|
169
240
|
readonly maxApplicationResultBytes?: number;
|
|
170
241
|
readonly maxProgressEvents?: number;
|
|
@@ -173,6 +244,10 @@ export interface EmseepeaOptions {
|
|
|
173
244
|
readonly deployment?: DeploymentProfile;
|
|
174
245
|
readonly oauth?: OAuthResourceServerOptions;
|
|
175
246
|
}
|
|
247
|
+
export interface ListPaginationOptions {
|
|
248
|
+
readonly pageSize: number;
|
|
249
|
+
readonly maxPageBytes?: number;
|
|
250
|
+
}
|
|
176
251
|
export type DeploymentProfile = {
|
|
177
252
|
readonly mode: "loopback";
|
|
178
253
|
} | {
|
|
@@ -186,6 +261,10 @@ export interface ServeOptions {
|
|
|
186
261
|
readonly host?: "127.0.0.1" | "::1" | "localhost" | "0.0.0.0" | "::";
|
|
187
262
|
readonly port?: number;
|
|
188
263
|
readonly shutdownTimeoutMs?: number;
|
|
264
|
+
readonly flushTelemetry?: (context: {
|
|
265
|
+
readonly signal: AbortSignal;
|
|
266
|
+
}) => void | Promise<void>;
|
|
267
|
+
readonly telemetryFlushTimeoutMs?: number;
|
|
189
268
|
}
|
|
190
269
|
export interface RunningEmseepeaServer {
|
|
191
270
|
readonly url: URL;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|