@tigerdata/mcp-boilerplate 0.8.0 → 0.9.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.
@@ -1,7 +1,5 @@
1
- import { dirname, join } from 'path';
2
- import { fileURLToPath } from 'url';
3
- const __dirname = dirname(fileURLToPath(import.meta.url));
4
- export async function cliEntrypoint(stdioEntrypoint, httpEntrypoint, instrumentation = join(__dirname, './instrumentation.js')) {
1
+ import { join } from 'path';
2
+ export async function cliEntrypoint(stdioEntrypoint, httpEntrypoint, instrumentation = join(import.meta.dir, './instrumentation.js')) {
5
3
  // Parse command line arguments first
6
4
  const args = process.argv.slice(2);
7
5
  const scriptName = args[0] || 'stdio';
@@ -3,7 +3,7 @@ import express from 'express';
3
3
  import { ApiFactory, PromptFactory, ResourceFactory } from './types.js';
4
4
  import { AdditionalSetupArgs } from './mcpServer.js';
5
5
  import { Server } from 'node:http';
6
- export declare const httpServerFactory: <Context extends Record<string, unknown>>({ name, version, context, apiFactories, promptFactories, resourceFactories, additionalSetup, cleanupFn, stateful, }: {
6
+ export declare const httpServerFactory: <Context extends Record<string, unknown>>({ name, version, context, apiFactories, promptFactories, resourceFactories, additionalSetup, cleanupFn, stateful, instructions, }: {
7
7
  name: string;
8
8
  version?: string;
9
9
  context: Context;
@@ -13,6 +13,7 @@ export declare const httpServerFactory: <Context extends Record<string, unknown>
13
13
  additionalSetup?: (args: AdditionalSetupArgs<Context>) => void;
14
14
  cleanupFn?: () => void | Promise<void>;
15
15
  stateful?: boolean;
16
+ instructions?: string;
16
17
  }) => {
17
18
  app: express.Express;
18
19
  server: Server;
@@ -6,7 +6,7 @@ import { registerExitHandlers } from './registerExitHandlers.js';
6
6
  import { mcpServerFactory } from './mcpServer.js';
7
7
  import { log } from './logger.js';
8
8
  import { StatusError } from './StatusError.js';
9
- export const httpServerFactory = ({ name, version, context, apiFactories = [], promptFactories, resourceFactories, additionalSetup, cleanupFn, stateful = true, }) => {
9
+ export const httpServerFactory = ({ name, version, context, apiFactories = [], promptFactories, resourceFactories, additionalSetup, cleanupFn, stateful = true, instructions, }) => {
10
10
  const cleanupFns = cleanupFn
11
11
  ? [cleanupFn]
12
12
  : [];
@@ -23,6 +23,7 @@ export const httpServerFactory = ({ name, version, context, apiFactories = [], p
23
23
  resourceFactories,
24
24
  additionalSetup,
25
25
  featureFlags,
26
+ instructions,
26
27
  }), { name, stateful });
27
28
  cleanupFns.push(mcpCleanup);
28
29
  app.use('/mcp', mcpRouter);
@@ -6,7 +6,7 @@ export interface AdditionalSetupArgs<Context extends Record<string, unknown>> {
6
6
  server: McpServer;
7
7
  featureFlags: McpFeatureFlags;
8
8
  }
9
- export declare const mcpServerFactory: <Context extends Record<string, unknown>>({ name, version, context, apiFactories, promptFactories, resourceFactories, additionalSetup, additionalCapabilities, featureFlags, }: {
9
+ export declare const mcpServerFactory: <Context extends Record<string, unknown>>({ name, version, context, apiFactories, promptFactories, resourceFactories, additionalSetup, additionalCapabilities, featureFlags, instructions, }: {
10
10
  name: string;
11
11
  version?: string;
12
12
  context: Context;
@@ -16,6 +16,7 @@ export declare const mcpServerFactory: <Context extends Record<string, unknown>>
16
16
  additionalSetup?: (args: AdditionalSetupArgs<Context>) => void;
17
17
  additionalCapabilities?: ServerCapabilities;
18
18
  featureFlags?: McpFeatureFlags;
19
+ instructions?: string;
19
20
  }) => {
20
21
  server: McpServer;
21
22
  };
package/dist/mcpServer.js CHANGED
@@ -25,7 +25,7 @@ const shouldSkip = (item, enabledSets, disabledSets) => {
25
25
  }
26
26
  return false;
27
27
  };
28
- export const mcpServerFactory = ({ name, version = '1.0.0', context, apiFactories = [], promptFactories = [], resourceFactories = [], additionalSetup, additionalCapabilities = {}, featureFlags = {}, }) => {
28
+ export const mcpServerFactory = ({ name, version = '1.0.0', context, apiFactories = [], promptFactories = [], resourceFactories = [], additionalSetup, additionalCapabilities = {}, featureFlags = {}, instructions, }) => {
29
29
  const enablePrompts = featureFlags.prompts !== false;
30
30
  const enableResources = featureFlags.resources !== false;
31
31
  const enableTools = featureFlags.tools !== false;
@@ -41,6 +41,7 @@ export const mcpServerFactory = ({ name, version = '1.0.0', context, apiFactorie
41
41
  : null),
42
42
  ...additionalCapabilities,
43
43
  },
44
+ instructions,
44
45
  });
45
46
  if (enableTools) {
46
47
  for (const factory of apiFactories) {
package/dist/stdio.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { ApiFactory, PromptFactory, ResourceFactory } from './types.js';
3
3
  import { AdditionalSetupArgs } from './mcpServer.js';
4
- export declare const stdioServerFactory: <Context extends Record<string, unknown>>({ name, version, context, apiFactories, promptFactories, resourceFactories, additionalSetup, cleanupFn, }: {
4
+ export declare const stdioServerFactory: <Context extends Record<string, unknown>>({ name, version, context, apiFactories, promptFactories, resourceFactories, additionalSetup, cleanupFn, instructions, }: {
5
5
  name: string;
6
6
  version?: string;
7
7
  context: Context;
@@ -10,4 +10,5 @@ export declare const stdioServerFactory: <Context extends Record<string, unknown
10
10
  resourceFactories?: readonly ResourceFactory<Context>[];
11
11
  additionalSetup?: (args: AdditionalSetupArgs<Context>) => void;
12
12
  cleanupFn?: () => Promise<void>;
13
+ instructions?: string;
13
14
  }) => Promise<void>;
package/dist/stdio.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
3
  import { mcpServerFactory } from './mcpServer.js';
4
4
  import { registerExitHandlers } from './registerExitHandlers.js';
5
- export const stdioServerFactory = async ({ name, version, context, apiFactories, promptFactories, resourceFactories, additionalSetup, cleanupFn, }) => {
5
+ export const stdioServerFactory = async ({ name, version, context, apiFactories, promptFactories, resourceFactories, additionalSetup, cleanupFn, instructions, }) => {
6
6
  try {
7
7
  console.error('Starting default (STDIO) server...');
8
8
  const transport = new StdioServerTransport();
@@ -14,6 +14,7 @@ export const stdioServerFactory = async ({ name, version, context, apiFactories,
14
14
  promptFactories,
15
15
  resourceFactories,
16
16
  additionalSetup,
17
+ instructions,
17
18
  });
18
19
  await server.connect(transport);
19
20
  // Cleanup on exit
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tigerdata/mcp-boilerplate",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "MCP boilerplate code for Node.js",
5
5
  "license": "Apache-2.0",
6
6
  "author": "TigerData",
@@ -39,29 +39,29 @@
39
39
  "prettier:check": "prettier --check ."
40
40
  },
41
41
  "dependencies": {
42
- "@modelcontextprotocol/sdk": "^1.23.0",
42
+ "@modelcontextprotocol/sdk": "^1.24.2",
43
43
  "@opentelemetry/api": "^1.9.0",
44
- "@opentelemetry/auto-instrumentations-node": "^0.67.1",
44
+ "@opentelemetry/auto-instrumentations-node": "^0.67.2",
45
45
  "@opentelemetry/exporter-trace-otlp-grpc": "^0.208.0",
46
46
  "@opentelemetry/instrumentation-http": "^0.208.0",
47
47
  "@opentelemetry/sdk-metrics": "^2.2.0",
48
48
  "@opentelemetry/sdk-node": "^0.208.0",
49
49
  "@opentelemetry/sdk-trace-node": "^2.2.0",
50
50
  "@opentelemetry/semantic-conventions": "^1.38.0",
51
- "express": "^5.1.0",
51
+ "express": "^5.2.1",
52
52
  "raw-body": "^3.0.2",
53
53
  "zod": "^3.23.8"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@eslint/js": "^9.39.1",
57
57
  "@types/bun": "^1.3.3",
58
- "@types/express": "^5.0.5",
58
+ "@types/express": "^5.0.6",
59
59
  "@types/node": "^22.19.1",
60
- "ai": "^5.0.102",
60
+ "ai": "^5.0.106",
61
61
  "eslint": "^9.39.1",
62
- "prettier": "^3.6.2",
62
+ "prettier": "^3.7.4",
63
63
  "typescript": "^5.9.3",
64
- "typescript-eslint": "^8.48.0"
64
+ "typescript-eslint": "^8.48.1"
65
65
  },
66
66
  "publishConfig": {
67
67
  "access": "public"