delete_mcp_server
Permanently delete an MCP server instance, immediately revoking all connected users' access. Use only after confirming no workflows depend on it.
Instructions
Delete an MCP server instance. This is irreversible, removes connected users' access immediately, and should be used only after confirming no workflows depend on the server.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The MCP server ID or slug to delete |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | Whether the tool call succeeded and returned structured data | |
| data | No | Structured success payload when ok is true | |
| error | No | Structured error payload when ok is false |
Implementation Reference
- src/tools/mcp-servers.tools.ts:242-264 (handler)The tool handler for 'delete_mcp_server'. It receives an id parameter, delegates to service.mcpServers.deleteMcpServer(), and returns a success message.
server.tool( "delete_mcp_server", "Delete an MCP server instance. This is irreversible, removes connected users' access immediately, and should be used only after confirming no workflows depend on the server.", MCP_SERVERS_TOOL_SCHEMAS.deleteMcpServer, async (params) => { await service.mcpServers.deleteMcpServer(params.id); return { content: [ { type: "text", text: JSON.stringify( { message: `Successfully deleted MCP server "${params.id}"`, success: true, }, null, 2, ), }, ], }; }, ); - src/tools/mcp-servers.tools.ts:48-50 (schema)Zod schema for the delete_mcp_server tool input — requires a single 'id' string field describing the MCP server ID or slug.
deleteMcpServer: { id: z.string().describe("The MCP server ID or slug to delete"), }, - src/tools/mcp-servers.tools.ts:242-264 (registration)The tool is registered via server.tool('delete_mcp_server', ...) inside registerMcpServersTools(), binding the name, description, schema, and handler together.
server.tool( "delete_mcp_server", "Delete an MCP server instance. This is irreversible, removes connected users' access immediately, and should be used only after confirming no workflows depend on the server.", MCP_SERVERS_TOOL_SCHEMAS.deleteMcpServer, async (params) => { await service.mcpServers.deleteMcpServer(params.id); return { content: [ { type: "text", text: JSON.stringify( { message: `Successfully deleted MCP server "${params.id}"`, success: true, }, null, 2, ), }, ], }; }, ); - Service method deleteMcpServer(id) that executes an HTTP DELETE request to /mcp-servers/{id} via the base service's delete helper.
async deleteMcpServer(id: string): Promise<{ success: boolean }> { await this.delete(`/mcp-servers/${this.encodePathSegment(id)}`); return { success: true }; }