Skip to main content
Glama
cswkim

Discogs MCP Server

by cswkim

edit_marketplace_order

Update the status, shipping cost, or other details of a Discogs marketplace order to manage sales transactions.

Instructions

Edit a marketplace order

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
order_idYes
statusNo
shippingNo

Implementation Reference

  • Defines the 'edit_marketplace_order' tool handler, including name, description, parameters schema, and execute function that delegates to MarketplaceService.editOrder.
    export const editMarketplaceOrderTool: Tool<FastMCPSessionAuth, typeof OrderEditParamsSchema> = {
      name: 'edit_marketplace_order',
      description: 'Edit a marketplace order',
      parameters: OrderEditParamsSchema,
      execute: async (args) => {
        try {
          const marketplaceService = new MarketplaceService();
          const order = await marketplaceService.editOrder(args);
    
          return JSON.stringify(order);
        } catch (error) {
          throw formatDiscogsError(error);
        }
      },
    };
  • Implements the core logic for editing a marketplace order by making a POST request to the Discogs API endpoint `/orders/${order_id}` and validating the response.
    async editOrder({ order_id, ...body }: OrderEditParams): Promise<OrderResponse> {
      try {
        const response = await this.request<OrderResponse>(`/orders/${order_id}`, {
          method: 'POST',
          body,
        });
    
        const validatedResponse = OrderResponseSchema.parse(response);
        return validatedResponse;
      } catch (error) {
        if (isDiscogsError(error)) {
          throw error;
        }
    
        throw new Error(`Failed to edit order: ${String(error)}`);
      }
    }
  • Zod schema defining the input parameters for editing a marketplace order: order_id (from OrderIdParamSchema), optional status and shipping.
    export const OrderEditParamsSchema = OrderIdParamSchema.extend({
      status: OrderStatusSchema.optional(),
      shipping: z.number().optional(),
    });
  • Registers all marketplace tools with the FastMCP server, including the editMarketplaceOrderTool.
    export function registerMarketplaceTools(server: FastMCP): void {
      server.addTool(getUserInventoryTool);
      server.addTool(getMarketplaceListingTool);
      server.addTool(createMarketplaceListingTool);
      server.addTool(updateMarketplaceListingTool);
      server.addTool(deleteMarketplaceListingTool);
      server.addTool(getMarketplaceOrderTool);
      server.addTool(editMarketplaceOrderTool);
      server.addTool(getMarketplaceOrdersTool);
      server.addTool(getMarketplaceOrderMessagesTool);
      server.addTool(createMarketplaceOrderMessageTool);
      server.addTool(getMarketplaceReleaseStatsTool);
    }

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/cswkim/discogs-mcp-server'

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