w3_space_create
Create a new storage space with a custom name using the mcp-ipfs server. Run this command manually in your terminal to interactively generate recovery keys.
Instructions
Creates a new space with a user-friendly name. NOTE: w3 space create cannot be run via MCP due to interactive recovery key prompts. Please run this command manually in your terminal.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | An optional user-friendly name for the new space. |
Implementation Reference
- src/tool_handlers.ts:91-95 (handler)The handler function for 'w3_space_create', implemented as a stub that throws an error explaining the tool cannot be run via MCP because it requires interactive user input for recovery key prompts.const handleW3SpaceCreate: ToolHandler = async (_args) => { throw new Error( "`w3 space create` cannot be run via MCP due to interactive recovery key prompts. Please run this command manually in your terminal." ); };
- src/schemas.ts:17-24 (schema)Zod schema defining the input arguments for the 'w3_space_create' tool, including an optional 'name' string parameter.export const W3SpaceCreateArgsSchema = z .object({ name: z .string() .optional() .describe("An optional user-friendly name for the new space."), }) .describe("Creates a new space with a user-friendly name.");
- src/tool_handlers.ts:943-980 (registration)Export of the toolHandlers object that registers 'w3_space_create' mapped to its handler function, imported and used for dispatching in index.ts.// Tool Handlers Map 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, };
- src/index.ts:94-125 (registration)MCP CallTool request handler that dispatches to the specific tool handler based on the tool name, using the imported toolHandlers map.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; logger.info(`Handling CallTool request for: ${name}`); const handler = toolHandlers[name]; if (!handler) { logger.error(`Unknown tool requested: ${name}`); return { content: [ { type: "text", text: JSON.stringify({ error: `Unknown tool: ${name}` }), }, ], isError: true, }; } try { const result = await handler(args); return result; } catch (error: any) { logger.error(`Error handling tool '${name}':`, error); return { content: [ { type: "text", text: JSON.stringify({ error: error.message }) }, ], isError: true, }; } });
- src/index.ts:66-69 (helper)Special description override in the dynamic ListTools response, warning users that this tool cannot be used via MCP and must be run manually.if (toolName === "w3_space_create") { description += " NOTE: `w3 space create` cannot be run via MCP due to interactive recovery key prompts. Please run this command manually in your terminal."; }