Skip to main content
Glama
PhononX

Carbon Voice

by PhononX

create_folder

Create a new folder in Carbon Voice to organize voice memos or prerecorded content within a workspace, specifying parent folder for hierarchical structure.

Instructions

Create a new folder.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName of the Folder
typeYesFolder type
workspace_idYesWorkspace ID
parent_folder_idNoParent Folder ID

Implementation Reference

  • src/server.ts:614-637 (registration)
    Registration of the MCP 'create_folder' tool, including inline handler that calls the simplified API and schema reference.
    server.registerTool(
      'create_folder',
      {
        description: 'Create a new folder.',
        inputSchema: createFolderBody.shape,
        annotations: {
          readOnlyHint: false,
          destructiveHint: false,
        },
      },
      async (args: CreateFolderPayload, { authInfo }): Promise<McpToolResponse> => {
        try {
          return formatToMCPToolResponse(
            await simplifiedApi.createFolder(
              args,
              setCarbonVoiceAuthHeader(authInfo?.token),
            ),
          );
        } catch (error) {
          logger.error('Error creating folder:', { error });
          return formatToMCPToolResponse(error);
        }
      },
    );
  • Handler function for 'create_folder' tool: authenticates and delegates to simplifiedApi.createFolder, formats response.
    async (args: CreateFolderPayload, { authInfo }): Promise<McpToolResponse> => {
      try {
        return formatToMCPToolResponse(
          await simplifiedApi.createFolder(
            args,
            setCarbonVoiceAuthHeader(authInfo?.token),
          ),
        );
      } catch (error) {
        logger.error('Error creating folder:', { error });
        return formatToMCPToolResponse(error);
      }
    },
  • Zod schema definition for create_folder input: name, type (voicememo/prerecorded), workspace_id, optional parent_folder_id.
    export const createFolderBody = zod.object({
      "name": zod.string().describe('Name of the Folder'),
      "type": zod.enum(['voicememo', 'prerecorded']).describe('Folder type'),
      "workspace_id": zod.string().describe('Workspace ID'),
      "parent_folder_id": zod.string().optional().describe('Parent Folder ID')
    })
  • Generated API client function simplifiedApi.createFolder: POST /simplified/folders with payload.
    const createFolder = (
      createFolderPayload: CreateFolderPayload,
      options?: SecondParameter<typeof mutator>,
    ) => {
      return mutator<Folder>(
        {
          url: `/simplified/folders`,
          method: 'POST',
          headers: { 'Content-Type': 'application/json' },
          data: createFolderPayload,
        },
        options,
      );
    };
  • TypeScript interface matching the create_folder payload schema.
    export interface CreateFolderPayload {
      /** Name of the Folder */
      name: string;
      /** Folder type */
      type: CreateFolderPayloadType;

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/PhononX/cv-mcp-server'

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