insumer_setup
Generate a free API key for on-chain attestation across 31 EVM chains and Solana. Provides 10 verification credits and 100 daily calls. No credit card required.
Instructions
Generate a free InsumerAPI key instantly. No credit card required. Returns an API key (insr_live_...) with 10 verification credits and 100 calls/day. The user should add the key to their MCP config as INSUMER_API_KEY and restart. One free key per email, 3 per IP per day.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address for the API key | ||
| appName | No | Name of your app or project (default: 'MCP Agent') |
Implementation Reference
- src/index.ts:176-220 (handler)The handler function for the insumer_setup tool. It makes a POST request to KEYGEN_URL with the user's email and appName (defaulting to 'MCP Agent'), requesting a free tier API key. Returns the generated key (insr_live_...) with instructions to add it to MCP config as INSUMER_API_KEY.
server.tool( "insumer_setup", "Generate a free InsumerAPI key instantly. No credit card required. Returns an API key (insr_live_...) with 10 verification credits and 100 calls/day. The user should add the key to their MCP config as INSUMER_API_KEY and restart. One free key per email, 3 per IP per day.", { email: z.string().email().describe("Email address for the API key"), appName: z.string().max(100).optional().describe("Name of your app or project (default: 'MCP Agent')"), }, async (args) => { const res = await fetch(KEYGEN_URL, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email: args.email, appName: args.appName || "MCP Agent", tier: "free", }), }); const result = await res.json() as Record<string, unknown>; if (result.success && result.key) { return { content: [{ type: "text" as const, text: [ `API key generated successfully!`, ``, `Key: ${result.key}`, `Tier: free`, `Credits: 10`, `Daily limit: 100 calls`, ``, `To activate, add this to your MCP config:`, ``, ` "env": { "INSUMER_API_KEY": "${result.key}" }`, ``, `Then restart your MCP client.`, ].join("\n"), }], }; } return { content: [{ type: "text" as const, text: JSON.stringify(result, null, 2) }], isError: true, }; } ); - src/index.ts:176-220 (registration)Registration of the 'insumer_setup' tool via server.tool(...). The tool is defined with description, Zod schema for input (email required, appName optional), and the async handler function. Also references insumer_setup in console.error messages on lines 12 and 23.
server.tool( "insumer_setup", "Generate a free InsumerAPI key instantly. No credit card required. Returns an API key (insr_live_...) with 10 verification credits and 100 calls/day. The user should add the key to their MCP config as INSUMER_API_KEY and restart. One free key per email, 3 per IP per day.", { email: z.string().email().describe("Email address for the API key"), appName: z.string().max(100).optional().describe("Name of your app or project (default: 'MCP Agent')"), }, async (args) => { const res = await fetch(KEYGEN_URL, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email: args.email, appName: args.appName || "MCP Agent", tier: "free", }), }); const result = await res.json() as Record<string, unknown>; if (result.success && result.key) { return { content: [{ type: "text" as const, text: [ `API key generated successfully!`, ``, `Key: ${result.key}`, `Tier: free`, `Credits: 10`, `Daily limit: 100 calls`, ``, `To activate, add this to your MCP config:`, ``, ` "env": { "INSUMER_API_KEY": "${result.key}" }`, ``, `Then restart your MCP client.`, ].join("\n"), }], }; } return { content: [{ type: "text" as const, text: JSON.stringify(result, null, 2) }], isError: true, }; } );