File tree Expand file tree Collapse file tree 11 files changed +28
-21
lines changed
customer-segmentation-server Expand file tree Collapse file tree 11 files changed +28
-21
lines changed Original file line number Diff line number Diff line change @@ -97,7 +97,10 @@ Create `server.ts`:
9797``` typescript
9898import { McpServer } from " @modelcontextprotocol/sdk/server/mcp.js" ;
9999import { StreamableHTTPServerTransport } from " @modelcontextprotocol/sdk/server/streamableHttp.js" ;
100- import { RESOURCE_MIME_TYPE } from " @modelcontextprotocol/ext-apps" ;
100+ import {
101+ RESOURCE_MIME_TYPE ,
102+ type McpUiToolMeta ,
103+ } from " @modelcontextprotocol/ext-apps" ;
101104import cors from " cors" ;
102105import express from " express" ;
103106import fs from " node:fs/promises" ;
@@ -119,7 +122,7 @@ server.registerTool(
119122 description: " Returns the current server time." ,
120123 inputSchema: {},
121124 outputSchema: { time: z .string () },
122- _meta: { ui: { resourceUri } }, // Links tool to UI
125+ _meta: { ui: { resourceUri } as McpUiToolMeta }, // Links tool to UI
123126 },
124127 async () => {
125128 const time = new Date ().toISOString ();
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
33import type { CallToolResult , ReadResourceResult } from "@modelcontextprotocol/sdk/types.js" ;
44import fs from "node:fs/promises" ;
55import path from "node:path" ;
6- import { RESOURCE_MIME_TYPE } from "../../dist/src/app" ;
6+ import { RESOURCE_MIME_TYPE , type McpUiToolMeta } from "../../dist/src/app" ;
77import { startServer } from "../shared/server-utils.js" ;
88
99const DIST_DIR = path . join ( import . meta. dirname , "dist" ) ;
@@ -28,7 +28,7 @@ function createServer(): McpServer {
2828 title : "Get Time" ,
2929 description : "Returns the current server time as an ISO 8601 string." ,
3030 inputSchema : { } ,
31- _meta : { ui : { resourceUri : RESOURCE_URI } } ,
31+ _meta : { ui : { resourceUri : RESOURCE_URI } as McpUiToolMeta } ,
3232 } ,
3333 async ( ) : Promise < CallToolResult > => {
3434 const time = new Date ( ) . toISOString ( ) ;
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
33import type { CallToolResult , ReadResourceResult } from "@modelcontextprotocol/sdk/types.js" ;
44import fs from "node:fs/promises" ;
55import path from "node:path" ;
6- import { RESOURCE_MIME_TYPE } from "../../dist/src/app" ;
6+ import { RESOURCE_MIME_TYPE , type McpUiToolMeta } from "../../dist/src/app" ;
77import { startServer } from "../shared/server-utils.js" ;
88
99const DIST_DIR = path . join ( import . meta. dirname , "dist" ) ;
@@ -28,7 +28,7 @@ function createServer(): McpServer {
2828 title : "Get Time" ,
2929 description : "Returns the current server time as an ISO 8601 string." ,
3030 inputSchema : { } ,
31- _meta : { ui : { resourceUri : RESOURCE_URI } } ,
31+ _meta : { ui : { resourceUri : RESOURCE_URI } as McpUiToolMeta } ,
3232 } ,
3333 async ( ) : Promise < CallToolResult > => {
3434 const time = new Date ( ) . toISOString ( ) ;
Original file line number Diff line number Diff line change @@ -13,7 +13,7 @@ import type {
1313import fs from "node:fs/promises" ;
1414import path from "node:path" ;
1515import { z } from "zod" ;
16- import { RESOURCE_MIME_TYPE } from "../../dist/src/app" ;
16+ import { RESOURCE_MIME_TYPE , type McpUiToolMeta } from "../../dist/src/app" ;
1717import { startServer } from "../shared/server-utils.js" ;
1818
1919const DIST_DIR = path . join ( import . meta. dirname , "dist" ) ;
@@ -242,7 +242,7 @@ function createServer(): McpServer {
242242 description :
243243 "Returns budget configuration with 24 months of historical allocations and industry benchmarks by company stage" ,
244244 inputSchema : { } ,
245- _meta : { ui : { resourceUri } } ,
245+ _meta : { ui : { resourceUri } as McpUiToolMeta } ,
246246 } ,
247247 async ( ) : Promise < CallToolResult > => {
248248 const response : BudgetDataResponse = {
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ import type { ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
44import fs from "node:fs/promises" ;
55import path from "node:path" ;
66import { z } from "zod" ;
7- import { RESOURCE_MIME_TYPE } from "../../dist/src/app" ;
7+ import { RESOURCE_MIME_TYPE , type McpUiToolMeta } from "../../dist/src/app" ;
88import { startServer } from "../shared/server-utils.js" ;
99
1010const DIST_DIR = path . join ( import . meta. dirname , "dist" ) ;
@@ -163,7 +163,7 @@ function createServer(): McpServer {
163163 description :
164164 "Returns cohort retention heatmap data showing customer retention over time by signup month" ,
165165 inputSchema : GetCohortDataInputSchema . shape ,
166- _meta : { ui : { resourceUri } } ,
166+ _meta : { ui : { resourceUri } as McpUiToolMeta } ,
167167 } ,
168168 async ( { metric, periodType, cohortCount, maxPeriods } ) => {
169169 const data = generateCohortData (
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ import type {
77import fs from "node:fs/promises" ;
88import path from "node:path" ;
99import { z } from "zod" ;
10- import { RESOURCE_MIME_TYPE } from "../../dist/src/app" ;
10+ import { RESOURCE_MIME_TYPE , type McpUiToolMeta } from "../../dist/src/app" ;
1111import { startServer } from "../shared/server-utils.js" ;
1212import {
1313 generateCustomers ,
@@ -72,7 +72,7 @@ function createServer(): McpServer {
7272 description :
7373 "Returns customer data with segment information for visualization. Optionally filter by segment." ,
7474 inputSchema : GetCustomerDataInputSchema . shape ,
75- _meta : { ui : { resourceUri } } ,
75+ _meta : { ui : { resourceUri } as McpUiToolMeta } ,
7676 } ,
7777 async ( { segment } ) : Promise < CallToolResult > => {
7878 const data = getCustomerData ( segment ) ;
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ import type {
77import fs from "node:fs/promises" ;
88import path from "node:path" ;
99import { z } from "zod" ;
10- import { RESOURCE_MIME_TYPE } from "../../dist/src/app" ;
10+ import { RESOURCE_MIME_TYPE , type McpUiToolMeta } from "../../dist/src/app" ;
1111import { startServer } from "../shared/server-utils.js" ;
1212
1313const DIST_DIR = path . join ( import . meta. dirname , "dist" ) ;
@@ -263,7 +263,7 @@ function createServer(): McpServer {
263263 description :
264264 "Returns SaaS scenario templates and optionally computes custom projections for given inputs" ,
265265 inputSchema : GetScenarioDataInputSchema . shape ,
266- _meta : { ui : { resourceUri } } ,
266+ _meta : { ui : { resourceUri } as McpUiToolMeta } ,
267267 } ,
268268 async ( args : {
269269 customInputs ?: ScenarioInputs ;
Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ import os from "node:os";
99import path from "node:path" ;
1010import si from "systeminformation" ;
1111import { z } from "zod" ;
12- import { RESOURCE_MIME_TYPE } from "../../dist/src/app" ;
12+ import { RESOURCE_MIME_TYPE , type McpUiToolMeta } from "../../dist/src/app" ;
1313import { startServer } from "../shared/server-utils.js" ;
1414
1515// Schemas - types are derived from these using z.infer
@@ -152,7 +152,7 @@ function createServer(): McpServer {
152152 ui : {
153153 resourceUri,
154154 visibility : [ "model" ] ,
155- } ,
155+ } as McpUiToolMeta ,
156156 } ,
157157 } ,
158158 getStats ,
@@ -168,7 +168,7 @@ function createServer(): McpServer {
168168 _meta : {
169169 ui : {
170170 visibility : [ "app" ] ,
171- } ,
171+ } as McpUiToolMeta ,
172172 } ,
173173 } ,
174174 getStats ,
Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ import type { ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
99import fs from "node:fs/promises" ;
1010import path from "node:path" ;
1111import { z } from "zod" ;
12- import { RESOURCE_MIME_TYPE } from "../../dist/src/app" ;
12+ import { RESOURCE_MIME_TYPE , type McpUiToolMeta } from "../../dist/src/app" ;
1313import { startServer } from "../shared/server-utils.js" ;
1414
1515const DIST_DIR = path . join ( import . meta. dirname , "dist" ) ;
@@ -160,7 +160,7 @@ function createServer(): McpServer {
160160 . default ( 400 )
161161 . describe ( "Height in pixels" ) ,
162162 } ,
163- _meta : { ui : { resourceUri } } ,
163+ _meta : { ui : { resourceUri } as McpUiToolMeta } ,
164164 } ,
165165 async ( { code, height } ) => {
166166 return {
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ import * as cheerio from "cheerio";
88import fs from "node:fs/promises" ;
99import path from "node:path" ;
1010import { z } from "zod" ;
11- import { RESOURCE_MIME_TYPE } from "../../dist/src/app" ;
11+ import { RESOURCE_MIME_TYPE , type McpUiToolMeta } from "../../dist/src/app" ;
1212import { startServer } from "../shared/server-utils.js" ;
1313
1414const DIST_DIR = path . join ( import . meta. dirname , "dist" ) ;
@@ -89,7 +89,7 @@ function createServer(): McpServer {
8989 . default ( "https://en.wikipedia.org/wiki/Model_Context_Protocol" )
9090 . describe ( "Wikipedia page URL" ) ,
9191 } ) ,
92- _meta : { ui : { resourceUri } } ,
92+ _meta : { ui : { resourceUri } as McpUiToolMeta } ,
9393 } ,
9494 async ( { url } ) : Promise < CallToolResult > => {
9595 let title = url ;
You can’t perform that action at this time.
0 commit comments