Skip to content

Commit 8550545

Browse files
antonpk1claudeochafik
authored
fix: add mimeType to resource declarations in examples (#149)
According to spec, mimeType should be present in both the resource declaration and the resource content. This adds the missing mimeType to the registerResource() declaration (third parameter) in all example servers and the quickstart documentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <[email protected]> Co-authored-by: ochafik <[email protected]>
1 parent 372c241 commit 8550545

File tree

10 files changed

+31
-20
lines changed

10 files changed

+31
-20
lines changed

docs/quickstart.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -130,17 +130,22 @@ server.registerTool(
130130
},
131131
);
132132

133-
server.registerResource(resourceUri, resourceUri, {}, async () => {
134-
const html = await fs.readFile(
135-
path.join(import.meta.dirname, "dist", "mcp-app.html"),
136-
"utf-8",
137-
);
138-
return {
139-
contents: [
140-
{ uri: resourceUri, mimeType: "text/html;profile=mcp-app", text: html },
141-
],
142-
};
143-
});
133+
server.registerResource(
134+
resourceUri,
135+
resourceUri,
136+
{ mimeType: "text/html;profile=mcp-app" },
137+
async () => {
138+
const html = await fs.readFile(
139+
path.join(import.meta.dirname, "dist", "mcp-app.html"),
140+
"utf-8",
141+
);
142+
return {
143+
contents: [
144+
{ uri: resourceUri, mimeType: "text/html;profile=mcp-app", text: html },
145+
],
146+
};
147+
},
148+
);
144149

145150
// Express server for MCP endpoint
146151
const app = express();

examples/basic-server-react/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ function createServer(): McpServer {
4141
server.registerResource(
4242
RESOURCE_URI,
4343
RESOURCE_URI,
44-
{},
44+
{ mimeType: RESOURCE_MIME_TYPE },
4545
async (): Promise<ReadResourceResult> => {
4646
const html = await fs.readFile(path.join(DIST_DIR, "mcp-app.html"), "utf-8");
4747

examples/basic-server-vanillajs/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ function createServer(): McpServer {
4141
server.registerResource(
4242
RESOURCE_URI,
4343
RESOURCE_URI,
44-
{},
44+
{ mimeType: RESOURCE_MIME_TYPE },
4545
async (): Promise<ReadResourceResult> => {
4646
const html = await fs.readFile(path.join(DIST_DIR, "mcp-app.html"), "utf-8");
4747

examples/budget-allocator-server/server.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,10 @@ function createServer(): McpServer {
280280
server.registerResource(
281281
resourceUri,
282282
resourceUri,
283-
{ description: "Interactive Budget Allocator UI" },
283+
{
284+
mimeType: RESOURCE_MIME_TYPE,
285+
description: "Interactive Budget Allocator UI",
286+
},
284287
async (): Promise<ReadResourceResult> => {
285288
const html = await fs.readFile(
286289
path.join(DIST_DIR, "mcp-app.html"),

examples/cohort-heatmap-server/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ function createServer(): McpServer {
182182
server.registerResource(
183183
resourceUri,
184184
resourceUri,
185-
{},
185+
{ mimeType: RESOURCE_MIME_TYPE },
186186
async (): Promise<ReadResourceResult> => {
187187
const html = await fs.readFile(
188188
path.join(DIST_DIR, "mcp-app.html"),

examples/customer-segmentation-server/server.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,10 @@ function createServer(): McpServer {
8686
server.registerResource(
8787
resourceUri,
8888
resourceUri,
89-
{ description: "Customer Segmentation Explorer UI" },
89+
{
90+
mimeType: RESOURCE_MIME_TYPE,
91+
description: "Customer Segmentation Explorer UI",
92+
},
9093
async (): Promise<ReadResourceResult> => {
9194
const html = await fs.readFile(
9295
path.join(DIST_DIR, "mcp-app.html"),

examples/scenario-modeler-server/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ function createServer(): McpServer {
291291
server.registerResource(
292292
resourceUri,
293293
resourceUri,
294-
{ description: "SaaS Scenario Modeler UI" },
294+
{ mimeType: RESOURCE_MIME_TYPE, description: "SaaS Scenario Modeler UI" },
295295
async (): Promise<ReadResourceResult> => {
296296
const html = await fs.readFile(
297297
path.join(DIST_DIR, "mcp-app.html"),

examples/system-monitor-server/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ function createServer(): McpServer {
152152
server.registerResource(
153153
resourceUri,
154154
resourceUri,
155-
{ description: "System Monitor UI" },
155+
{ mimeType: RESOURCE_MIME_TYPE, description: "System Monitor UI" },
156156
async (): Promise<ReadResourceResult> => {
157157
const html = await fs.readFile(
158158
path.join(DIST_DIR, "mcp-app.html"),

examples/threejs-server/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ function createServer(): McpServer {
194194
server.registerResource(
195195
resourceUri,
196196
resourceUri,
197-
{ description: "Three.js Widget UI" },
197+
{ mimeType: RESOURCE_MIME_TYPE, description: "Three.js Widget UI" },
198198
async (): Promise<ReadResourceResult> => {
199199
const html = await fs.readFile(
200200
path.join(DIST_DIR, "mcp-app.html"),

examples/wiki-explorer-server/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ function createServer(): McpServer {
127127
server.registerResource(
128128
resourceUri,
129129
resourceUri,
130-
{},
130+
{ mimeType: RESOURCE_MIME_TYPE },
131131
async (): Promise<ReadResourceResult> => {
132132
const html = await fs.readFile(
133133
path.join(DIST_DIR, "mcp-app.html"),

0 commit comments

Comments
 (0)