tiny-http-mcp-server 0.1.2 → 0.1.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/dist/cli.js CHANGED
@@ -1,10 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { realpathSync } from "node:fs";
3
+ import { createRequire } from "node:module";
3
4
  import { parseArgs } from "node:util";
4
5
  import { pathToFileURL } from "node:url";
5
6
  import { createHttpServer } from "./http-server.js";
6
7
  import { loadOAuthVerifier } from "./load-oauth-verifier.js";
7
- import packageJson from "../package.json" with { type: "json" };
8
+ // createRequire instead of JSON import attributes: `with { type: "json" }` is a
9
+ // syntax error before Node 18.20, and engines declares >=18.18 (#517).
10
+ const require = createRequire(import.meta.url);
11
+ const packageJson = require("../package.json");
8
12
  function readPackageInfo() {
9
13
  return {
10
14
  name: packageJson.name,
@@ -18,7 +18,7 @@
18
18
  },
19
19
  {
20
20
  "name": "tiny-http-mcp-server",
21
- "version": "0.1.2",
21
+ "version": "0.1.4",
22
22
  "license": "MIT"
23
23
  },
24
24
  {
@@ -1,4 +1,4 @@
1
- import { type RequestHandler } from "express";
1
+ import type { RequestHandler } from "express";
2
2
  import { type HttpServer, type ProtectedResourceMetadataOptions, type TinyHttpMcpServerOAuthOptions } from "./http-server.js";
3
3
  import type { HttpObservabilityOptions } from "./http-transport.js";
4
4
  export declare function createExpressMiddleware(server: HttpServer): RequestHandler;
@@ -1,4 +1,3 @@
1
- import express from "express";
2
1
  import { authorizeBearerRequest } from "./auth.js";
3
2
  import { createProtectedResourceMetadataDocument } from "./http-server.js";
4
3
  import { PROTECTED_RESOURCE_METADATA_PATH } from "./auth.js";
@@ -35,7 +34,6 @@ export function createExpressMiddleware(server) {
35
34
  };
36
35
  }
37
36
  export function createProtectedResourceMetadataRouter(options) {
38
- const router = express.Router();
39
37
  const document = createProtectedResourceMetadataDocument(options);
40
38
  const metadataPaths = (() => {
41
39
  const path = normalizePath(options.path ?? "/");
@@ -44,14 +42,15 @@ export function createProtectedResourceMetadataRouter(options) {
44
42
  }
45
43
  return [`${PROTECTED_RESOURCE_METADATA_PATH}${path}`];
46
44
  })();
47
- for (const metadataPath of metadataPaths) {
48
- router.get(metadataPath, (_req, res) => {
49
- setHardeningHeaders(res);
50
- res.set("Cache-Control", PROTECTED_RESOURCE_METADATA_CACHE_CONTROL);
51
- res.status(200).json(document);
52
- });
53
- }
54
- return router;
45
+ return (req, res, next) => {
46
+ if (req.method !== "GET" || !metadataPaths.includes(req.path)) {
47
+ next();
48
+ return;
49
+ }
50
+ setHardeningHeaders(res);
51
+ res.set("Cache-Control", PROTECTED_RESOURCE_METADATA_CACHE_CONTROL);
52
+ res.status(200).json(document);
53
+ };
55
54
  }
56
55
  export function createExpressOAuthHandlers(options) {
57
56
  const mcpMiddleware = createExpressMiddleware(options.server);
@@ -35,6 +35,7 @@ export interface HttpServer extends Omit<Server, "tool" | "registerTool"> {
35
35
  registerTool<TIn, TOut = never>(definition: Omit<ToolDefinition<TIn, TOut>, "handler">, handler: HttpToolHandler<TIn, TOut>): HttpServer;
36
36
  listenHttp(options?: HttpListenOptions): Promise<HttpServerHandle>;
37
37
  handleRequest(req: IncomingMessage, res: ServerResponse): Promise<void>;
38
+ getRequestContext(): HttpToolContext | undefined;
38
39
  }
39
40
  export interface HttpToolContext {
40
41
  request: AuthenticatedIncomingMessage;
@@ -256,6 +256,7 @@ export function createHttpServer(options) {
256
256
  }
257
257
  await transport.handleRequest(req, res);
258
258
  };
259
+ httpServer.getRequestContext = () => requestContextStorage.getStore();
259
260
  return httpServer;
260
261
  }
261
262
  function hasOwnProperty(value, key) {
@@ -0,0 +1,9 @@
1
+ export { createHttpServer, createProtectedResourceMetadataDocument } from "./http-server.js";
2
+ export type { HttpToolContext, HttpToolHandler, HttpListenOptions, HttpServer, HttpServerHandle, HttpTransportOptions, ProtectedResourceMetadataOptions, TinyHttpMcpServerOAuthOptions } from "./http-server.js";
3
+ export { TokenVerificationError } from "./auth.js";
4
+ export type { RequestAuthInfo, TokenVerifier, VerifiedAccessToken } from "./auth.js";
5
+ export { StreamableHttpTransport } from "./http-transport.js";
6
+ export type { HttpObservabilityEvent, HttpObservabilityOptions, StreamableHttpTransportOptions } from "./http-transport.js";
7
+ export type { Session, SessionStore } from "./session.js";
8
+ export { createJwksTokenVerifier } from "mcp-oauth";
9
+ export type { JwksTokenVerifier, JwksTokenVerifierOptions, JwksVerifiedAccessToken } from "mcp-oauth";
package/dist/server.js ADDED
@@ -0,0 +1,4 @@
1
+ export { createHttpServer, createProtectedResourceMetadataDocument } from "./http-server.js";
2
+ export { TokenVerificationError } from "./auth.js";
3
+ export { StreamableHttpTransport } from "./http-transport.js";
4
+ export { createJwksTokenVerifier } from "mcp-oauth";
@@ -1,6 +1,4 @@
1
1
  {
2
- "name": "auth-store",
3
- "version": "0.0.1",
4
2
  "private": true,
5
3
  "license": "MIT",
6
4
  "type": "module",
@@ -1,6 +1,4 @@
1
1
  {
2
- "name": "mcp-oauth",
3
- "version": "0.0.1",
4
2
  "license": "MIT",
5
3
  "private": true,
6
4
  "type": "module",
@@ -1,6 +1,4 @@
1
1
  {
2
- "name": "tiny-mcp-client",
3
- "version": "0.1.0",
4
2
  "private": true,
5
3
  "license": "MIT",
6
4
  "type": "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tiny-http-mcp-server",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Minimal MCP server over HTTP built on tiny-stdio-mcp-server",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,6 +13,10 @@
13
13
  "types": "./dist/index.d.ts",
14
14
  "import": "./dist/index.js"
15
15
  },
16
+ "./server": {
17
+ "types": "./dist/server.d.ts",
18
+ "import": "./dist/server.js"
19
+ },
16
20
  "./testing": {
17
21
  "types": "./dist/testing.d.ts",
18
22
  "import": "./dist/testing.js"
@@ -42,7 +46,6 @@
42
46
  },
43
47
  "license": "MIT",
44
48
  "dependencies": {
45
- "express": "^5.1.0",
46
49
  "jose": "^6.1.2",
47
50
  "tiny-stdio-mcp-server": "^0.1.0"
48
51
  },
@@ -59,6 +62,7 @@
59
62
  },
60
63
  "devDependencies": {
61
64
  "@modelcontextprotocol/sdk": "^1.26.0",
62
- "@types/express": "^5.0.6"
65
+ "@types/express": "^5.0.6",
66
+ "express": "^5.1.0"
63
67
  }
64
68
  }