bulk_import_servers
Import multiple MCP server configurations simultaneously from Claude Desktop JSON format to set up servers across MetaMCP instances.
Instructions
Bulk import MCP servers (Claude Desktop JSON format)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| servers | Yes | Map of server name to config (Claude Desktop format) | |
| instance | No | Instance name |
Implementation Reference
- src/client.ts:205-212 (handler)The bulkImportServers method that executes the tool logic by calling the MetaMCP API mutation 'frontend.mcpServers.bulkImport'
async bulkImportServers(mcpServers: Record<string, any>) { return this.mutate<{ success: boolean; imported: number; errors?: string[]; message?: string; }>("frontend.mcpServers.bulkImport", { mcpServers }); } - src/index.ts:157-183 (registration)Tool registration with name 'bulk_import_servers', description, Zod schema for input validation, and handler function that calls client.bulkImportServers()
// Bulk import servers server.tool( "bulk_import_servers", "Bulk import MCP servers (Claude Desktop JSON format)", { servers: z .record( z.string(), z.object({ command: z.string().optional(), args: z.array(z.string()).optional(), env: z.record(z.string(), z.string()).optional(), url: z.string().optional(), headers: z.record(z.string(), z.string()).optional(), description: z.string().optional(), type: z.string().optional(), }) ) .describe("Map of server name to config (Claude Desktop format)"), instance: z.string().optional().describe("Instance name"), }, async ({ servers, instance }) => { const client = getClient(clients, instance); const result = await client.bulkImportServers(servers); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } );