Skip to main content
Glama

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
NameRequiredDescriptionDefault
nameNoAn optional user-friendly name for the new space.

Implementation Reference

  • 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."
      );
    };
  • 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.");
  • 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,
        };
      }
    });
  • 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.";
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alexbakers/mcp-ipfs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server