@emseepea/server 0.3.3 → 0.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 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
 
@@ -161,40 +161,64 @@ This is optional. Direct `app.get()`, `app.post()`, and other Fastify route
161
161
  registration continue to work. Use direct registration for routes that do not
162
162
  fit the file convention.
163
163
 
164
- ## Measure Requests
164
+ ## Authentication and Observability
165
165
 
166
- Set `telemetry: true` in `createEmseepea` to record request traces, counts, and
167
- response times through OpenTelemetry. Leave it out to disable these measurements.
166
+ Authentication and observability are optional extensions. The application
167
+ factory in every initializer accepts the same `EmseepeaExtensions` type, so an
168
+ API, database, SOAP, or UI server can add either feature without changing
169
+ templates.
168
170
 
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.
171
+ Every capability declares an access policy. Public discovery is the default,
172
+ including when protected capabilities exist. The framework authenticates only
173
+ protected calls in this mode.
171
174
 
172
- ### What Gets Measured
175
+ Set `authentication.discovery` to `"protected"` only when the catalogue itself
176
+ is sensitive. Then every MCP request requires a valid token and list responses
177
+ contain only capabilities allowed by the principal's permissions. OAuth
178
+ discovery metadata remains public in both modes.
173
179
 
174
- Each trace covers one `/mcp` request through response completion or
175
- disconnection, including progress updates. Measurements report:
176
-
177
- - the HTTP method and status
178
- - the known MCP method, or `_OTHER` for unknown names
179
- - whether the response finished or disconnected
180
-
181
- An HTTP 200 response can still contain a tool error. These measurements describe
182
- the response, not whether the tool achieved its task.
183
-
184
- ### What Stays Out
180
+ ```ts
181
+ const app = createEmseepea({
182
+ name: "seed-inventory",
183
+ version: "1.0.0",
184
+ tools: [lookup],
185
+ authentication: {
186
+ discovery: "public",
187
+ verifier,
188
+ metadata: {
189
+ resourceServerUrl: new URL("https://api.example/mcp"),
190
+ scopesSupported: ["seeds:read"],
191
+ oauthMetadata,
192
+ },
193
+ },
194
+ observability: [
195
+ structuredLogging("application-log", (event) => logger.info(event)),
196
+ openTelemetry(),
197
+ ],
198
+ });
199
+ ```
185
200
 
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.
201
+ The verifier must validate the token issuer, audience, expiry, intended
202
+ resource, and permissions. The framework gives protected handlers only a
203
+ normalized principal with `clientId`, `permissions`, and optional `resource`.
204
+ It never gives them the token or raw provider claims. Authentication and
205
+ authorization finish before handlers, availability checks, completion
206
+ callbacks, or backend calls.
189
207
 
190
- ### Current Limits
208
+ Each observability adapter receives one immutable, framework-created event per
209
+ MCP request. Its bounded fields are the known MCP method, known capability name
210
+ when applicable, HTTP method and status, completion outcome, and duration.
191
211
 
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.
212
+ Adapters never receive request or response objects, bodies, headers, arguments,
213
+ results, tokens, URLs, raw errors, or provider claims. Adapter failures do not
214
+ change protocol results.
196
215
 
197
- Structured logs are not included yet.
216
+ Configure OpenTelemetry providers before calling `openTelemetry()`. Em See Pea
217
+ does not choose an exporter or send data to a service. To flush a provider,
218
+ include its bounded `flush` function on your adapter. `running.close()` gives
219
+ each adapter an independent flush opportunity. Set
220
+ `observabilityFlushTimeoutMs` in `serveEmseepea` to change the 1,000 millisecond
221
+ default, up to 60,000 milliseconds.
198
222
 
199
223
  ## Report Dependency Readiness
200
224
 
@@ -219,28 +243,6 @@ ignores cancellation, later probes return not-ready until it settles.
219
243
  Readiness reports health for a load balancer or monitoring system. It does not
220
244
  block MCP calls itself. Tool handlers must still handle an unavailable backend.
221
245
 
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
246
  ## Describe What Clients Can Show
245
247
 
246
248
  Applications can give servers, tools, resources, reusable resource addresses,
@@ -268,7 +270,7 @@ audience and importance. Use `_meta` for application-specific public details.
268
270
  Em See Pea checks this metadata when the application starts and copies it, so
269
271
  later changes to the original objects have no effect. Tool annotations are
270
272
  hints for clients. They do not prove that a tool is safe, grant permission, or
271
- replace sign-in and authorization checks.
273
+ replace authentication and authorization checks.
272
274
 
273
275
  ## Route with a Tool Argument
274
276
 
@@ -360,7 +362,7 @@ boundary.
360
362
 
361
363
  The client must advertise elicitation for form input or URL-mode elicitation,
362
364
  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
365
+ time limit, cancellation, safe-error handling, and access policy to every
364
366
  round.
365
367
 
366
368
  This release supports stateless requests only. It rejects opaque
@@ -421,7 +423,7 @@ const getPeaTaxon = defineMappedTool({
421
423
  });
422
424
  ```
423
425
 
424
- For a read-only JSON API that does not require sign-in, use the narrow HTTP
426
+ For a read-only JSON API that does not require backend credentials, use the narrow HTTP
425
427
  client from `@emseepea/server/http`:
426
428
 
427
429
  ```ts
@@ -568,7 +570,7 @@ Not supported yet:
568
570
  - saved sessions, replay, or subscriptions
569
571
  - recovery after reconnecting
570
572
  - slowing the producer when a client cannot keep up
571
- - progress from tools requiring sign-in outside local development
573
+ - progress from protected tools outside local development
572
574
 
573
575
  See the [progress coverage and tested proxy setup](../../docs/protocol-coverage.md#progress-updates)
574
576
  for the current checks and their limits.
@@ -669,19 +671,19 @@ Suggestions are optional. When enabled, a handler receives the partial text,
669
671
  the request time limit, cancellation, and registered string arguments. Em See
670
672
  Pea checks the returned suggestions and keeps at most the first 100.
671
673
 
672
- Suggestions are public even when some tools require sign-in. Return only text
673
- that is safe for anyone to discover.
674
+ Completion inherits the access policy of its prompt or resource template.
675
+ With public discovery, return suggestions that are safe to expose in that
676
+ catalogue. With protected discovery, the framework authenticates before the
677
+ completion callback runs.
674
678
 
675
- Listing every matching address, catalogue pages without the bounds above, and
676
- sign-in for resources are not included yet.
679
+ Listing every matching address and catalogue pages without the bounds above
680
+ are not included yet.
677
681
 
678
682
  ## Tool That Requires Sign-In
679
683
 
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.
684
+ Protected capabilities declare their permissions. Discovery remains public by
685
+ default. Set `authentication.discovery` to `"protected"` when capability names
686
+ and schemas must also be hidden from principals without permission.
685
687
 
686
688
  ```ts
687
689
  const lookup = defineTool({
@@ -701,7 +703,8 @@ const app = createEmseepea({
701
703
  name: "seed-inventory",
702
704
  version: "1.0.0",
703
705
  tools: [lookup],
704
- oauth: {
706
+ authentication: {
707
+ discovery: "protected",
705
708
  verifier,
706
709
  metadata: {
707
710
  resourceServerUrl: new URL("https://api.example/mcp"),
@@ -716,8 +719,7 @@ The application's token checker must verify who issued the token and stop its
716
719
  own slow network or file work. Em See Pea limits how long the request waits.
717
720
  The official MCP library cannot pass a cancellation signal to the checker.
718
721
 
719
- The application must decide whether the signed-in person may access each
720
- record.
722
+ The application must still decide whether the principal may access each record.
721
723
 
722
724
  The HTTP client described above is only for public, read-only JSON APIs. The
723
725
  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";
@@ -40,19 +42,30 @@ declare const RESOURCE_KIND: unique symbol;
40
42
  declare const RESOURCE_MATCHES: unique symbol;
41
43
  declare const RESOURCE_ROUTE: unique symbol;
42
44
  declare const RESOURCE_LISTING: unique symbol;
45
+ declare const RESOURCE_ACCESS: unique symbol;
43
46
  declare const PROMPT_NAME: unique symbol;
47
+ declare const PROMPT_ACCESS: unique symbol;
44
48
  declare const HAS_COMPLETION: unique symbol;
45
49
  declare const PROMPT_LISTING: unique symbol;
46
50
  type CacheHints = NonNullable<ServerOptions["cacheHints"]>;
47
- export interface ToolPrincipal {
51
+ export interface Principal {
48
52
  readonly clientId: string;
49
- readonly scopes: readonly string[];
53
+ /** Normalized permissions granted to this MCP resource. */
54
+ readonly permissions: readonly string[];
50
55
  readonly resource?: string;
51
56
  }
57
+ export type ToolPrincipal = Principal;
58
+ export type CapabilityAccess = "public" | "protected";
59
+ export type AccessPolicy = {
60
+ readonly access: "public";
61
+ } | {
62
+ readonly access: "protected";
63
+ readonly requiredScopes: readonly string[];
64
+ };
52
65
  export interface ToolContext<Access extends ToolAccess = ToolAccess> {
53
66
  readonly signal: AbortSignal;
54
67
  readonly deadlineMs: number;
55
- readonly principal: Access extends "public" ? undefined : ToolPrincipal;
68
+ readonly principal: Access extends "public" ? undefined : Principal;
56
69
  /** Client-supplied responses from the current multi-round-trip retry. */
57
70
  readonly inputResponses?: Readonly<Record<string, unknown>>;
58
71
  }
@@ -64,7 +77,7 @@ export interface ProgressUpdate {
64
77
  export interface StreamingToolContext<Access extends ToolAccess = ToolAccess> {
65
78
  readonly signal: AbortSignal;
66
79
  readonly deadlineMs: number;
67
- readonly principal: Access extends "public" ? undefined : ToolPrincipal;
80
+ readonly principal: Access extends "public" ? undefined : Principal;
68
81
  readonly reportProgress: (update: ProgressUpdate) => Promise<void>;
69
82
  }
70
83
  export interface ToolResult<Output> {
@@ -77,15 +90,17 @@ export interface BackendAdapterContext {
77
90
  readonly deadlineMs: number;
78
91
  }
79
92
  export type OperationContext = BackendAdapterContext;
80
- export interface ClientInputContext extends OperationContext {
93
+ export interface ClientInputContext<Access extends CapabilityAccess = CapabilityAccess> extends OperationContext {
94
+ readonly principal: Access extends "public" ? undefined : Principal;
81
95
  /** Client-supplied responses from the current multi-round-trip retry. */
82
96
  readonly inputResponses?: Readonly<Record<string, unknown>>;
83
97
  }
84
- export interface CompletionContext extends OperationContext {
98
+ export interface CompletionContext<Access extends CapabilityAccess = CapabilityAccess> extends OperationContext {
99
+ readonly principal: Access extends "public" ? undefined : Principal;
85
100
  readonly arguments: Readonly<Record<string, string>>;
86
101
  }
87
102
  export type CompletionHandler = (value: string, context: CompletionContext) => readonly string[] | Promise<readonly string[]>;
88
- interface ProtectedToolAccess {
103
+ interface ProtectedCapabilityAccess {
89
104
  readonly type: "protected";
90
105
  readonly requiredScopes: readonly string[];
91
106
  }
@@ -141,12 +156,12 @@ export type MappedToolDefinition<Input extends z.ZodObject, Output extends z.Zod
141
156
  };
142
157
  export interface EmseepeaTool {
143
158
  readonly [TOOL_NAME]: string;
144
- readonly [TOOL_ACCESS]: "public" | ProtectedToolAccess;
159
+ readonly [TOOL_ACCESS]: "public" | ProtectedCapabilityAccess;
145
160
  readonly [TOOL_STREAMING]: boolean;
146
161
  readonly [TOOL_LISTING]: Readonly<Record<string, unknown>>;
147
162
  readonly [REGISTER]: (server: McpServer, timeoutMs: number, maxApplicationResultBytes: number, maxProgressEvents: number, maxProgressEventBytes: number) => void;
148
163
  }
149
- export interface ResourceDefinition {
164
+ interface ResourceDefinitionBase {
150
165
  readonly name: string;
151
166
  readonly uri: string;
152
167
  readonly title?: string;
@@ -157,9 +172,17 @@ export interface ResourceDefinition {
157
172
  readonly size?: number;
158
173
  readonly _meta?: Readonly<MetaObject>;
159
174
  readonly cacheHint?: CacheHint;
160
- readonly handler: (context: ClientInputContext) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
161
175
  }
162
- export interface ResourceTemplateDefinition {
176
+ export type ResourceDefinition = ResourceDefinitionBase & ({
177
+ readonly access: "public";
178
+ readonly requiredScopes?: never;
179
+ readonly handler: (context: ClientInputContext<"public">) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
180
+ } | {
181
+ readonly access: "protected";
182
+ readonly requiredScopes: readonly string[];
183
+ readonly handler: (context: ClientInputContext<"protected">) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
184
+ });
185
+ interface ResourceTemplateDefinitionBase {
163
186
  readonly name: string;
164
187
  readonly uriTemplate: string;
165
188
  readonly title?: string;
@@ -170,11 +193,20 @@ export interface ResourceTemplateDefinition {
170
193
  readonly _meta?: Readonly<MetaObject>;
171
194
  readonly cacheHint?: CacheHint;
172
195
  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
196
  }
197
+ type ResourceTemplateHandler<Access extends CapabilityAccess> = (input: {
198
+ readonly uri: string;
199
+ readonly variables: Readonly<Record<string, string | readonly string[]>>;
200
+ }, context: ClientInputContext<Access>) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>;
201
+ export type ResourceTemplateDefinition = ResourceTemplateDefinitionBase & ({
202
+ readonly access: "public";
203
+ readonly requiredScopes?: never;
204
+ readonly handler: ResourceTemplateHandler<"public">;
205
+ } | {
206
+ readonly access: "protected";
207
+ readonly requiredScopes: readonly string[];
208
+ readonly handler: ResourceTemplateHandler<"protected">;
209
+ });
178
210
  interface ResourceTemplateRoute {
179
211
  readonly protocol: string;
180
212
  readonly host: string;
@@ -190,6 +222,7 @@ export interface EmseepeaResource {
190
222
  readonly method: "resources/list" | "resources/templates/list";
191
223
  readonly value: Readonly<Record<string, unknown>>;
192
224
  };
225
+ readonly [RESOURCE_ACCESS]: "public" | ProtectedCapabilityAccess;
193
226
  readonly [HAS_COMPLETION]: boolean;
194
227
  readonly [REGISTER]: (server: McpServer, timeoutMs: number, maxApplicationResultBytes: number) => void;
195
228
  }
@@ -201,7 +234,7 @@ type PromptInputConstraint<Args extends z.ZodObject> = [
201
234
  ] extends [never] ? object : {
202
235
  readonly promptArgumentsMustAcceptStrings: never;
203
236
  };
204
- export type PromptDefinition<Args extends z.ZodObject> = {
237
+ type PromptDefinitionBase<Args extends z.ZodObject> = {
205
238
  readonly name: string;
206
239
  readonly title?: string;
207
240
  readonly description?: string;
@@ -209,10 +242,19 @@ export type PromptDefinition<Args extends z.ZodObject> = {
209
242
  readonly _meta?: Readonly<MetaObject>;
210
243
  readonly argsSchema: Args;
211
244
  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>;
245
+ };
246
+ export type PromptDefinition<Args extends z.ZodObject> = PromptDefinitionBase<Args> & ({
247
+ readonly access: "public";
248
+ readonly requiredScopes?: never;
249
+ readonly handler: (args: z.output<Args>, context: ClientInputContext<"public">) => GetPromptResult | InputRequiredResult | Promise<GetPromptResult | InputRequiredResult>;
250
+ } | {
251
+ readonly access: "protected";
252
+ readonly requiredScopes: readonly string[];
253
+ readonly handler: (args: z.output<Args>, context: ClientInputContext<"protected">) => GetPromptResult | InputRequiredResult | Promise<GetPromptResult | InputRequiredResult>;
254
+ }) & PromptInputConstraint<Args>;
214
255
  export interface EmseepeaPrompt {
215
256
  readonly [PROMPT_NAME]: string;
257
+ readonly [PROMPT_ACCESS]: "public" | ProtectedCapabilityAccess;
216
258
  readonly [HAS_COMPLETION]: boolean;
217
259
  readonly [PROMPT_LISTING]: Readonly<Record<string, unknown>>;
218
260
  readonly [REGISTER]: (server: McpServer, timeoutMs: number, maxApplicationResultBytes: number) => void;
@@ -225,15 +267,18 @@ export interface DiscoveredCapabilities {
225
267
  readonly prompts: readonly EmseepeaPrompt[];
226
268
  }
227
269
  export type HttpRouteHandler = RouteHandlerMethod;
228
- export interface OAuthResourceServerOptions {
270
+ export interface AuthenticationOptions {
229
271
  readonly verifier: OAuthTokenVerifier;
230
272
  readonly metadata: Omit<AuthMetadataOptions, "dangerouslyAllowInsecureIssuerUrl"> & {
231
273
  readonly dangerouslyAllowInsecureIssuerUrl?: false;
232
274
  };
233
275
  readonly verificationTimeoutMs?: number;
276
+ /** Public lists every contract. Protected authenticates and permission-filters the catalogue. */
277
+ readonly discovery?: "public" | "protected";
234
278
  }
279
+ export type OAuthResourceServerOptions = AuthenticationOptions;
235
280
  export interface EmseepeaOptions {
236
- readonly telemetry?: boolean;
281
+ readonly observability?: readonly ObservabilityAdapter[];
237
282
  readonly readiness?: (context: {
238
283
  readonly signal: AbortSignal;
239
284
  }) => boolean | Promise<boolean>;
@@ -256,8 +301,9 @@ export interface EmseepeaOptions {
256
301
  readonly maxProgressEventBytes?: number;
257
302
  readonly operationTimeoutMs?: number;
258
303
  readonly deployment?: DeploymentProfile;
259
- readonly oauth?: OAuthResourceServerOptions;
304
+ readonly authentication?: AuthenticationOptions;
260
305
  }
306
+ export type EmseepeaExtensions = Pick<EmseepeaOptions, "authentication" | "observability">;
261
307
  export interface ListPaginationOptions {
262
308
  readonly pageSize: number;
263
309
  readonly maxPageBytes?: number;
@@ -275,10 +321,7 @@ export interface ServeOptions {
275
321
  readonly host?: "127.0.0.1" | "::1" | "localhost" | "0.0.0.0" | "::";
276
322
  readonly port?: number;
277
323
  readonly shutdownTimeoutMs?: number;
278
- readonly flushTelemetry?: (context: {
279
- readonly signal: AbortSignal;
280
- }) => void | Promise<void>;
281
- readonly telemetryFlushTimeoutMs?: number;
324
+ readonly observabilityFlushTimeoutMs?: number;
282
325
  }
283
326
  export interface RunningEmseepeaServer {
284
327
  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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"}