w3_key_create
Generate and export a new ed25519 key pair for secure cryptographic operations. Ideal for managing identities and access in the MCP IPFS network.
Instructions
Generates and prints a new ed25519 key pair. Does not automatically use it for the agent.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| json | No | Export the new key pair as dag-json (default: false). |
Implementation Reference
- src/tool_handlers.ts:378-428 (handler)Handler function that validates input using the schema, executes the 'w3 key create' command (with optional --json flag), parses the output if JSON, and returns structured content with the new key pair data or raw output.const handleW3KeyCreate: ToolHandler = async (args) => { const parsed = Schemas.W3KeyCreateArgsSchema.safeParse(args); if (!parsed.success) throw new Error( `Invalid arguments for w3_key_create: ${parsed.error.message}` ); const { json } = parsed.data; const command = json ? "key create --json" : "key create"; const { stdout } = await runW3Command(command); if (json) { try { const keyData = JSON.parse(stdout); return { content: [ { type: "text", text: JSON.stringify({ message: "New key pair created (JSON format).", keyData, }), }, ], }; } catch (e) { logger.warn("Failed to parse key create JSON, returning raw."); return { content: [ { type: "text", text: JSON.stringify({ message: "New key pair created (raw output).", output: stdout.trim(), }), }, ], }; } } else { return { content: [ { type: "text", text: JSON.stringify({ message: "New key pair created (raw output).", output: stdout.trim(), }), }, ], }; } };
- src/schemas.ts:157-167 (schema)Zod schema defining the input arguments for the w3_key_create tool, including an optional 'json' boolean flag.export const W3KeyCreateArgsSchema = z .object({ json: z .boolean() .optional() .default(false) .describe("Export the new key pair as dag-json (default: false)."), }) .describe( "Generates and prints a new ed25519 key pair. Does not automatically use it for the agent." );
- src/tool_handlers.ts:944-980 (registration)The exported toolHandlers object registers 'w3_key_create' to the handleW3KeyCreate function.export const toolHandlers: Record<string, ToolHandler> = { w3_login: handleW3Login, w3_space_ls: handleW3SpaceLs, w3_space_use: handleW3SpaceUse, w3_space_create: handleW3SpaceCreate, w3_up: handleW3Up, w3_ls: handleW3Ls, w3_rm: handleW3Rm, w3_open: handleW3Open, w3_space_info: handleW3SpaceInfo, w3_space_add: handleW3SpaceAdd, w3_delegation_create: handleW3DelegationCreate, w3_delegation_ls: handleW3DelegationLs, w3_delegation_revoke: handleW3DelegationRevoke, w3_proof_add: handleW3ProofAdd, w3_proof_ls: handleW3ProofLs, w3_key_create: handleW3KeyCreate, w3_bridge_generate_tokens: handleW3BridgeGenerateTokens, w3_can_blob_add: handleW3CanBlobAdd, w3_can_blob_ls: handleW3CanBlobLs, w3_can_blob_rm: handleW3CanBlobRm, w3_can_index_add: handleW3CanIndexAdd, w3_can_upload_add: handleW3CanUploadAdd, w3_can_upload_ls: handleW3CanUploadLs, w3_can_upload_rm: handleW3CanUploadRm, w3_plan_get: handleW3PlanGet, w3_account_ls: handleW3AccountLs, w3_space_provision: handleW3SpaceProvision, w3_coupon_create: handleW3CouponCreate, w3_usage_report: handleW3UsageReport, w3_can_access_claim: handleW3CanAccessClaim, w3_can_store_add: handleW3CanStoreAdd, w3_can_store_ls: handleW3CanStoreLs, w3_can_store_rm: handleW3CanStoreRm, w3_can_filecoin_info: handleW3CanFilecoinInfo, w3_reset: handleW3Reset, };