@emseepea/server 0.3.3 → 0.6.1

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
@@ -3,9 +3,9 @@
3
3
  `@emseepea/server` is the Fastify-first package for building Model Context
4
4
  Protocol (MCP) `2026-07-28` servers over Streamable HTTP.
5
5
 
6
- It checks data when requests enter and leave the server. It supports public
7
- tools, tools that require sign-in, public resources and prompts, request time
8
- limits, and bounded progress updates. Direct tools,
6
+ It checks data when requests enter and leave the server. It supports public and
7
+ protected tools, resources, prompts, and completions, request time limits, and
8
+ bounded progress updates. Direct tools,
9
9
  resources, and prompts can ask capable clients for more information. Prompt
10
10
  arguments and resource fields may also offer suggestions.
11
11
 
@@ -117,6 +117,35 @@ module discovers source in a source runner or JavaScript in a built project.
117
117
  If both forms for one capability are in the same directory, discovery rejects
118
118
  the duplicate instead of choosing one.
119
119
 
120
+ ## Retire a Capability Safely
121
+
122
+ Set `discoverable: false` on a tool, resource, resource template, or prompt to
123
+ remove it from MCP list discovery while keeping direct calls available under
124
+ its existing access policy:
125
+
126
+ ```ts
127
+ const legacyLookup = defineTool({
128
+ name: "legacy-pea-lookup",
129
+ access: "public",
130
+ discoverable: false,
131
+ description: "Look up one pea variety for clients migrating to the replacement tool.",
132
+ inputSchema: z.object({ name: z.string() }),
133
+ outputSchema,
134
+ handler: ({ name }) => ({ data: lookupVariety(name) }),
135
+ });
136
+ ```
137
+
138
+ Omitting `discoverable` is equivalent to `discoverable: true`. Suppression is
139
+ static for that server version and works the same for explicitly registered and
140
+ filesystem-discovered capabilities. It is a compatibility mechanism, not an
141
+ authorization or secrecy control: clients that already know the name or URI can
142
+ still call the capability.
143
+
144
+ For a marketplace retirement, first publish the replacement while the old
145
+ capability remains visible. Next submit and publish a version with the old
146
+ capability hidden but callable. Remove it only after that hidden version is the
147
+ supported marketplace version.
148
+
120
149
  ## Register HTTP Route Modules at Startup
121
150
 
122
151
  Keep page and asset handlers out of the server entrypoint by putting each route
@@ -161,40 +190,80 @@ This is optional. Direct `app.get()`, `app.post()`, and other Fastify route
161
190
  registration continue to work. Use direct registration for routes that do not
162
191
  fit the file convention.
163
192
 
164
- ## Measure Requests
193
+ ## Authentication and Observability
165
194
 
166
- Set `telemetry: true` in `createEmseepea` to record request traces, counts, and
167
- response times through OpenTelemetry. Leave it out to disable these measurements.
195
+ Authentication and observability are optional extensions. The application
196
+ factory in every initializer accepts the same `EmseepeaExtensions` type, so an
197
+ API, database, SOAP, or UI server can add either feature without changing
198
+ templates.
168
199
 
169
- Configure your OpenTelemetry providers and context manager before creating the
170
- app. Em See Pea does not choose an exporter or send data to a service.
200
+ The same extension type accepts `additionalTools`. Use it to compose optional
201
+ capability packages without replacing the initializer's own discovered tool
202
+ catalogue:
171
203
 
172
- ### What Gets Measured
204
+ ```ts
205
+ const app = await createToolServer({
206
+ additionalTools: feedbackTools,
207
+ authentication,
208
+ observability,
209
+ });
210
+ ```
173
211
 
174
- Each trace covers one `/mcp` request through response completion or
175
- disconnection, including progress updates. Measurements report:
212
+ Duplicate public names are rejected before the server listens. See the
213
+ [`@emseepea/feedback` guide](../feedback/README.md) for a complete optional
214
+ capability example.
176
215
 
177
- - the HTTP method and status
178
- - the known MCP method, or `_OTHER` for unknown names
179
- - whether the response finished or disconnected
216
+ Every capability declares an access policy. Public discovery is the default,
217
+ including when protected capabilities exist. The framework authenticates only
218
+ protected calls in this mode.
180
219
 
181
- An HTTP 200 response can still contain a tool error. These measurements describe
182
- the response, not whether the tool achieved its task.
220
+ Set `authentication.discovery` to `"protected"` only when the catalogue itself
221
+ is sensitive. Then every MCP request requires a valid token and list responses
222
+ contain only capabilities allowed by the principal's permissions. OAuth
223
+ discovery metadata remains public in both modes.
183
224
 
184
- ### What Stays Out
225
+ ```ts
226
+ const app = createEmseepea({
227
+ name: "seed-inventory",
228
+ version: "1.0.0",
229
+ tools: [lookup],
230
+ authentication: {
231
+ discovery: "public",
232
+ verifier,
233
+ metadata: {
234
+ resourceServerUrl: new URL("https://api.example/mcp"),
235
+ scopesSupported: ["seeds:read"],
236
+ oauthMetadata,
237
+ },
238
+ },
239
+ observability: [
240
+ structuredLogging("application-log", (event) => logger.info(event)),
241
+ openTelemetry(),
242
+ ],
243
+ });
244
+ ```
185
245
 
186
- The framework does not attach tool names, request data, tokens, URLs, or error
187
- messages. It preserves a valid active parent trace identity, but drops baggage
188
- and other context data. It does not read trace headers itself.
246
+ The verifier must validate the token issuer, audience, expiry, intended
247
+ resource, and permissions. The framework gives protected handlers only a
248
+ normalized principal with `clientId`, `permissions`, and optional `resource`.
249
+ It never gives them the token or raw provider claims. Authentication and
250
+ authorization finish before handlers, availability checks, completion
251
+ callbacks, or backend calls.
189
252
 
190
- ### Current Limits
253
+ Each observability adapter receives one immutable, framework-created event per
254
+ MCP request. Its bounded fields are the known MCP method, known capability name
255
+ when applicable, HTTP method and status, completion outcome, and duration.
191
256
 
192
- SDK host and origin rejections happen before this measurement starts.
193
- Ordinary telemetry API and exporter failures do not change tool results.
194
- An adopter exporter that blocks the process or throws outside the telemetry
195
- call is not isolated.
257
+ Adapters never receive request or response objects, bodies, headers, arguments,
258
+ results, tokens, URLs, raw errors, or provider claims. Adapter failures do not
259
+ change protocol results.
196
260
 
197
- Structured logs are not included yet.
261
+ Configure OpenTelemetry providers before calling `openTelemetry()`. Em See Pea
262
+ does not choose an exporter or send data to a service. To flush a provider,
263
+ include its bounded `flush` function on your adapter. `running.close()` gives
264
+ each adapter an independent flush opportunity. Set
265
+ `observabilityFlushTimeoutMs` in `serveEmseepea` to change the 1,000 millisecond
266
+ default, up to 60,000 milliseconds.
198
267
 
199
268
  ## Report Dependency Readiness
200
269
 
@@ -219,28 +288,6 @@ ignores cancellation, later probes return not-ready until it settles.
219
288
  Readiness reports health for a load balancer or monitoring system. It does not
220
289
  block MCP calls itself. Tool handlers must still handle an unavailable backend.
221
290
 
222
- ## Flush Measurements on Shutdown
223
-
224
- Pass `flushTelemetry` to `serveEmseepea` to flush your OpenTelemetry providers
225
- when the returned server's `close()` method runs. The callback receives
226
- `{ signal }`; it can call your providers' `forceFlush()` methods. Calling the
227
- Fastify app's `close()` directly does not run this callback.
228
-
229
- Shutdown uses two time limits:
230
-
231
- - `shutdownTimeoutMs`: finish existing requests, then close remaining
232
- connections. The default is 5,000 milliseconds.
233
- - `telemetryFlushTimeoutMs`: wait for the final request measurements, then flush.
234
- The default is 1,000 milliseconds; the allowed range is 1 to 60,000.
235
-
236
- The total waiting budget is the sum of those limits. The second limit applies
237
- only when you provide `flushTelemetry`. If final measurements are not ready in
238
- time, flushing is skipped. Repeated `close()` calls share the same work.
239
-
240
- Flushing is best-effort. Its errors do not change tool responses, and completion
241
- of `close()` does not prove that an exporter delivered data. Callbacks that block
242
- JavaScript or ignore cancellation cannot be forcibly stopped by the framework.
243
-
244
291
  ## Describe What Clients Can Show
245
292
 
246
293
  Applications can give servers, tools, resources, reusable resource addresses,
@@ -268,7 +315,7 @@ audience and importance. Use `_meta` for application-specific public details.
268
315
  Em See Pea checks this metadata when the application starts and copies it, so
269
316
  later changes to the original objects have no effect. Tool annotations are
270
317
  hints for clients. They do not prove that a tool is safe, grant permission, or
271
- replace sign-in and authorization checks.
318
+ replace authentication and authorization checks.
272
319
 
273
320
  ## Route with a Tool Argument
274
321
 
@@ -293,6 +340,9 @@ they signed in, grant permission, or protect a secret.
293
340
  Split long tool, resource, resource-address, and prompt lists into pages by
294
341
  adding one option to the server:
295
342
 
343
+ This option pages the registered catalogue metadata. It does not page through
344
+ application records or expand a resource template.
345
+
296
346
  ```ts
297
347
  const app = createEmseepea({
298
348
  name: "pea-guide",
@@ -360,7 +410,7 @@ boundary.
360
410
 
361
411
  The client must advertise elicitation for form input or URL-mode elicitation,
362
412
  where the client opens a URL. Em See Pea applies the normal result-size limit,
363
- time limit, cancellation, safe-error handling, and sign-in policy to every
413
+ time limit, cancellation, safe-error handling, and access policy to every
364
414
  round.
365
415
 
366
416
  This release supports stateless requests only. It rejects opaque
@@ -421,7 +471,7 @@ const getPeaTaxon = defineMappedTool({
421
471
  });
422
472
  ```
423
473
 
424
- For a read-only JSON API that does not require sign-in, use the narrow HTTP
474
+ For a read-only JSON API that does not require backend credentials, use the narrow HTTP
425
475
  client from `@emseepea/server/http`:
426
476
 
427
477
  ```ts
@@ -517,7 +567,9 @@ rejected.
517
567
 
518
568
  ### Use Progress Behind a Proxy
519
569
 
520
- Public tools can also report progress behind a trusted HTTPS proxy.
570
+ Public and protected tools can also report progress behind a trusted HTTPS
571
+ proxy. The framework authenticates and authorizes a protected call before it
572
+ starts the event stream or calls application code.
521
573
 
522
574
  Using the `germination` tool above, configure the proxy's exact address and the public
523
575
  host and origin your clients use:
@@ -568,7 +620,6 @@ Not supported yet:
568
620
  - saved sessions, replay, or subscriptions
569
621
  - recovery after reconnecting
570
622
  - slowing the producer when a client cannot keep up
571
- - progress from tools requiring sign-in outside local development
572
623
 
573
624
  See the [progress coverage and tested proxy setup](../../docs/protocol-coverage.md#progress-updates)
574
625
  for the current checks and their limits.
@@ -642,6 +693,10 @@ const app = createEmseepea({
642
693
  });
643
694
  ```
644
695
 
696
+ The `resources` definitions populate the static-resource and resource-template
697
+ catalogues. Their list methods do not query application records or return
698
+ resource contents. See [when to provide a list or search tool](https://emseepea.github.io/emseepea/examples/#share-reference-material-and-prompts).
699
+
645
700
  ## Tell Clients When They May Reuse Results
646
701
 
647
702
  By default, clients are told not to reuse lists, discovery details, or resource
@@ -669,19 +724,19 @@ Suggestions are optional. When enabled, a handler receives the partial text,
669
724
  the request time limit, cancellation, and registered string arguments. Em See
670
725
  Pea checks the returned suggestions and keeps at most the first 100.
671
726
 
672
- Suggestions are public even when some tools require sign-in. Return only text
673
- that is safe for anyone to discover.
727
+ Completion inherits the access policy of its prompt or resource template.
728
+ With public discovery, return suggestions that are safe to expose in that
729
+ catalogue. With protected discovery, the framework authenticates before the
730
+ completion callback runs.
674
731
 
675
- Listing every matching address, catalogue pages without the bounds above, and
676
- sign-in for resources are not included yet.
732
+ Listing every matching address and catalogue pages without the bounds above
733
+ are not included yet.
677
734
 
678
735
  ## Tool That Requires Sign-In
679
736
 
680
- Tools that require sign-in declare their permissions. The framework leaves
681
- `server/discover` and `tools/list` open to everyone. It verifies a bearer token
682
- only when someone calls the restricted tool, then checks its expiry,
683
- permissions, and intended server. The tool receives the caller's identity, not
684
- the token itself.
737
+ Protected capabilities declare their permissions. Discovery remains public by
738
+ default. Set `authentication.discovery` to `"protected"` when capability names
739
+ and schemas must also be hidden from principals without permission.
685
740
 
686
741
  ```ts
687
742
  const lookup = defineTool({
@@ -701,7 +756,8 @@ const app = createEmseepea({
701
756
  name: "seed-inventory",
702
757
  version: "1.0.0",
703
758
  tools: [lookup],
704
- oauth: {
759
+ authentication: {
760
+ discovery: "protected",
705
761
  verifier,
706
762
  metadata: {
707
763
  resourceServerUrl: new URL("https://api.example/mcp"),
@@ -716,8 +772,7 @@ The application's token checker must verify who issued the token and stop its
716
772
  own slow network or file work. Em See Pea limits how long the request waits.
717
773
  The official MCP library cannot pass a cancellation signal to the checker.
718
774
 
719
- The application must decide whether the signed-in person may access each
720
- record.
775
+ The application must still decide whether the principal may access each record.
721
776
 
722
777
  The HTTP client described above is only for public, read-only JSON APIs. The
723
778
  application remains responsible for backend requests that use credentials.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
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, RouteHandlerMethod } from "fastify";
3
3
  import { z } from "zod";
4
+ import { type ObservabilityAdapter } from "./telemetry.js";
5
+ export { openTelemetry, structuredLogging, type ObservabilityAdapter, type ObservabilityEvent, type ObservedHttpMethod, type ObservedMcpMethod, } from "./telemetry.js";
4
6
  export * from "./ui.js";
5
7
  export type ClientInputRequest = Extract<InputRequest, {
6
8
  method: "elicitation/create";
@@ -30,6 +32,7 @@ export type InputResponseView = Extract<SdkInputResponseView, {
30
32
  }>;
31
33
  export declare function inputResponse(responses: Readonly<Record<string, unknown>> | undefined, key: string): InputResponseView;
32
34
  declare const REGISTER: unique symbol;
35
+ declare const DISCOVERABLE: unique symbol;
33
36
  declare const TOOL_NAME: unique symbol;
34
37
  declare const TOOL_ACCESS: unique symbol;
35
38
  declare const TOOL_STREAMING: unique symbol;
@@ -40,19 +43,30 @@ declare const RESOURCE_KIND: unique symbol;
40
43
  declare const RESOURCE_MATCHES: unique symbol;
41
44
  declare const RESOURCE_ROUTE: unique symbol;
42
45
  declare const RESOURCE_LISTING: unique symbol;
46
+ declare const RESOURCE_ACCESS: unique symbol;
43
47
  declare const PROMPT_NAME: unique symbol;
48
+ declare const PROMPT_ACCESS: unique symbol;
44
49
  declare const HAS_COMPLETION: unique symbol;
45
50
  declare const PROMPT_LISTING: unique symbol;
46
51
  type CacheHints = NonNullable<ServerOptions["cacheHints"]>;
47
- export interface ToolPrincipal {
52
+ export interface Principal {
48
53
  readonly clientId: string;
49
- readonly scopes: readonly string[];
54
+ /** Normalized permissions granted to this MCP resource. */
55
+ readonly permissions: readonly string[];
50
56
  readonly resource?: string;
51
57
  }
58
+ export type ToolPrincipal = Principal;
59
+ export type CapabilityAccess = "public" | "protected";
60
+ export type AccessPolicy = {
61
+ readonly access: "public";
62
+ } | {
63
+ readonly access: "protected";
64
+ readonly requiredScopes: readonly string[];
65
+ };
52
66
  export interface ToolContext<Access extends ToolAccess = ToolAccess> {
53
67
  readonly signal: AbortSignal;
54
68
  readonly deadlineMs: number;
55
- readonly principal: Access extends "public" ? undefined : ToolPrincipal;
69
+ readonly principal: Access extends "public" ? undefined : Principal;
56
70
  /** Client-supplied responses from the current multi-round-trip retry. */
57
71
  readonly inputResponses?: Readonly<Record<string, unknown>>;
58
72
  }
@@ -64,7 +78,7 @@ export interface ProgressUpdate {
64
78
  export interface StreamingToolContext<Access extends ToolAccess = ToolAccess> {
65
79
  readonly signal: AbortSignal;
66
80
  readonly deadlineMs: number;
67
- readonly principal: Access extends "public" ? undefined : ToolPrincipal;
81
+ readonly principal: Access extends "public" ? undefined : Principal;
68
82
  readonly reportProgress: (update: ProgressUpdate) => Promise<void>;
69
83
  }
70
84
  export interface ToolResult<Output> {
@@ -77,21 +91,24 @@ export interface BackendAdapterContext {
77
91
  readonly deadlineMs: number;
78
92
  }
79
93
  export type OperationContext = BackendAdapterContext;
80
- export interface ClientInputContext extends OperationContext {
94
+ export interface ClientInputContext<Access extends CapabilityAccess = CapabilityAccess> extends OperationContext {
95
+ readonly principal: Access extends "public" ? undefined : Principal;
81
96
  /** Client-supplied responses from the current multi-round-trip retry. */
82
97
  readonly inputResponses?: Readonly<Record<string, unknown>>;
83
98
  }
84
- export interface CompletionContext extends OperationContext {
99
+ export interface CompletionContext<Access extends CapabilityAccess = CapabilityAccess> extends OperationContext {
100
+ readonly principal: Access extends "public" ? undefined : Principal;
85
101
  readonly arguments: Readonly<Record<string, string>>;
86
102
  }
87
103
  export type CompletionHandler = (value: string, context: CompletionContext) => readonly string[] | Promise<readonly string[]>;
88
- interface ProtectedToolAccess {
104
+ interface ProtectedCapabilityAccess {
89
105
  readonly type: "protected";
90
106
  readonly requiredScopes: readonly string[];
91
107
  }
92
108
  export type ToolAccess = "public" | "protected";
93
109
  interface ToolDefinitionBase<Input extends z.ZodObject, Output extends z.ZodObject> {
94
110
  readonly name: string;
111
+ readonly discoverable?: boolean;
95
112
  readonly title?: string;
96
113
  readonly description: string;
97
114
  readonly icons?: readonly Icon[];
@@ -140,14 +157,16 @@ export type MappedToolDefinition<Input extends z.ZodObject, Output extends z.Zod
140
157
  readonly requiredScopes: readonly string[];
141
158
  };
142
159
  export interface EmseepeaTool {
160
+ readonly [DISCOVERABLE]: boolean;
143
161
  readonly [TOOL_NAME]: string;
144
- readonly [TOOL_ACCESS]: "public" | ProtectedToolAccess;
162
+ readonly [TOOL_ACCESS]: "public" | ProtectedCapabilityAccess;
145
163
  readonly [TOOL_STREAMING]: boolean;
146
164
  readonly [TOOL_LISTING]: Readonly<Record<string, unknown>>;
147
165
  readonly [REGISTER]: (server: McpServer, timeoutMs: number, maxApplicationResultBytes: number, maxProgressEvents: number, maxProgressEventBytes: number) => void;
148
166
  }
149
- export interface ResourceDefinition {
167
+ interface ResourceDefinitionBase {
150
168
  readonly name: string;
169
+ readonly discoverable?: boolean;
151
170
  readonly uri: string;
152
171
  readonly title?: string;
153
172
  readonly description?: string;
@@ -157,10 +176,19 @@ export interface ResourceDefinition {
157
176
  readonly size?: number;
158
177
  readonly _meta?: Readonly<MetaObject>;
159
178
  readonly cacheHint?: CacheHint;
160
- readonly handler: (context: ClientInputContext) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
161
179
  }
162
- export interface ResourceTemplateDefinition {
180
+ export type ResourceDefinition = ResourceDefinitionBase & ({
181
+ readonly access: "public";
182
+ readonly requiredScopes?: never;
183
+ readonly handler: (context: ClientInputContext<"public">) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
184
+ } | {
185
+ readonly access: "protected";
186
+ readonly requiredScopes: readonly string[];
187
+ readonly handler: (context: ClientInputContext<"protected">) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
188
+ });
189
+ interface ResourceTemplateDefinitionBase {
163
190
  readonly name: string;
191
+ readonly discoverable?: boolean;
164
192
  readonly uriTemplate: string;
165
193
  readonly title?: string;
166
194
  readonly description?: string;
@@ -170,17 +198,27 @@ export interface ResourceTemplateDefinition {
170
198
  readonly _meta?: Readonly<MetaObject>;
171
199
  readonly cacheHint?: CacheHint;
172
200
  readonly complete?: Readonly<Record<string, CompletionHandler>>;
173
- readonly handler: (input: {
174
- readonly uri: string;
175
- readonly variables: Readonly<Record<string, string | readonly string[]>>;
176
- }, context: ClientInputContext) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
177
201
  }
202
+ type ResourceTemplateHandler<Access extends CapabilityAccess> = (input: {
203
+ readonly uri: string;
204
+ readonly variables: Readonly<Record<string, string | readonly string[]>>;
205
+ }, context: ClientInputContext<Access>) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
206
+ export type ResourceTemplateDefinition = ResourceTemplateDefinitionBase & ({
207
+ readonly access: "public";
208
+ readonly requiredScopes?: never;
209
+ readonly handler: ResourceTemplateHandler<"public">;
210
+ } | {
211
+ readonly access: "protected";
212
+ readonly requiredScopes: readonly string[];
213
+ readonly handler: ResourceTemplateHandler<"protected">;
214
+ });
178
215
  interface ResourceTemplateRoute {
179
216
  readonly protocol: string;
180
217
  readonly host: string;
181
218
  readonly segments: readonly (string | undefined)[];
182
219
  }
183
220
  export interface EmseepeaResource {
221
+ readonly [DISCOVERABLE]: boolean;
184
222
  readonly [RESOURCE_NAME]: string;
185
223
  readonly [RESOURCE_URI]: string;
186
224
  readonly [RESOURCE_KIND]: "static" | "template";
@@ -190,6 +228,7 @@ export interface EmseepeaResource {
190
228
  readonly method: "resources/list" | "resources/templates/list";
191
229
  readonly value: Readonly<Record<string, unknown>>;
192
230
  };
231
+ readonly [RESOURCE_ACCESS]: "public" | ProtectedCapabilityAccess;
193
232
  readonly [HAS_COMPLETION]: boolean;
194
233
  readonly [REGISTER]: (server: McpServer, timeoutMs: number, maxApplicationResultBytes: number) => void;
195
234
  }
@@ -201,18 +240,29 @@ type PromptInputConstraint<Args extends z.ZodObject> = [
201
240
  ] extends [never] ? object : {
202
241
  readonly promptArgumentsMustAcceptStrings: never;
203
242
  };
204
- export type PromptDefinition<Args extends z.ZodObject> = {
243
+ type PromptDefinitionBase<Args extends z.ZodObject> = {
205
244
  readonly name: string;
245
+ readonly discoverable?: boolean;
206
246
  readonly title?: string;
207
247
  readonly description?: string;
208
248
  readonly icons?: readonly Icon[];
209
249
  readonly _meta?: Readonly<MetaObject>;
210
250
  readonly argsSchema: Args;
211
251
  readonly complete?: Readonly<Partial<Record<Extract<keyof z.input<Args>, string>, CompletionHandler>>>;
212
- readonly handler: (args: z.output<Args>, context: ClientInputContext) => GetPromptResult | InputRequiredResult | Promise<GetPromptResult | InputRequiredResult>;
213
- } & PromptInputConstraint<Args>;
252
+ };
253
+ export type PromptDefinition<Args extends z.ZodObject> = PromptDefinitionBase<Args> & ({
254
+ readonly access: "public";
255
+ readonly requiredScopes?: never;
256
+ readonly handler: (args: z.output<Args>, context: ClientInputContext<"public">) => GetPromptResult | InputRequiredResult | Promise<GetPromptResult | InputRequiredResult>;
257
+ } | {
258
+ readonly access: "protected";
259
+ readonly requiredScopes: readonly string[];
260
+ readonly handler: (args: z.output<Args>, context: ClientInputContext<"protected">) => GetPromptResult | InputRequiredResult | Promise<GetPromptResult | InputRequiredResult>;
261
+ }) & PromptInputConstraint<Args>;
214
262
  export interface EmseepeaPrompt {
263
+ readonly [DISCOVERABLE]: boolean;
215
264
  readonly [PROMPT_NAME]: string;
265
+ readonly [PROMPT_ACCESS]: "public" | ProtectedCapabilityAccess;
216
266
  readonly [HAS_COMPLETION]: boolean;
217
267
  readonly [PROMPT_LISTING]: Readonly<Record<string, unknown>>;
218
268
  readonly [REGISTER]: (server: McpServer, timeoutMs: number, maxApplicationResultBytes: number) => void;
@@ -225,15 +275,18 @@ export interface DiscoveredCapabilities {
225
275
  readonly prompts: readonly EmseepeaPrompt[];
226
276
  }
227
277
  export type HttpRouteHandler = RouteHandlerMethod;
228
- export interface OAuthResourceServerOptions {
278
+ export interface AuthenticationOptions {
229
279
  readonly verifier: OAuthTokenVerifier;
230
280
  readonly metadata: Omit<AuthMetadataOptions, "dangerouslyAllowInsecureIssuerUrl"> & {
231
281
  readonly dangerouslyAllowInsecureIssuerUrl?: false;
232
282
  };
233
283
  readonly verificationTimeoutMs?: number;
284
+ /** Public lists every contract. Protected authenticates and permission-filters the catalogue. */
285
+ readonly discovery?: "public" | "protected";
234
286
  }
287
+ export type OAuthResourceServerOptions = AuthenticationOptions;
235
288
  export interface EmseepeaOptions {
236
- readonly telemetry?: boolean;
289
+ readonly observability?: readonly ObservabilityAdapter[];
237
290
  readonly readiness?: (context: {
238
291
  readonly signal: AbortSignal;
239
292
  }) => boolean | Promise<boolean>;
@@ -248,6 +301,8 @@ export interface EmseepeaOptions {
248
301
  readonly tools?: readonly EmseepeaTool[];
249
302
  readonly resources?: readonly EmseepeaResource[];
250
303
  readonly prompts?: readonly EmseepeaPrompt[];
304
+ /** Optional capabilities composed onto an application or initializer's own catalogue. */
305
+ readonly additionalTools?: readonly EmseepeaTool[];
251
306
  readonly listPagination?: ListPaginationOptions;
252
307
  readonly cacheHints?: CacheHints;
253
308
  readonly maxRequestBytes?: number;
@@ -256,8 +311,9 @@ export interface EmseepeaOptions {
256
311
  readonly maxProgressEventBytes?: number;
257
312
  readonly operationTimeoutMs?: number;
258
313
  readonly deployment?: DeploymentProfile;
259
- readonly oauth?: OAuthResourceServerOptions;
314
+ readonly authentication?: AuthenticationOptions;
260
315
  }
316
+ export type EmseepeaExtensions = Pick<EmseepeaOptions, "authentication" | "observability" | "additionalTools">;
261
317
  export interface ListPaginationOptions {
262
318
  readonly pageSize: number;
263
319
  readonly maxPageBytes?: number;
@@ -275,10 +331,7 @@ export interface ServeOptions {
275
331
  readonly host?: "127.0.0.1" | "::1" | "localhost" | "0.0.0.0" | "::";
276
332
  readonly port?: number;
277
333
  readonly shutdownTimeoutMs?: number;
278
- readonly flushTelemetry?: (context: {
279
- readonly signal: AbortSignal;
280
- }) => void | Promise<void>;
281
- readonly telemetryFlushTimeoutMs?: number;
334
+ readonly observabilityFlushTimeoutMs?: number;
282
335
  }
283
336
  export interface RunningEmseepeaServer {
284
337
  readonly url: URL;
@@ -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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"}