@modelcontextprotocol/server-everything 2025.11.25 → 2025.12.18

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/README.md CHANGED
@@ -196,7 +196,7 @@ Add the configuration to your user-level MCP configuration file. Open the Comman
196
196
  **Method 2: Workspace Configuration**
197
197
  Alternatively, you can add the configuration to a file called `.vscode/mcp.json` in your workspace. This will allow you to share the configuration with others.
198
198
 
199
- > For more details about MCP configuration in VS Code, see the [official VS Code MCP documentation](https://code.visualstudio.com/docs/copilot/mcp).
199
+ > For more details about MCP configuration in VS Code, see the [official VS Code MCP documentation](https://code.visualstudio.com/docs/copilot/customization/mcp-servers).
200
200
 
201
201
  #### NPX
202
202
 
@@ -1,5 +1,5 @@
1
1
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
- import { CallToolRequestSchema, CompleteRequestSchema, CreateMessageResultSchema, ElicitResultSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, RootsListChangedNotificationSchema, SubscribeRequestSchema, ToolSchema, UnsubscribeRequestSchema } from "@modelcontextprotocol/sdk/types.js";
2
+ import { CallToolRequestSchema, CompleteRequestSchema, CreateMessageResultSchema, ElicitResultSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, RootsListChangedNotificationSchema, SubscribeRequestSchema, UnsubscribeRequestSchema } from "@modelcontextprotocol/sdk/types.js";
3
3
  import { z } from "zod";
4
4
  import { zodToJsonSchema } from "zod-to-json-schema";
5
5
  import { readFileSync } from "fs";
@@ -9,8 +9,6 @@ import JSZip from "jszip";
9
9
  const __filename = fileURLToPath(import.meta.url);
10
10
  const __dirname = dirname(__filename);
11
11
  const instructions = readFileSync(join(__dirname, "instructions.md"), "utf-8");
12
- const ToolInputSchema = ToolSchema.shape.inputSchema;
13
- const ToolOutputSchema = ToolSchema.shape.outputSchema;
14
12
  /* Input schemas for tools implemented in this server */
15
13
  const EchoSchema = z.object({
16
14
  message: z.string().describe("Message to echo"),
@@ -511,7 +509,7 @@ export const createServer = () => {
511
509
  const result = await requestSampling(prompt, ToolName.SAMPLE_LLM, maxTokens, extra.sendRequest);
512
510
  return {
513
511
  content: [
514
- { type: "text", text: `LLM sampling result: ${result.content.text}` },
512
+ { type: "text", text: `LLM sampling result: ${Array.isArray(result.content) ? result.content.map(c => c.type === "text" ? c.text : JSON.stringify(c)).join("") : (result.content.type === "text" ? result.content.text : JSON.stringify(result.content))}` },
515
513
  ],
516
514
  };
517
515
  }
@@ -618,23 +616,23 @@ export const createServer = () => {
618
616
  type: 'object',
619
617
  properties: {
620
618
  name: {
621
- title: 'Full Name',
619
+ title: 'String',
622
620
  type: 'string',
623
621
  description: 'Your full, legal name',
624
622
  },
625
623
  check: {
626
- title: 'Agree to terms',
624
+ title: 'Boolean',
627
625
  type: 'boolean',
628
- description: 'A boolean check',
626
+ description: 'Agree to the terms and conditions',
629
627
  },
630
- color: {
631
- title: 'Favorite Color',
628
+ firstLine: {
629
+ title: 'String with default',
632
630
  type: 'string',
633
- description: 'Favorite color (open text)',
634
- default: 'blue',
631
+ description: 'Favorite first line of a story',
632
+ default: 'It was a dark and stormy night.',
635
633
  },
636
634
  email: {
637
- title: 'Email Address',
635
+ title: 'String with email format',
638
636
  type: 'string',
639
637
  format: 'email',
640
638
  description: 'Your email address (will be verified, and never shared with anyone else)',
@@ -642,16 +640,17 @@ export const createServer = () => {
642
640
  homepage: {
643
641
  type: 'string',
644
642
  format: 'uri',
645
- description: 'Homepage / personal site',
643
+ title: 'String with uri format',
644
+ description: 'Portfolio / personal website',
646
645
  },
647
646
  birthdate: {
648
- title: 'Birthdate',
647
+ title: 'String with date format',
649
648
  type: 'string',
650
649
  format: 'date',
651
- description: 'Your date of birth (will never be shared with anyone else)',
650
+ description: 'Your date of birth',
652
651
  },
653
652
  integer: {
654
- title: 'Favorite Integer',
653
+ title: 'Integer',
655
654
  type: 'integer',
656
655
  description: 'Your favorite integer (do not give us your phone number, pin, or other sensitive info)',
657
656
  minimum: 1,
@@ -659,21 +658,63 @@ export const createServer = () => {
659
658
  default: 42,
660
659
  },
661
660
  number: {
662
- title: 'Favorite Number',
661
+ title: 'Number in range 1-1000',
663
662
  type: 'number',
664
663
  description: 'Favorite number (there are no wrong answers)',
665
664
  minimum: 0,
666
665
  maximum: 1000,
667
666
  default: 3.14,
668
667
  },
669
- petType: {
670
- title: 'Pet type',
668
+ untitledSingleSelectEnum: {
671
669
  type: 'string',
672
- enum: ['cats', 'dogs', 'birds', 'fish', 'reptiles'],
673
- enumNames: ['Cats', 'Dogs', 'Birds', 'Fish', 'Reptiles'],
674
- default: 'dogs',
675
- description: 'Your favorite pet type',
670
+ title: 'Untitled Single Select Enum',
671
+ description: 'Choose your favorite friend',
672
+ enum: ['Monica', 'Rachel', 'Joey', 'Chandler', 'Ross', 'Phoebe'],
673
+ default: 'Monica'
674
+ },
675
+ untitledMultipleSelectEnum: {
676
+ type: 'array',
677
+ title: 'Untitled Multiple Select Enum',
678
+ description: 'Choose your favorite instruments',
679
+ minItems: 1,
680
+ maxItems: 3,
681
+ items: { type: 'string', enum: ['Guitar', 'Piano', 'Violin', 'Drums', 'Bass'] },
682
+ default: ['Guitar']
683
+ },
684
+ titledSingleSelectEnum: {
685
+ type: 'string',
686
+ title: 'Titled Single Select Enum',
687
+ description: 'Choose your favorite hero',
688
+ oneOf: [
689
+ { const: 'hero-1', title: 'Superman' },
690
+ { const: 'hero-2', title: 'Green Lantern' },
691
+ { const: 'hero-3', title: 'Wonder Woman' }
692
+ ],
693
+ default: 'hero-1'
676
694
  },
695
+ titledMultipleSelectEnum: {
696
+ type: 'array',
697
+ title: 'Titled Multiple Select Enum',
698
+ description: 'Choose your favorite types of fish',
699
+ minItems: 1,
700
+ maxItems: 3,
701
+ items: {
702
+ anyOf: [
703
+ { const: 'fish-1', title: 'Tuna' },
704
+ { const: 'fish-2', title: 'Salmon' },
705
+ { const: 'fish-3', title: 'Trout' }
706
+ ]
707
+ },
708
+ default: ['fish-1']
709
+ },
710
+ legacyTitledEnum: {
711
+ type: 'string',
712
+ title: 'Legacy Titled Single Select Enum',
713
+ description: 'Choose your favorite type of pet',
714
+ enum: ['pet-1', 'pet-2', 'pet-3', 'pet-4', 'pet-5'],
715
+ enumNames: ['Cats', 'Dogs', 'Birds', 'Fish', 'Reptiles'],
716
+ default: 'pet-1',
717
+ }
677
718
  },
678
719
  required: ['name'],
679
720
  },
package/dist/stdio.js CHANGED
@@ -5,13 +5,16 @@ console.error('Starting default (STDIO) server...');
5
5
  async function main() {
6
6
  const transport = new StdioServerTransport();
7
7
  const { server, cleanup, startNotificationIntervals } = createServer();
8
+ // Cleanup when client disconnects
9
+ server.onclose = async () => {
10
+ await cleanup();
11
+ process.exit(0);
12
+ };
8
13
  await server.connect(transport);
9
14
  startNotificationIntervals();
10
15
  // Cleanup on exit
11
16
  process.on("SIGINT", async () => {
12
- await cleanup();
13
17
  await server.close();
14
- process.exit(0);
15
18
  });
16
19
  }
17
20
  main().catch((error) => {
package/package.json CHANGED
@@ -1,11 +1,16 @@
1
1
  {
2
2
  "name": "@modelcontextprotocol/server-everything",
3
- "version": "2025.11.25",
3
+ "version": "2025.12.18",
4
4
  "description": "MCP server that exercises all the features of the MCP protocol",
5
5
  "license": "MIT",
6
+ "mcpName": "io.github.modelcontextprotocol/server-everything",
6
7
  "author": "Anthropic, PBC (https://anthropic.com)",
7
8
  "homepage": "https://modelcontextprotocol.io",
8
9
  "bugs": "https://github.com/modelcontextprotocol/servers/issues",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/modelcontextprotocol/servers.git"
13
+ },
9
14
  "type": "module",
10
15
  "bin": {
11
16
  "mcp-server-everything": "dist/index.js"
@@ -22,16 +27,16 @@
22
27
  "start:streamableHttp": "node dist/streamableHttp.js"
23
28
  },
24
29
  "dependencies": {
25
- "@modelcontextprotocol/sdk": "^1.19.1",
30
+ "@modelcontextprotocol/sdk": "^1.24.0",
26
31
  "cors": "^2.8.5",
27
- "express": "^4.21.1",
32
+ "express": "^5.2.1",
28
33
  "jszip": "^3.10.1",
29
- "zod": "^3.23.8",
34
+ "zod": "^3.25.0",
30
35
  "zod-to-json-schema": "^3.23.5"
31
36
  },
32
37
  "devDependencies": {
33
38
  "@types/cors": "^2.8.19",
34
- "@types/express": "^5.0.0",
39
+ "@types/express": "^5.0.6",
35
40
  "shx": "^0.3.4",
36
41
  "typescript": "^5.6.2"
37
42
  }