accueil / serveurs / Dev & Code / io.github.labelgrid/labelgrid-mcp
io.github.labelgrid/labelgrid-mcp
serveur MCP (Model Context Protocol)
Aucun comportement malveillant détecté au test comportemental.
Est-ce que io.github.labelgrid/labelgrid-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.labelgrid/labelgrid-mcp » est classé « Vérifié ». Aucun comportement malveillant détecté au test comportemental. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Versions auditées & empreintes
Vérifiez la version que vous utilisez : son empreinte doit correspondre à celle listée ici — sinon vous n'utilisez pas la version auditée.
⚠ La dernière version publiée (0.8.1) n'a pas encore été auditée. Un nouveau pentest est programmé ; les verdicts ci-dessous portent sur les versions listées.
Vous utilisez ce serveur ? Suivez-le (créez un compte) pour être alerté dès qu'une nouvelle version paraît ou que le verdict change.
Les 29 outils
- setup≈ 136 tokens
This LabelGrid MCP server is not connected to an account yet because no API token is configured. Call this tool to get step-by-step instructions to walk the user through creating a LabelGrid API token and adding it to their MCP client configuration. Returns the setup steps, ready-to-copy client config examples (with a placeholder token), a security note, and the optional settings. Makes no API calls.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "setup", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_account≈ 168 tokens
Read the authenticated LabelGrid account. Pick ONE view with `view`: `profile` returns the account profile — including the release submission limit/quota and terms-acceptance status — use it to confirm which account your API token belongs to before making other calls; `balance` returns your accounting summary — current balance and related account-level financial totals.
Paramètres, retour & exemple (1)
Paramètresview· string · requis · profile | balance
Which account read.
Exemple d'appel{"name": "get_account", "arguments": {"view": "profile"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - revoke_api_token≈ 125 tokens
Revoke a LabelGrid API token. Pass token_id to revoke a specific token; omit it to revoke the token currently in use. WARNING: revoking the current token immediately ends this session — the server loses access and stops working until you configure a new token.
Paramètres, retour & exemple (1)
Paramètrestoken_id· integer · optionnel
Exemple d'appel{"name": "revoke_api_token", "arguments": {"token_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_reference_data≈ 292 tokens
Fetch a LabelGrid reference dataset used to resolve the IDs and codes the catalog and release tools expect. Pick ONE dataset with `type`: `genres` and `genre_categories` (genre IDs), `languages` (audio/metadata language codes), `contributor_roles`, `instruments`, `distro_outlets` (the outlets/stores available to your account), `territories` (country codes), `issue_definitions` (each review issue code’s title, description, severity and whether it blocks distribution; codes are string slugs), or `webhook_event_types` (every webhook event type with its payload schema). Call this when you need a valid ID or code. The same datasets are exposed as MCP resources at labelgrid://reference/{type}; this tool is the fallback for clients that don’t surface resources.
Paramètres, retour & exemple (1)
Paramètrestype· string · requis · genres | genre_categories | languages | contributor_roles | instruments | distro_outlets | territories | issue_definitions
Exemple d'appel{"name": "list_reference_data", "arguments": {"type": "genres"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_catalog≈ 392 tokens
List catalog entities of one kind, paginated. Pick the kind with `entity`: label, artist, writer, publisher, release, or track. `filters` takes the endpoint’s own filter names, passed through verbatim — label: no documented filters — paginate with page/per_page. artist: artist_name (filter by artist name). writer: name (writer name), ipi (IPI number). publisher: name (publisher name), ipi (IPI number). release: label_id (owning label id), is_live (1 = live/distributed only), barcode_number (UPC/EAN), cat (catalog number). track: release_id (one release’s tracks), isrc (filter by ISRC). Use get_catalog_item for one entity's full detail. response_format:'detailed' returns the verbatim API response.
Paramètres, retour & exemple (5)
Paramètrespage· integer · optionnel
1-based page number.entity· string · requis · label | artist | writer | publisher | release | track
The catalog entity kind.filters· object · optionnel
Filter names → values, passed through verbatim.per_page· integer · optionnel
Items per page.response_format· string · optionnel · concise | detailed
'concise' (default) keeps only the high-signal fields (ids always kept); 'detailed' returns the verbatim API response.
Exemple d'appel{"name": "search_catalog", "arguments": {"entity": "label"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_catalog_item≈ 252 tokens
Retrieve one catalog entity by id, with its full detail — a label’s settings, an artist’s identifiers and links, a writer’s PRO/IPI, a release’s metadata and track listing, a track’s contributors and royalty splits. Pick the kind with `entity`: label, artist, writer, publisher, release, or track. response_format:'detailed' returns the verbatim API response.
Paramètres, retour & exemple (3)
Paramètresid· integer · requis
The entity id.entity· string · requis · label | artist | writer | publisher | release | track
The catalog entity kind.response_format· string · optionnel · concise | detailed
'concise' (default) keeps only the high-signal fields (ids always kept); 'detailed' returns the verbatim API response.
Exemple d'appel{"name": "get_catalog_item", "arguments": {"id": 1, "entity": "label"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_catalog_item≈ 384 tokens
Create a catalog entity. Pick the kind with `entity` and pass its attributes in `fields` — the API owns all validation. Required and common fields per entity: label — required: name, default_email; optional: support email, website/platform URLs, default copyright lines, isrc_base. artist — required: artist_name; optional: full_name, email, location, bios, isni, default_language, platform profile URLs. writer — required: first_name, last_name; optional: middle_name, display_credits, email, country, pro, ipi, isni, publisher_id (or publisher_name/publisher_pro/publisher_ipi). publisher — required: name; optional: ipi, pro, isni, controlled_publisher. release — required on create: content_type, label_id, artists, titles, cat (catalog number), artwork_ai_usage, primary_genre_id; many optional
Paramètres, retour & exemple (3)
Paramètresentity· string · requis · label | artist | writer | publisher | release | track
The catalog entity kind.fields· object · requis
The entity attributes, forwarded verbatim.idempotency_key· string · optionnel
Honored for release and track only: the server deduplicates by this key for 24h — reuse the SAME key when retrying an unobserved call. Ignored for other entities.
Exemple d'appel{"name": "create_catalog_item", "arguments": {"entity": "label", "fields": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_catalog_item≈ 244 tokens
Update a catalog entity. Pick the kind with `entity`, supply only the fields you want to change in `fields` (same field sets as create_catalog_item). For releases: once submitted or distributed, some fields are locked — changing one returns a 403 with code RELEASE_LOCKED_FIELDS naming exactly which fields cannot change. Track fields lock the same way once the parent release is submitted or distributed.
Paramètres, retour & exemple (3)
Paramètresid· integer · requis
The entity id.entity· string · requis · label | artist | writer | publisher | release | track
The catalog entity kind.fields· object · requis
The fields to change, forwarded verbatim.
Exemple d'appel{"name": "update_catalog_item", "arguments": {"id": 1, "entity": "label", "fields": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_catalog_item≈ 234 tokens
Delete a catalog entity by id. The API refuses deletes that would orphan data — label: refused while the label still has releases — remove or reassign its releases first. artist: refused while still referenced by releases or tracks. writer: refused while still referenced by tracks. publisher: refused while still referenced by writers. release: only a never-submitted draft can be deleted. track: allowed while the parent release is an editable draft; refused once submitted or distributed.
Paramètres, retour & exemple (2)
Paramètresid· integer · requis
The entity id.entity· string · requis · label | artist | writer | publisher | release | track
The catalog entity kind.
Exemple d'appel{"name": "delete_catalog_item", "arguments": {"id": 1, "entity": "label"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - upload_image≈ 213 tokens
Upload a label image or an artist photo from a local file. `target`: label_logo, label_logo_dark (a dark-mode variant), label_background, or artist_photo. `id` is the label id for label_* and the artist id for artist_photo. `file_path` must be a local image file.
Paramètres, retour & exemple (3)
Paramètresid· integer · requis
The label id (label_*) or artist id (artist_photo).target· string · requis · label_logo | label_logo_dark | label_background | artist_photo
Which image asset to upload.file_path· string · requis
Local path to the image file to upload.
Exemple d'appel{"name": "upload_image", "arguments": {"id": 1, "target": "label_logo", "file_path": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_asset≈ 384 tokens
Read a track or release asset. Valid selector matrices: (1) mode='info', parent='track', asset stereo|dolby|lyrics — file metadata (not the bytes) incl. processing state. (2) mode='info', parent='release', asset square|tall — animated cover (motion artwork) video metadata incl. processing state. (3) mode='download_url', parent='track', asset audio_16|audio_24|audio_32 (WAV master at that bit depth) or audio_preview_full|audio_preview_clip (generated MP3 preview) — returns { download_url, expires_in }: a signed URL that expires roughly 10 minutes after issue; fetch it directly — do not send your API token to it. Any other combination has no endpoint and returns a structured error. mode defaults to info.
Paramètres, retour & exemple (4)
Paramètresid· integer · requis
The track id or release id, per `parent`.mode· string · optionnel · info | download_url
info (default) returns file metadata; download_url returns a signed URL.asset· string · requis · stereo | dolby | lyrics | square | tall | audio_16 | audio_24 | audio_32
Which asset — see the description for the valid parent/mode pairings.parent· string · requis · track | release
Whose asset.
Exemple d'appel{"name": "get_asset", "arguments": {"id": 1, "asset": "stereo", "parent": "track"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_release_review≈ 318 tokens
Read a release's automated quality-check results. Pick ONE view with `view`: `issues` lists the review issues raised against the release — each carries a code (see list_reference_data type issue_definitions), severity, and whether it blocks distribution; use it to see what must be fixed before the release can go out. `quality_report` retrieves the Preflight QC quality report — the customer-facing issues found by the automated checks, to review before confirming the release into distribution; Preflight QC is an optional add-on — without it the API returns a 403, surfaced verbatim. response_format:'detailed' returns the verbatim API response.
Paramètres, retour & exemple (3)
Paramètresview· string · requis · issues | quality_report
Which review read.release_id· integer · requis
The release id.response_format· string · optionnel · concise | detailed
'concise' (default) keeps only the high-signal fields (ids always kept); 'detailed' returns the verbatim API response.
Exemple d'appel{"name": "get_release_review", "arguments": {"view": "issues", "release_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_delivery_queue≈ 286 tokens
List the distribution queue entries for your account, paginated — one entry per (release, outlet) delivery with its current status (e.g. pending review, processing, scheduled, complete, error) — where a release is in the delivery pipeline to each store. Filter by `release_id`, `outlet_id`, or `status`. response_format:'detailed' returns the verbatim API response.
Paramètres, retour & exemple (6)
Paramètrespage· integer · optionnelstatus· string · optionnel
Filter by delivery status.per_page· integer · optionneloutlet_id· integer · optionnel
Filter to one outlet/store.release_id· integer · optionnel
Filter to one release.response_format· string · optionnel · concise | detailed
'concise' (default) keeps only the high-signal fields (ids always kept); 'detailed' returns the verbatim API response.
Exemple d'appel{"name": "get_delivery_queue", "arguments": {"page": 1, "status": "texte", "per_page": 1, "outlet_id": 1, "release_id": 1, "response_format": "concise"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_landing_config≈ 138 tokens
Retrieve the smart-link landing-page configuration for a release: whether the links page is enabled, its style/mode, custom copy, the action list and any pre-order links. Pair with manage_release_links (action update_landing_config) to change it.
Paramètres, retour & exemple (1)
Paramètresrelease_id· integer · requis
The release id.
Exemple d'appel{"name": "get_landing_config", "arguments": {"release_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_track_licenses≈ 172 tokens
List the licenses attached to a track (e.g. cover/mechanical or sample clearances), paginated. Pass `license_id` to retrieve one license by its id instead.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnelper_page· integer · optionneltrack_id· integer · requis
The track id.license_id· integer · optionnel
Retrieve one license by id instead of listing.
Exemple d'appel{"name": "list_track_licenses", "arguments": {"track_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - run_release_checks≈ 242 tokens
Run an automated check on a release. Pick ONE with `check`: `validate` returns any problems that would block distribution, as a human-readable `errors` list and a machine-readable `errors_structured` list — it changes nothing and is safe to repeat; run it before distributing. `refresh_quality_report` re-runs the Preflight QC checks and refreshes the quality report (read it with get_release_review view quality_report); the server applies an hourly refresh budget, so frequent calls may be rate-limited. Preflight QC is an optional add-on.
Paramètres, retour & exemple (2)
Paramètrescheck· string · requis · validate | refresh_quality_report
Which check to run.release_id· integer · requis
The release id.
Exemple d'appel{"name": "run_release_checks", "arguments": {"check": "validate", "release_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - manage_release_links≈ 273 tokens
Manage a release's smart-link landing page. Pick ONE action with `action`: `update_landing_config` replaces the landing-page configuration with `config` (required for this action) — `config.actions` uses the current (v2) action-list contract (one entry per call-to-action); other keys: links_page_enabled, config_mode, page_style, custom_cta_text, custom_description, pre_order_links. `create_short_url` creates (or returns the existing) short URL for the release's smart-link landing page — safe to repeat.
Paramètres, retour & exemple (3)
Paramètresaction· string · requis · update_landing_config | create_short_url
Which action.config· object · optionnel
The landing-page configuration to set (required for update_landing_config).release_id· integer · requis
The release id.
Exemple d'appel{"name": "manage_release_links", "arguments": {"action": "update_landing_config", "release_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - add_review_issue_note≈ 129 tokens
Add a note to a release review issue — to explain a fix or add reviewer context. `review_issue_id` comes from get_release_review view issues.
Paramètres, retour & exemple (2)
Paramètresnote· string · requis
The note text to attach to the issue.review_issue_id· integer · requis
Exemple d'appel{"name": "add_review_issue_note", "arguments": {"note": "texte", "review_issue_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_analytics≈ 417 tokens
Retrieve a streaming analytics summary for your catalog in a single call. `start_date` and `end_date` (both YYYY-MM-DD) are required and the window is capped at 30 days by the server. Optionally narrow the result by `platform` (SPOTIFY, ITUNES, APPLE_MUSIC), `release_id`, `isrc`, `upc`, or `artist_names`. By default all 15 metric sections are returned; pass `metrics` (see its enum) to request only a subset. Rate-limited (about 60 requests per minute); a 429 response carries retry_after_seconds.
Paramètres, retour & exemple (9)
Paramètresupc· string · optionnelisrc· string · optionnellimit· integer · optionnelmetrics· array · optionnel
Subset of metric sections to return; omit for all 15.end_date· string · requis
End of the reporting window, YYYY-MM-DD (max 30-day span).platform· string · optionnel · SPOTIFY | ITUNES | APPLE_MUSICrelease_id· integer · optionnelstart_date· string · requis
Start of the reporting window, YYYY-MM-DD.artist_names· array · optionnel
Filter to one or more artist names.
Exemple d'appel{"name": "get_analytics", "arguments": {"end_date": "texte", "start_date": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - query_artificial_streaming≈ 490 tokens
Query artificial-streaming (streaming-integrity) data for your catalog. Pick ONE view with `view`: `flags` lists Stream Radar early-warning flags surfacing possible artificial-streaming activity so you can act early, paginated — `filters`: status, severity, dsp, isrc, release_id, detected_from/detected_to (YYYY-MM-DD). `flag_detail` retrieves one flag by `flag_id` (required). Stream Radar is an optional add-on; without it the API returns a 403, surfaced verbatim. `records` lists the artificial-streaming records reported for your catalog, cursor-paginated — the per-record detail behind any artificial-streaming fee; `filters`: dsp (spotify or apple), start_date/end_date, release_id, isrc. `fee_breakdown` retrieves the per-release breakdown of an artificial-streaming fee for one billing perio
Paramètres, retour & exemple (8)
Paramètrespage· integer · optionnel
1-based page number (view flags).view· string · requis · flags | flag_detail | records | fee_breakdown
Which artificial-streaming read.cursor· string · optionnel
Pagination cursor (view records).period· string · optionnel
YYYY-MM. Required for view fee_breakdown.filters· object · optionnel
Filter names → values, passed through verbatim.flag_id· integer · optionnel
Required for view flag_detail.per_page· integer · optionnel
Items per page.response_format· string · optionnel · concise | detailed
'concise' (default) keeps only the high-signal fields (ids always kept); 'detailed' returns the verbatim API response.
Exemple d'appel{"name": "query_artificial_streaming", "arguments": {"view": "flags"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - query_financials≈ 543 tokens
Query your financial data. Pick ONE view with `view`: `statements` lists your royalty statements, paginated — `filters`: label_id, release_id, isrc, upc, start_date/end_date; group_by="release" rolls totals up per release. `statement_detail` retrieves one statement by `invoice_number` (required). `transactions` lists account transactions, paginated — same `filters`; sort with `sort`; group_by="release" rolls up per release. `royalty_breakdown` returns a cursor-paginated royalty breakdown — `group_by` is REQUIRED for this view: a comma-separated, ordered subset of: track, dsp, release, territory, period (e.g. "release,dsp"); same `filters`; pass `cursor` to page. Use download_statement for statement line items (CSV) or the invoice PDF. response_format:'detailed' returns the verbatim API res
Paramètres, retour & exemple (9)
Paramètrespage· integer · optionnel
1-based page number.sort· string · optionnel
Sort expression (view transactions).view· string · requis · statements | statement_detail | transactions | royalty_breakdown
Which financial read.cursor· string · optionnel
Pagination cursor (view royalty_breakdown).filters· object · optionnel
label_id, release_id, isrc, upc, start_date, end_date — passed through verbatim.group_by· string · optionnel
REQUIRED for royalty_breakdown (ordered subset: track, dsp, release, territory, period); "release" rolls statements/transactions up per release.per_page· integer · optionnel
Items per page.invoice_number· string · optionnel
Required for view statement_detail.response_format· string · optionnel · concise | detailed
'concise' (default) keeps only the high-signal fields (ids always kept); 'detailed' returns the verbatim API response.
Exemple d'appel{"name": "query_financials", "arguments": {"view": "statements"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - download_statement≈ 354 tokens
Download statement files. `format: 'csv'` downloads statement line items — pass invoice_number for one statement, OR a start_date/end_date range to export across statements; with save_to_path (an absolute path whose parent directory exists) the CSV is written there and the byte count returned; otherwise it is returned inline, truncated at 100KB (truncated: true) — use save_to_path for large exports. `format: 'invoice_pdf'` downloads the invoice PDF — invoice_number and save_to_path are both REQUIRED (the PDF is binary). An existing file is never overwritten (returns FILE_EXISTS).
Paramètres, retour & exemple (5)
Paramètresformat· string · requis · csv | invoice_pdf
Which file: csv (line items) or invoice_pdf (the invoice PDF).end_date· string · optionnel
CSV export range end, YYYY-MM-DD.start_date· string · optionnel
CSV export range start, YYYY-MM-DD.save_to_path· string · optionnel
Absolute path (existing parent dir) to write the file to. Optional for csv (otherwise returned inline); required for invoice_pdf.invoice_number· string · optionnel
Single-statement invoice number. Required for format invoice_pdf.
Exemple d'appel{"name": "download_statement", "arguments": {"format": "csv"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - upload_asset≈ 324 tokens
Upload a finalized track or release asset from a local file. `id` is the track id for track_* targets, the release id for release_*. `track_stereo` (stereo audio, WAV/FLAC/AIFF), `track_dolby` (Dolby Atmos, WAV) and `track_lyrics` (LRC) upload directly to storage and process asynchronously — check state with get_asset (mode info). `release_cover_art` uploads or replaces the release's static cover art image. `release_motion_square` / `release_motion_tall` upload the animated cover (motion artwork) video — square or tall/portrait — also processed asynchronously. ALL of these become immutable once the release is distributed — upload the final files before distributing.
Paramètres, retour & exemple (3)
Paramètresid· integer · requis
The track id (track_*) or release id (release_*).target· string · requis · track_stereo | track_dolby | track_lyrics | release_cover_art | release_motion_square | release_motion_tall
Which asset to upload.file_path· string · requis
Local path to the file to upload.
Exemple d'appel{"name": "upload_asset", "arguments": {"id": 1, "target": "track_stereo", "file_path": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_asset≈ 221 tokens
Delete a track or release asset file. track_stereo|track_dolby|track_lyrics delete a track asset; release_motion_square|release_motion_tall delete an animated cover (motion artwork) video. Allowed only while the parent release is still an editable draft; the API refuses once the release is locked or distributed. Cover art has no delete endpoint and cannot be deleted here.
Paramètres, retour & exemple (2)
Paramètresid· integer · requis
The track id (track_*) or release id (release_motion_*).target· string · requis · track_stereo | track_dolby | track_lyrics | release_motion_square | release_motion_tall
Which asset to delete.
Exemple d'appel{"name": "delete_asset", "arguments": {"id": 1, "target": "track_stereo"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - manage_track_license≈ 454 tokens
Manage the license documents attached to a track (for a cover or a cleared sample). Pick ONE action with `action`: `upload` attaches a new license — `file_path` required, `type` ('cover' or 'sample') selects the kind; optionally record license_id, license_provider, license_provider_name, original_track_link. `update` replaces the file and/or metadata of an existing license — `track_license_id` (from list_track_licenses) and `file_path` required. `delete` permanently deletes a license and its file — `track_license_id` required; cannot be undone. Licenses are immutability-governed once the release is live.
Paramètres, retour & exemple (9)
Paramètrestype· string · optionnel · cover | sample
Kind of license (upload).action· string · requis · upload | update | delete
Which license action.track_id· integer · requis
The track id.file_path· string · optionnel
Local path to the license file. Required for upload/update.license_id· string · optionnel
The license/clearance reference number, if any.license_provider· string · optionnel · licensing_agency | direct_from_publisher
Where the license came from.track_license_id· integer · optionnel
From list_track_licenses. Required for update/delete.original_track_link· string · optionnel
URL to the original/source track.license_provider_name· string · optionnel
The name of the license provider.
Exemple d'appel{"name": "manage_track_license", "arguments": {"action": "upload", "track_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - distribute_release≈ 229 tokens
Submit a release for distribution to the stores/outlets — the FINAL, consequential action that sends the release out; run_release_checks (check validate) should pass first. The server enforces your account’s weekly submission limit and returns a structured error if exceeded. Pass idempotency_key and reuse the SAME value when retrying an unobserved call; without a key each call is a new submission.
Paramètres, retour & exemple (2)
Paramètresrelease_id· integer · requis
The release id.idempotency_key· string · optionnel
The server deduplicates by this key for 24h — reuse the SAME key when retrying a call whose outcome you did not observe.
Exemple d'appel{"name": "distribute_release", "arguments": {"release_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - takedown_release≈ 118 tokens
Take a release down from ALL outlets/stores — a final, consequential action that removes it everywhere it was delivered. Re-distribution afterward is a fresh submission.
Paramètres, retour & exemple (1)
Paramètresrelease_id· integer · requis
The release id.
Exemple d'appel{"name": "takedown_release", "arguments": {"release_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - confirm_review≈ 120 tokens
Confirm a release that Preflight QC placed on hold, moving it into distribution review. Use after you have reviewed the quality report and accept the release as-is. Safe to repeat.
Paramètres, retour & exemple (1)
Paramètresrelease_id· integer · requis
The release id.
Exemple d'appel{"name": "confirm_review", "arguments": {"release_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - enable_beatport≈ 106 tokens
Request Beatport onboarding for a label. A one-time action that cannot be un-requested, so confirm the label is correct first.
Paramètres, retour & exemple (1)
Paramètreslabel_id· integer · requis
The label id.
Exemple d'appel{"name": "enable_beatport", "arguments": {"label_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
Badge pour votre README
Ce serveur a passé le pentest comportemental. Le badge porte son nom et renvoie à cette fiche — la preuve, c'est la fiche (verdict live qu'on contrôle), pas l'image.
[](https://dokore.fr/serveur/io.github.labelgrid--labelgrid-mcp)
<a href="https://dokore.fr/serveur/io.github.labelgrid--labelgrid-mcp"><img src="https://dokore.fr/badge/io.github.labelgrid--labelgrid-mcp.svg" alt="Vérifié par MCP Hub" height="20"></a>
Réévalué en continu : si le comportement change, le verdict tombe et le badge disparaît. Un badge qui ne pointe pas vers une fiche dokore.fr ne prouve rien. Comment ça marche
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».
Source
@labelgrid/mcp@0.4.0