misp_toggle_feed
Enable or disable a MISP feed by providing its feed ID and a boolean value to activate or deactivate.
Instructions
Enable or disable a MISP feed
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| feedId | Yes | Feed ID | |
| enable | Yes | true to enable, false to disable |
Implementation Reference
- src/tools/feeds.ts:59-90 (handler)The MCP tool handler for 'misp_toggle_feed' - accepts feedId (string) and enable (boolean), calls client.toggleFeed(), and returns a success or error message.
// Enable/disable feed server.tool( "misp_toggle_feed", "Enable or disable a MISP feed", { feedId: z.string().describe("Feed ID"), enable: z.boolean().describe("true to enable, false to disable"), }, async ({ feedId, enable }) => { try { await client.toggleFeed(feedId, enable); return { content: [ { type: "text", text: `Feed ${feedId} ${enable ? "enabled" : "disabled"} successfully.`, }, ], }; } catch (err) { return { content: [ { type: "text", text: `Error toggling feed: ${err instanceof Error ? err.message : String(err)}`, }, ], isError: true, }; } } ); - src/tools/feeds.ts:63-66 (schema)Zod schema for the tool input: feedId (string) and enable (boolean).
{ feedId: z.string().describe("Feed ID"), enable: z.boolean().describe("true to enable, false to disable"), }, - src/client.ts:607-615 (helper)The client helper method that sends a POST request to /feeds/enable/<id> or /feeds/disable/<id> to toggle the feed status.
async toggleFeed( feedId: string, enable: boolean ): Promise<{ message: string }> { return this.request<{ message: string }>( "POST", `/feeds/${enable ? "enable" : "disable"}/${encodeId(feedId, "feedId")}` ); } - src/index.ts:40-40 (registration)Registration call in the main entry point that wires up the feed tools (including misp_toggle_feed) to the MCP server.
registerFeedTools(server, client); - src/client.ts:26-31 (helper)Helper function that validates and URL-encodes IDs to prevent path injection attacks.
function encodeId(id: string, kind = "id"): string { if (!ID_PATTERN.test(id)) { throw new Error(`Invalid ${kind}: ${JSON.stringify(id)}`); } return encodeURIComponent(id); }