Skip to main content
Glama

update-metadata

Modify Chrome Web Store listing metadata including title, description, category, and URLs using the v1.1 API. Supports both standard fields and advanced custom metadata.

Instructions

Update the store listing metadata of a Chrome Web Store item (v1.1 API). Supports both common fields and raw metadata payload for advanced fields. Note: v1 API is deprecated and will be removed after Oct 15, 2026. Use update-metadata-ui as an alternative.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemIdNoExtension item ID (defaults to CWS_ITEM_ID env var)
titleNoStore listing title
summaryNoStore listing short summary
descriptionNoStore listing description
categoryNoCategory (e.g. 'productivity', 'developer_tools')
defaultLocaleNoDefault locale (e.g. 'ko', 'en')
homepageUrlNoHomepage URL
supportUrlNoSupport URL
metadataNoRaw metadata object forwarded as-is to the v1 API. Useful for fields not exposed as first-class params.

Implementation Reference

  • The handler function for the update-metadata tool, which builds a payload from input parameters and calls the API.
    async ({
      itemId,
      title,
      summary,
      description,
      category,
      defaultLocale,
      homepageUrl,
      supportUrl,
      metadata,
    }) => {
      try {
        const id = resolveItemId(itemId);
        const url = `${V1_BASE}/items/${id}`;
    
        const payload: Record<string, unknown> = {
          ...(metadata || {}),
        };
        if (title !== undefined) payload.title = title;
        if (summary !== undefined) payload.summary = summary;
        if (description !== undefined) payload.description = description;
        if (category !== undefined) payload.category = category;
        if (defaultLocale !== undefined) payload.defaultLocale = defaultLocale;
        if (homepageUrl !== undefined) payload.homepageUrl = homepageUrl;
        if (supportUrl !== undefined) payload.supportUrl = supportUrl;
    
        if (Object.keys(payload).length === 0) {
          throw new Error("No metadata fields provided.");
        }
    
        const result = await apiCall(url, {
          method: "PUT",
          headers: { "Content-Type": "application/json" },
          body: JSON.stringify(payload),
        });
    
        return formatResponse(result);
      } catch (e: any) {
        return {
          content: [{ type: "text" as const, text: `Error: ${e.message}` }],
          isError: true,
        };
      }
    },
  • The Zod schema defining the input parameters for the update-metadata tool.
    {
      itemId: z
        .string()
        .optional()
        .describe("Extension item ID (defaults to CWS_ITEM_ID env var)"),
      title: z
        .string()
        .optional()
        .describe("Store listing title"),
      summary: z
        .string()
        .optional()
        .describe("Store listing short summary"),
      description: z
        .string()
        .optional()
        .describe("Store listing description"),
      category: z
        .string()
        .optional()
        .describe("Category (e.g. 'productivity', 'developer_tools')"),
      defaultLocale: z
        .string()
        .optional()
        .describe("Default locale (e.g. 'ko', 'en')"),
      homepageUrl: z
        .string()
        .optional()
        .describe("Homepage URL"),
      supportUrl: z
        .string()
        .optional()
        .describe("Support URL"),
      metadata: z
        .record(z.unknown())
        .optional()
        .describe(
          "Raw metadata object forwarded as-is to the v1 API. Useful for fields not exposed as first-class params."
        ),
    },
  • src/index.ts:479-481 (registration)
    The registration of the update-metadata tool using the server.tool method.
    server.tool(
      "update-metadata",
      "Update the store listing metadata of a Chrome Web Store item (v1.1 API). Supports both common fields and raw metadata payload for advanced fields. Note: v1 API is deprecated and will be removed after Oct 15, 2026. Use update-metadata-ui as an alternative.",

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/mikusnuz/cws-mcp'

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