Skip to main content
Glama

Discogs MCP Server

by cswkim
TOOLS.md23.9 kB
# Tools ## User Identity Tools #### `get_user_identity` **Description**: Retrieve basic information about the authenticated user **Inputs**: - `username` (string, required): The username to look up **Returns**: User identity information as JSON string #### `get_user_profile` **Description**: Retrieve a user by username **Inputs**: - `username` (string, required): The username to look up **Returns**: User profile information as JSON string #### `edit_user_profile` **Description**: Edit a user's profile data **Inputs**: - `username` (string, required): The username to edit - `name` (string, optional): User's name - `profile` (string, optional): User's profile text - `location` (string, optional): User's location - `home_page` (string, optional): User's homepage URL - `curr_abbr` (string, optional): Currency code (USD, GBP, EUR, CAD, AUD, JPY, CHF, MXN, BRL, NZD, SEK, ZAR) **Returns**: Updated user profile as JSON string #### `get_user_submissions` **Description**: Retrieve a user's submissions by username **Inputs**: - `username` (string, required): The username to get submissions for **Returns**: User's submissions as JSON string, including: - Pagination information (page, pages, items count) - Submissions containing: - Artists (array of artist submissions) - Labels (array of label submissions) - Releases (array of release submissions) #### `get_user_contributions` **Description**: Retrieve a user's contributions by username **Inputs**: - `username` (string, required): The username to get contributions for - `page` (integer, optional): Page number (minimum: 1) - `per_page` (integer, optional): Items per page (minimum: 1, maximum: 100) - `sort` (string, optional): Sort field (label, artist, title, catno, format, rating, year, added) - `sort_order` (string, optional): Sort direction (asc, desc) **Returns**: User's contributions as JSON string, including: - Pagination information (page, pages, items count) - List of contributions, each containing: - Release information (ID, title, artist, format, etc.) - Contribution details (role, notes, etc.) ## User Collection Tools #### `get_user_collection_folders` **Description**: Retrieve a list of folders in a user's collection **Inputs**: - `username` (string, required): The username whose collection to access **Returns**: List of collection folders as JSON string #### `create_user_collection_folder` **Description**: Create a new folder in a user's collection **Inputs**: - `username` (string, required): The username whose collection to access - `name` (string, required): The name of the new folder **Returns**: Created folder information as JSON string #### `get_user_collection_folder` **Description**: Retrieve metadata about a folder in a user's collection **Inputs**: - `username` (string, required): The username whose collection to access - `folder_id` (integer, required): The ID of the folder to retrieve **Returns**: Folder metadata as JSON string #### `edit_user_collection_folder` **Description**: Edit a folder in a user's collection **Inputs**: - `username` (string, required): The username whose collection to access - `folder_id` (integer, required): The ID of the folder to edit - `name` (string, required): The new name for the folder **Returns**: Updated folder information as JSON string #### `delete_user_collection_folder` **Description**: Delete a folder from a user's collection (must be empty) **Inputs**: - `username` (string, required): The username whose collection to access - `folder_id` (integer, required): The ID of the folder to delete **Returns**: Success status as JSON string #### `get_user_collection_items` **Description**: Retrieve a list of items in a user's collection **Inputs**: - `username` (string, required): The username whose collection to access - `folder_id` (integer, required): The ID of the folder to retrieve items from - `page` (integer, optional): Page number (minimum: 1) - `per_page` (integer, optional): Items per page (minimum: 1, maximum: 100) - `sort` (string, optional): Sort field (added, artist, catno, format, label, rating, title, year) - `sort_order` (string, optional): Sort direction (asc, desc) **Returns**: List of collection items as JSON string #### `add_release_to_user_collection_folder` **Description**: Add a release to a folder in a user's collection **Inputs**: - `username` (string, required): The username whose collection to access - `folder_id` (integer, required): The ID of the folder to add to - `release_id` (number, required): The ID of the release to add **Returns**: Added release information as JSON string #### `delete_release_from_user_collection_folder` **Description**: Remove a release from a user's collection folder **Inputs**: - `username` (string, required): The username whose collection to access - `folder_id` (integer, required): The ID of the folder to remove from - `release_id` (number, required): The ID of the release to remove - `instance_id` (integer, required): The instance ID of the release in the collection **Returns**: Success status as JSON string #### `find_release_in_user_collection` **Description**: Find a release in a user's collection **Inputs**: - `username` (string, required): The username whose collection to search - `release_id` (number, required): The ID of the release to find - `page` (integer, optional): Page number (minimum: 1) - `per_page` (integer, optional): Items per page (minimum: 1, maximum: 100) - `sort_order` (string, optional): Sort direction (asc, desc) **Returns**: Release information as JSON string #### `rate_release_in_user_collection` **Description**: Rate a release in a user's collection **Inputs**: - `username` (string, required): The username whose collection to access - `folder_id` (integer, required): The ID of the folder containing the release - `release_id` (number, required): The ID of the release to rate - `instance_id` (integer, required): The instance ID of the release in the collection - `rating` (integer, required): Rating value (1-5) **Returns**: Updated rating information as JSON string #### `move_release_in_user_collection` **Description**: Move a release in a user's collection to another folder **Inputs**: - `username` (string, required): The username whose collection to access - `folder_id` (integer, required): The ID of the source folder - `release_id` (number, required): The ID of the release to move - `instance_id` (integer, required): The instance ID of the release in the collection - `destination_folder_id` (number, required): The ID of the destination folder **Returns**: Success status as JSON string #### `get_user_collection_custom_fields` **Description**: Retrieve a list of user-defined collection notes fields **Inputs**: - `username` (string, required): The username whose collection to access **Returns**: List of custom fields as JSON string #### `edit_user_collection_custom_field_value` **Description**: Edit a custom field value for a release in a user's collection **Inputs**: - `username` (string, required): The username whose collection to access - `folder_id` (integer, required): The ID of the folder containing the release - `release_id` (number, required): The ID of the release to edit - `instance_id` (number, required): The instance ID of the release in the collection - `field_id` (integer, required): The ID of the custom field to edit - `value` (string, required): The new value for the custom field **Returns**: Success status as JSON string #### `get_user_collection_value` **Description**: Returns the minimum, median, and maximum value of a user's collection **Inputs**: - `username` (string, required): The username whose collection to access **Returns**: Collection value statistics as JSON string ## Database Tools #### `get_release` **Description**: Get a release **Inputs**: - `release_id` (number, required): The ID of the release to get - `curr_abbr` (string, optional): Currency code **Returns**: Release information as JSON string #### `get_release_rating` **Description**: Get a release's rating for a given user **Inputs**: - `release_id` (number, required): The ID of the release - `username` (string, required): The username to get the rating for **Returns**: Rating information as JSON string #### `edit_release_rating` **Description**: Updates the release's rating for a given user **Inputs**: - `release_id` (number, required): The ID of the release - `username` (string, required): The username to update the rating for - `rating` (integer, required): Rating value (1-5) **Returns**: Updated rating information as JSON string #### `delete_release_rating` **Description**: Deletes the release's rating for a given user **Inputs**: - `release_id` (number, required): The ID of the release - `username` (string, required): The username to delete the rating for **Returns**: Success status as JSON string #### `get_release_community_rating` **Description**: Get a release's community rating average and count **Inputs**: - `release_id` (number, required): The ID of the release **Returns**: Community rating information as JSON string #### `get_master_release` **Description**: Get a master release **Inputs**: - `master_id` (number, required): The ID of the master release **Returns**: Master release information as JSON string #### `get_master_release_versions` **Description**: Retrieves a list of all Releases that are versions of this master **Inputs**: - `master_id` (integer, required): The ID of the master release to get versions for - `page` (integer, optional, minimum: 1): The page number to retrieve - `per_page` (integer, optional, minimum: 1, maximum: 100): The number of items per page - `sort` (string, optional): The field to sort by. Possible values: - `released` - `title` - `format` - `label` - `catno` - `country` - `sort_order` (string, optional): The sort order. Possible values: - `asc` - `desc` - `format` (string, optional): Filter by format - `label` (string, optional): Filter by label - `released` (string, optional): Filter by release year - `country` (string, optional): Filter by country **Returns**: List of master release versions as JSON string, including pagination, versions, filters, and filter facets #### `get_artist` **Description**: Get an artist **Inputs**: - `artist_id` (number, required): The ID of the artist **Returns**: Artist information as JSON string #### `get_artist_releases` **Description**: Get an artist's releases **Inputs**: - `artist_id` (number, required): The ID of the artist - `page` (integer, optional): Page number (minimum: 1) - `per_page` (integer, optional): Items per page (minimum: 1, maximum: 100) - `sort_order` (string, optional): Sort direction (asc, desc) **Returns**: List of artist releases as JSON string #### `get_label` **Description**: Get a label **Inputs**: - `label_id` (number, required): The ID of the label **Returns**: Label information as JSON string #### `get_label_releases` **Description**: Get releases associated with a label **Inputs**: - `label_id` (number, required): The ID of the label - `page` (integer, optional): Page number (minimum: 1) - `per_page` (integer, optional): Items per page (minimum: 1, maximum: 100) - `sort_order` (string, optional): Sort direction (asc, desc) **Returns**: List of releases as JSON string #### `search` **Description**: Search the Discogs database **Inputs**: - `q` (string, optional): Search query - `type` (string, optional): Search type (artist, label, master, release) - `title` (string, optional): Title search - `release_title` (string, optional): Release title search - `credit` (string, optional): Credit search - `artist` (string, optional): Artist search - `anv` (string, optional): Artist name variation search - `label` (string, optional): Label search - `genre` (string, optional): Genre search - `style` (string, optional): Style search - `country` (string, optional): Country search - `year` (string, optional): Year search - `format` (string, optional): Format search - `catno` (string, optional): Catalog number search - `barcode` (string, optional): Barcode search - `track` (string, optional): Track search - `submitter` (string, optional): Submitter search - `contributor` (string, optional): Contributor search - `page` (integer, optional): Page number (minimum: 1) - `per_page` (integer, optional): Items per page (minimum: 1, maximum: 100) **Returns**: Search results as JSON string #### `get_release_rating_by_user` **Description**: Retrieves the release's rating for a given user **Inputs**: - `release_id` (number, required): The ID of the release - `username` (string, required): The username to get the rating for **Returns**: Rating information as JSON string ## Marketplace Tools #### `get_user_inventory` **Description**: Returns the list of listings in a user's inventory **Inputs**: - `username` (string, required): The username whose inventory to get - `page` (integer, optional): Page number (minimum: 1) - `per_page` (integer, optional): Items per page (minimum: 1, maximum: 100) - `status` (string, optional): Filter by status (For Sale, Expired, Draft, Pending) - `sort` (string, optional): Sort field (listed, price, item, artist, label, catno, audio, status, location) - `sort_order` (string, optional): Sort direction (asc, desc) **Returns**: List of inventory items as JSON string, including: - Pagination information (page, pages, items count) - List of listings, each containing: - Listing details (ID, status, condition, price) - Release information (ID, description, artist, title) - Seller information (ID, username, stats) - Shipping and payment details #### `get_marketplace_listing` **Description**: Get a listing from the marketplace **Inputs**: - `listing_id` (integer, required): The ID of the listing to get - `curr_abbr` (string, optional): Currency code (USD, GBP, EUR, CAD, AUD, JPY, CHF, MXN, BRL, NZD, SEK, ZAR) **Returns**: Listing information as JSON string #### `create_marketplace_listing` **Description**: Create a new marketplace listing **Inputs**: - `release_id` (integer, required): The ID of the release to list - `condition` (string, required): Condition of the item (Mint (M), Near Mint (NM or M-), Very Good Plus (VG+), Very Good (VG), Good Plus (G+), Good (G), Fair (F), Poor (P)) - `price` (number, required): Price of the item - `status` (string, required): Status of the listing (For Sale, Expired, Draft) - `sleeve_condition` (string, optional): Condition of the sleeve (Mint (M), Near Mint (NM or M-), Very Good Plus (VG+), Very Good (VG), Good Plus (G+), Good (G), Fair (F), Poor (P), Generic, Not Graded, No Cover) - `format_quantity` (number, optional): Number of items - `comments` (string, optional): Comments about the listing - `allow_offers` (boolean, optional): Whether to allow offers - `external_id` (string, optional): External ID for the listing - `location` (string, optional): Location of the item - `weight` (number, optional): Weight of the item **Returns**: Created listing information as JSON string #### `update_marketplace_listing` **Description**: Update a marketplace listing **Inputs**: - `listing_id` (integer, required): The ID of the listing to update - `release_id` (integer, required): The ID of the release - `condition` (string, required): Condition of the item (Mint (M), Near Mint (NM or M-), Very Good Plus (VG+), Very Good (VG), Good Plus (G+), Good (G), Fair (F), Poor (P)) - `price` (number, required): Price of the item - `status` (string, required): Status of the listing (For Sale, Expired, Draft) - `sleeve_condition` (string, optional): Condition of the sleeve (Mint (M), Near Mint (NM or M-), Very Good Plus (VG+), Very Good (VG), Good Plus (G+), Good (G), Fair (F), Poor (P), Generic, Not Graded, No Cover) - `format_quantity` (number, optional): Number of items - `comments` (string, optional): Comments about the listing - `allow_offers` (boolean, optional): Whether to allow offers - `external_id` (string, optional): External ID for the listing - `location` (string, optional): Location of the item - `weight` (number, optional): Weight of the item **Returns**: Success message as string #### `delete_marketplace_listing` **Description**: Delete a marketplace listing **Inputs**: - `listing_id` (integer, required): The ID of the listing to delete **Returns**: Success message as string #### `get_marketplace_order` **Description**: Get a marketplace order **Inputs**: - `order_id` (number, required): The ID of the order to get **Returns**: Order information as JSON string, including: - Order details (ID, status, creation date) - Items with release information and pricing - Shipping information - Seller and buyer details - Total amount and fees #### `edit_marketplace_order` **Description**: Edit a marketplace order **Inputs**: - `order_id` (number, required): The ID of the order to edit - `status` (string, optional): New status of the order (New Order, Buyer Contacted, Invoice Sent, Payment Pending, Payment Received, Shipped, Refund Sent, Cancelled (Non-Paying Buyer), Cancelled (Item Unavailable), Cancelled (Per Buyer's Request)) - `shipping` (number, optional): New shipping cost **Returns**: Updated order information as JSON string, including: - Updated order details - Items with release information and pricing - Shipping information - Seller and buyer details - Total amount and fees #### `get_marketplace_orders` **Description**: Get a list of marketplace orders **Inputs**: - `status` (string, optional): Filter by order status (New Order, Buyer Contacted, Invoice Sent, Payment Pending, Payment Received, Shipped, Refund Sent, Cancelled (Non-Paying Buyer), Cancelled (Item Unavailable), Cancelled (Per Buyer's Request)) - `created_after` (string, optional): Filter orders created after this date (YYYY-MM-DD) - `created_before` (string, optional): Filter orders created before this date (YYYY-MM-DD) - `archived` (boolean, optional): Filter by archived status - `page` (integer, optional): Page number (minimum: 1) - `per_page` (integer, optional): Items per page (minimum: 1, maximum: 100) - `sort` (string, optional): Sort field (id, buyer, created, status, last_activity) - `sort_order` (string, optional): Sort direction (asc, desc) **Returns**: List of orders as JSON string, including: - Pagination information (page, pages, items count) - List of orders, each containing: - Order details (ID, status, creation date) - Items with release information and pricing - Shipping information - Seller and buyer details - Total amount and fees #### `get_marketplace_order_messages` **Description**: Get a list of an order's messages **Inputs**: - `order_id` (number, required): The ID of the order to get messages for - `page` (integer, optional): Page number (minimum: 1) - `per_page` (integer, optional): Items per page (minimum: 1, maximum: 100) - `sort_order` (string, optional): Sort direction (asc, desc) **Returns**: List of messages as JSON string, including: - Pagination information (page, pages, items count) - List of messages, each containing: - Message details (timestamp, content, type, subject) - Order reference information - Sender information (ID, username, avatar) - Status information - Actor information #### `create_marketplace_order_message` **Description**: Adds a new message to the order's message log **Inputs**: - `order_id` (number, required): The ID of the order to add a message to - `message` (string, optional): The message content - `status` (string, optional): New status of the order (New Order, Buyer Contacted, Invoice Sent, Payment Pending, Payment Received, Shipped, Refund Sent, Cancelled (Non-Paying Buyer), Cancelled (Item Unavailable), Cancelled (Per Buyer's Request)) **Returns**: Created message information as JSON string, including: - Message details (timestamp, content, type, subject) - Order reference information - Sender information (ID, username, avatar) - Status information - Actor information #### `get_marketplace_release_stats` **Description**: Retrieve marketplace statistics for the provided Release ID **Inputs**: - `release_id` (number, required, minimum: 1): The ID of the release to get stats for - `curr_abbr` (string, optional): Currency code (USD, GBP, EUR, CAD, AUD, JPY, CHF, MXN, BRL, NZD, SEK, ZAR) **Returns**: Release statistics as JSON string, including: - `lowest_price`: The lowest price for the release (with currency and value) - `num_for_sale`: The number of items for sale - `blocked_from_sale`: Whether the release is blocked from sale ## User Lists Tools #### `get_user_lists` **Description**: Get a user's lists **Inputs**: - `username` (string, required): The username whose lists to get **Returns**: List of user lists as JSON string #### `get_list` **Description**: Get a list by ID **Inputs**: - `list_id` (number, required): The ID of the list to get **Returns**: List information as JSON string ## User Wantlist Tools #### `get_user_wantlist` **Description**: Returns the list of releases in a user's wantlist **Inputs**: - `username` (string, required): The username whose wantlist to get - `page` (integer, optional): Page number (minimum: 1) - `per_page` (integer, optional): Items per page (minimum: 1, maximum: 100) - `sort` (string, optional): Sort field (added, artist, catno, format, label, rating, title, year) - `sort_order` (string, optional): Sort direction (asc, desc) **Returns**: List of wantlist items as JSON string #### `add_to_wantlist` **Description**: Add a release to a user's wantlist **Inputs**: - `username` (string, required): The username whose wantlist to access - `release_id` (number, required): The ID of the release to add - `notes` (string, optional): Notes about the release - `rating` (integer, optional): Rating value (1-5) **Returns**: Added wantlist item information as JSON string #### `edit_item_in_wantlist` **Description**: Edit a release in a user's wantlist **Inputs**: - `username` (string, required): The username whose wantlist to access - `release_id` (number, required): The ID of the release to edit - `notes` (string, optional): Notes about the release - `rating` (integer, optional): Rating value (1-5) **Returns**: Updated wantlist item information as JSON string #### `delete_item_in_wantlist` **Description**: Delete a release from a user's wantlist **Inputs**: - `username` (string, required): The username whose wantlist to access - `release_id` (number, required): The ID of the release to delete **Returns**: Success status as JSON string ## Media Tools #### `fetch_image` **Description**: Fetch an image by URL **Inputs**: - `url` (string, required): The URL of the image to fetch **Returns**: Image content ## Inventory Export Tools #### `inventory_export` **Description**: Request an export of your inventory as a CSV **Inputs**: None **Returns**: Success message as string #### `get_inventory_exports` **Description**: Get a list of all recent exports of your inventory **Inputs**: None **Returns**: List of inventory exports as JSON string, including: - Pagination information (page, pages, items count) - List of exports, each containing: - ID - Status - Creation timestamp - URL - Finished timestamp - Download URL - Filename #### `get_inventory_export` **Description**: Get details about an inventory export **Inputs**: - `id` (number, required): The ID of the inventory export **Returns**: Inventory export details as JSON string, including: - ID - Status - Creation timestamp - URL - Finished timestamp - Download URL - Filename #### `download_inventory_export` **Description**: Download an inventory export as a CSV **Inputs**: - `id` (number, required): The ID of the inventory export to download **Returns**: The inventory export as a CSV string

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