Skip to content

Commit 13814ba

Browse files
committed
remove inlinedResourceLink
1 parent cf64b56 commit 13814ba

File tree

1 file changed

+22
-44
lines changed

1 file changed

+22
-44
lines changed

mcp-server/src/services/mcp.ts

Lines changed: 22 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,10 @@ const ZipResourcesInputSchema = z.object({
8484
files: z
8585
.record(z.string().url().describe("URL of the file to include in the zip"))
8686
.describe("Mapping of file names to URLs to include in the zip"),
87-
outputType: z
88-
.enum(["resourceLink", "inlinedResourceLink", "resource"])
89-
.default("inlinedResourceLink")
90-
.describe(
91-
"How the resulting zip file should be returned. 'resourceLink' returns a link to a resource that can be read later, 'inlinedResourceLink' returns a resource_link with a data URI, and 'resource' returns a full resource object."
92-
),
87+
outputType: z.enum([
88+
'resourceLink',
89+
'resource'
90+
]).default('resource').describe("How the resulting zip file should be returned. 'resourceLink' returns a linked to a resource that can be read later, 'resource' returns a full resource object."),
9391
});
9492

9593
enum ToolName {
@@ -653,7 +651,6 @@ export const createMcpServer = (): McpServerWrapper => {
653651

654652
if (name === ToolName.ZIP_RESOURCES) {
655653
const { files, outputType } = ZipResourcesInputSchema.parse(args);
656-
657654
const zip = new JSZip();
658655

659656
for (const [fileName, fileUrl] of Object.entries(files)) {
@@ -675,46 +672,27 @@ export const createMcpServer = (): McpServerWrapper => {
675672

676673
const blob = await zip.generateAsync({ type: "base64" });
677674
const mimeType = "application/zip";
678-
679-
if (outputType === "inlinedResourceLink") {
680-
const uri = `data:${mimeType};base64,${blob}`;
675+
const name = `out_${Date.now()}.zip`;
676+
const uri = `resource://${name}`;
677+
const resource: Resource = { uri, name, mimeType, blob };
678+
if (outputType === "resource") {
681679
return {
682-
content: [
683-
{
684-
type: "resource_link",
685-
mimeType,
686-
uri,
687-
},
688-
],
680+
content: [{
681+
type: "resource",
682+
resource
683+
}]
684+
};
685+
} else if (outputType === 'resourceLink') {
686+
transientResources.set(uri, resource);
687+
return {
688+
content: [{
689+
type: "resource_link",
690+
mimeType,
691+
uri
692+
}]
689693
};
690694
} else {
691-
const name = `out_${Date.now()}.zip`;
692-
const uri = `resource://${name}`;
693-
const resource: Resource = { uri, name, mimeType, blob };
694-
695-
if (outputType === "resource") {
696-
return {
697-
content: [
698-
{
699-
type: "resource",
700-
resource,
701-
},
702-
],
703-
};
704-
} else if (outputType === "resourceLink") {
705-
transientResources.set(uri, resource);
706-
return {
707-
content: [
708-
{
709-
type: "resource_link",
710-
mimeType,
711-
uri,
712-
},
713-
],
714-
};
715-
} else {
716-
throw new Error(`Unknown outputType: ${outputType}`);
717-
}
695+
throw new Error(`Unknown outputType: ${outputType}`);
718696
}
719697
}
720698

0 commit comments

Comments
 (0)