Skip to main content
Glama
rustem-shiriiazdanov

atlassian-marketplace-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ATLASSIAN_EMAILYesYour Atlassian login email
ATLASSIAN_API_TOKENYesCreated at id.atlassian.com → Security → API tokens
MARKETPLACE_PARTNER_IDYesNumeric partner ID for the v1 promotions API
MARKETPLACE_DEVELOPER_IDYesUUID of your developer space

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
apps_listA

Discover apps in this developer space (live API call). Returns productId (UUID — use as filter), appKey, appName, state. CURSOR-paginated: pass cursor (from a prior response's nextCursor) to page forward. In summary mode the result includes nextCursor (null when no more pages). Default (no limit) returns up to 10 (the API's default page size).

📖 Spec (GET /rest/3/product-listing/developer-space/{developerId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-listing/#api-rest-3-product-listing-developer-space-developerid-get

apps_knownA

Return the static name -> productId map loaded from PRODUCT_ID_* env vars. Use this to look up product UUIDs by friendly name without an API call.

📖 Spec (GET /rest/3/product-listing/developer-space/{developerId} — Local env map — closest related endpoint is apps_list): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-listing/#api-rest-3-product-listing-developer-space-developerid-get

promotions_list_pagedA

List promotions (paginated). STRONGLY prefer this over promotions_list (the non-paged variant can time out). Returns {_links, promotions:[…], offset, limit, totalItems, orderBy, nextId, prevId}. Cloud uses cursor pagination via nextId/prevId (and totalItems is null); Server/DC uses offset/limit. Each promotion carries ~21 fields — a full page can exceed the response size cap and spill to a temp file, so page with a modest limit.

📖 Spec (GET /catalog/partners/{partnerId}/promotions/paged): https://developer.atlassian.com/platform/marketplace/rest/v1/api-group-promotions/#api-marketplace-catalog-partners-partnerid-promotions-paged-get

promotions_listA

List ALL promotions in one non-paginated response (legacy). WARNING: on partners with many promotions this endpoint is very slow and can hit the request timeout (60s, then retried) — effectively hanging. Prefer promotions_list_paged in almost all cases; use this only when you truly need every promotion at once and know the set is small.

📖 Spec (GET /catalog/partners/{partnerId}/promotions — Deprecated non-paged variant; prefer promotions_list_paged): https://developer.atlassian.com/platform/marketplace/rest/v1/api-group-promotions/#api-marketplace-catalog-partners-partnerid-promotions-get

promotions_createA

Create a new promotion. PUBLIC IMPACT: promo code becomes redeemable by customers. Required: name, eligibleApps, expirationDate, hostingType, promotionType, discountType.

📖 Spec (POST /catalog/partners/{partnerId}/promotions): https://developer.atlassian.com/platform/marketplace/rest/v1/api-group-promotions/#api-marketplace-catalog-partners-partnerid-promotions-post

promotions_getA

Get one promotion by ID. Returns the full promotion object (~21 fields: id, name, eligibleApps, startDate, expirationDate, status, promotionType, discountType, discountPercent, maxUses, used, hostingType, promotionCode, …). GOTCHA: a nonexistent/malformed promotionId returns HTTP 500 (not 404).

📖 Spec (GET /catalog/partners/{partnerId}/promotions/{promotionId}): https://developer.atlassian.com/platform/marketplace/rest/v1/api-group-promotions/#api-marketplace-catalog-partners-partnerid-promotions-promotionid-get

promotions_updateA

Update a promotion (PATCH — only supplied fields change).

📖 Spec (PATCH /catalog/partners/{partnerId}/promotions/{promotionId}): https://developer.atlassian.com/platform/marketplace/rest/v1/api-group-promotions/#api-marketplace-catalog-partners-partnerid-promotions-promotionid-patch

promotions_statusA

Get the status of a promotion (ACTIVE | ENDED_EARLY | EXPIRED).

📖 Spec (GET /catalog/partners/{partnerId}/promotions/{promotionId}/status): https://developer.atlassian.com/platform/marketplace/rest/v1/api-group-promotions/#api-marketplace-catalog-partners-partnerid-promotions-promotionid-status-get

promotions_codes_listA

List single-use codes for a SINGLE_USE_PROMOTION.

📖 Spec (GET /catalog/partners/{partnerId}/promotions/{promotionId}/codes): https://developer.atlassian.com/platform/marketplace/rest/v1/api-group-promotions/#api-marketplace-catalog-partners-partnerid-promotions-promotionid-codes-get

promotions_codes_createB

Generate a new single-use code for a promotion.

📖 Spec (POST /catalog/partners/{partnerId}/promotions/{promotionId}/codes): https://developer.atlassian.com/platform/marketplace/rest/v1/api-group-promotions/#api-marketplace-catalog-partners-partnerid-promotions-promotionid-codes-post

promotions_code_getA

Get one single-use code (including usage info if redeemed).

📖 Spec (GET /catalog/partners/{partnerId}/promotions/{promotionId}/codes/{promotionCode}): https://developer.atlassian.com/platform/marketplace/rest/v1/api-group-promotions/#api-marketplace-catalog-partners-partnerid-promotions-promotionid-codes-promotioncode-get

promotions_code_deleteC

Delete an unused single-use code.

📖 Spec (DELETE /catalog/partners/{partnerId}/promotions/{promotionId}/codes/{promotionCode}): https://developer.atlassian.com/platform/marketplace/rest/v1/api-group-promotions/#api-marketplace-catalog-partners-partnerid-promotions-promotionid-codes-promotioncode-delete

licenses_listA

List licenses for the developer space (paginated, offset/limit). Use 'text' to find a single license by SEN.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/licenses): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-licenses-get

licenses_export_syncA

Synchronous export of licenses. accept=csv (default) returns a CSV string; accept=json returns a JSON array. May 5xx on large ranges — prefer the async variant. Request timeout is bumped to 10 min (overridable via EXPORT_TIMEOUT_MS env).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/licenses/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-licenses-export-get

licenses_export_async_startA

Start an async license export job. Returns {export:{id}} to poll. accept=csv|json sets the format the eventual download will produce (the start response itself is always the id envelope).

📖 Spec (POST /rest/3/reporting/developer-space/{developerId}/licenses/async/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-licenses-async-export-post

licenses_export_async_statusB

Poll status of an async license export job.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/licenses/async/export/{exportId}/status): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-licenses-async-export-exportid-status-get

licenses_export_async_downloadA

Download a completed async license export. Returns the JSON array of license records. Request timeout is 10 min (overridable via EXPORT_TIMEOUT_MS env) so multi-MB downloads don't get aborted mid-stream. Only call this after the *_status endpoint reports DONE — otherwise you'll get a 404 'Export is being processed'.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/licenses/async/export/{exportId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-licenses-async-export-exportid-get

transactions_listA

List sales transactions for this vendor's apps (refunds appear inline as negative amounts). NOTE per Atlassian: this endpoint can return 5xx on large datasets — for full pulls, prefer transactions_export_async_start + status + download. Use 'text' to find by transactionId, licenseId, SEN, customer info, or partner info.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/transactions): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-transactions-get

transactions_export_syncA

Synchronous export of transactions. accept=csv (default) returns a CSV string; accept=json returns a JSON array. Prefer async for large ranges. Request timeout is 10 min (overridable via EXPORT_TIMEOUT_MS env).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/transactions/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-transactions-export-get

transactions_export_async_startA

Start an async transactions export job. Returns {export:{id}} to poll. accept=csv|json sets the eventual download format (start response is always the id envelope).

📖 Spec (POST /rest/3/reporting/developer-space/{developerId}/sales/transactions/async/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-transactions-async-export-post

transactions_export_async_statusA

Poll status of an async transactions export job.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/transactions/async/export/{exportId}/status): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-transactions-async-export-exportid-status-get

transactions_export_async_downloadA

Download a completed async transactions export. Returns the JSON array of transaction records. Request timeout is 10 min (overridable via EXPORT_TIMEOUT_MS env). Only call this after the *_status endpoint reports DONE — otherwise you'll get a 404 'Export is being processed'.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/transactions/async/export/{exportId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-transactions-async-export-exportid-get

transactions_aggregate_by_metricC

Aggregated sales grouped by a metric path segment. Maps to /sales/transactions/{metric}.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/transactions/{metric}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-transactions-metric-get

transactions_aggregate_by_hostingA

Friendly alias for transactions_aggregate_by_metric(metric='hosting'). HAL template hosting{?aggregation,startDate,endDate}. NOTE: productId is silently ignored on this specific endpoint (verified 2026-06-03) — use transactions_aggregate_by_metric with metric=hosting if you need productId scoping.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/transactions/{metric} — Friendly alias of transactions_aggregate_by_metric(metric='hosting')): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-transactions-metric-get

reporting_linksA

Get the reporting root — a HAL response that lists all available reporting links for this developer space.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-get

evaluations_by_metricA

Evaluation time-series grouped by a dimension. FLAT total.series[] (no datasets, no uniqueTotal) — one series per group value (e.g. country names for metric=country), each {name, elements:[{date,count}]} — plus per-app addons[]. Only aggregation/startDate/endDate filter (productId/hosting/addon are silently ignored on this endpoint).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/evaluations/{metric}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-evaluations-metric-get

feedback_detailsA

Raw customer feedback entries (uninstall/disable/unsubscribe events with reasons + free-text messages). Returns {_links:{self,query,next}, feedback:[{addonKey, addonVersion, applicationKey, applicationVersion, hosting, date, feedbackType, reasonKey, reason, message, fullName, appEntitlementId, appEntitlementNumber, productId}]}. _links.next paginates. Filter by type/reason/hosting/addon/productId/anonymous/text + date range. NOTE: contains customer PII (names, free-text comments).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/feedback/details): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-feedback-details-get

feedback_metrics_by_metricA

Feedback time-series grouped by a metric. FLAT total.series[] (no datasets, no uniqueTotal) — one series per group value, each {name, elements:[{date,count}]} — plus per-app addons[]. For metric=reason series are reasonKeys (bugs, merging, not-meeting-needs, other, project-based, sandbox, usefulness); for metric=type series are feedbackTypes (disable, uninstall, unsubscribe). Only aggregation/startDate/endDate filter (productId/hosting/addon are ignored).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/feedback/metrics/{metric}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-feedback-metrics-metric-get

customer_insights_regionsA

Geographic-region distribution of your customers' users, per month. Returns usersDistributionPerMonth[]: each {date, insightsType:[{value:{group:{region}, usersDistribution:{usersCount, usersPercent, usersMarketplaceBenchmark}}}]}. Regions seen: apac, emea, americas, unknown. usersPercent sums to ~100 per month; usersMarketplaceBenchmark is the ecosystem comparison. Only startDate/endDate filter (productId/hosting are ignored by this endpoint).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/customer-insights/regions): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-customer-insights-regions-get

customer_insights_editionsA

App-edition distribution of your customers' users, per month. Same shape as customer_insights_regions but grouped by edition ∈ {free, standard, premium, enterprise}. Each {date, insightsType:[{value:{group:{edition}, usersDistribution:{usersCount, usersPercent, usersMarketplaceBenchmark}}}]}. Only startDate/endDate filter (productId/hosting/product are ignored by this endpoint).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/customer-insights/editions): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-customer-insights-editions-get

customer_insights_tiersA

User-tier distribution of your customers, per month, split by HOST PRODUCT. Group has TWO keys: {product, tier} where product is the host app (Jira/Confluence/…) and tier ∈ {Evaluation, 1-10, 11-100, 101-1000, 1000+}. Each usersDistribution:{usersCount, usersPercent, usersMarketplaceBenchmark}. usersPercent sums to ~100% PER host product (so ~200% across two products). Filter to one host with product=Jira (NAME, case-insensitive — not a UUID). startDate/endDate also filter; productId/hosting are ignored.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/customer-insights/tiers): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-customer-insights-tiers-get

customer_insights_active_usersA

Paid-vs-non-paid active-user distribution across the customer base, per month. Group key activeUsers ∈ {paid, non-paid} (2 buckets, usersPercent sums to ~100). Each usersDistribution:{usersCount, usersPercent, usersMarketplaceBenchmark}. Only startDate/endDate filter (productId/hosting/product are ignored).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/customer-insights/active-users): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-customer-insights-active-users-get

metrics_churnA

Cloud churn TIME-SERIES (not a single rate). Returns total.datasets split by billing period (Monthly, Annual) with two series each: Customers (cohort denominator) and Cancellations (numerator), plus per-app breakdown in addons[]. Caller computes rate = Cancellations / Customers per bucket. Only 3 filters work (aggregation/startDate/endDate); productId/hosting/addon are silently ignored on this aggregate endpoint.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/metrics/churn): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-metrics-churn-get

metrics_churn_benchmarkA

Per-app monthly churn benchmark vs. ecosystem average. Returns churnBenchmarkPerApp[] where each entry has churnBenchmarkPerMonth[] rows: {year, month, churnedLicenses, totalLicenses, churnRate, isolatedChurnRate, churnRateBenchmark, isolatedChurnRateBenchmark}. The *Benchmark fields are normalized so 1.0 ≈ ecosystem average. Filter by addon (app key) or productId (UUID). Note: data has a ~2-3 month publication lag. Default (no filter) returns full history for all apps — large response (~60KB) triggers the truncation envelope. Use date range to narrow.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/metrics/churn/benchmark): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-metrics-churn-benchmark-get

metrics_conversionA

Cloud evaluation→paid conversion TIME-SERIES. Shape differs from churn/renewal: total.series[] is FLAT (no datasets[] billing-period split) with two series — Evaluations (denominator) and Conversions (numerator) — each a list of {date, count} elements. No uniqueTotal field. addons[] carry series directly. Caller computes conversion rate = Conversions / Evaluations per bucket. Only aggregation/startDate/endDate work; other filters silently ignored. Reversed or future-only ranges return empty series/addons.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/metrics/conversion): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-metrics-conversion-get

metrics_renewalA

Cloud renewal TIME-SERIES. total.datasets[] split by billing period (Annual, Monthly) — like churn — with two series each: Renewal opportunities (denominator) and Renewals (numerator). NOTE: unlike churn, renewal series have NO uniqueTotal field (each series is just {name, elements:[{date,count}]}). addons[] carry datasets. Caller computes renewal rate = Renewals / Renewal opportunities per bucket. Only aggregation/startDate/endDate work; other filters silently ignored. Reversed/future ranges return empty datasets+addons.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/metrics/renewal): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-metrics-renewal-get

metrics_details_by_metricA

License-event details underlying a sale metric. Returns events[] rows: {addonKey, addonName, hosting, lastUpdated, eventDate, transactionId, licenseDetails, productId}. Supports rich filters (addon, hosting, partnerType, text, sortBy, order, offset, limit). Server caps limit at 50.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/metrics/{saleMetric}/details): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-metrics-salemetric-details-get

metrics_details_exportA

Export of license-event details for a sale metric. accept=csv (default) returns the 17-column CSV (addonName,addonKey,hosting,lastUpdated,eventDate,transactionId,licenseId,maintenanceStartDate,maintenanceEndDate,monthsValid,appEntitlementId,appEntitlementNumber,cloudId,inGracePeriod,multiInstanceEntitlementId,multiInstanceEntitlementNumber,appEdition); accept=json returns a JSON array. Same filters as metrics_details_by_metric EXCEPT no offset/limit (full dump). 10-minute timeout (override via EXPORT_TIMEOUT_MS). Large exports spill to a tmp file via the truncation envelope.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/metrics/{saleMetric}/details/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-metrics-salemetric-details-export-get

benchmark_salesA

Sales benchmark vs. ecosystem, per month. Returns {total:{name, salesBenchmarkPerMonth:[…]}, addons:[{addonKey, name, productId, salesBenchmarkPerMonth}]}. Each month row: {date, sale, previousMonthSale, salesMoMGrowth, salesPercentile, salesMoMGrowthBenchmarkAllPartners, salesYTD, salesYTDLastYear, salesYTDYoYGrowth, salesYTDPercentile, salesYTDYoYGrowthBenchmarkAllPartners}. *Percentile is your rank vs all partners; *BenchmarkAllPartners is the ecosystem figure. Filter by addon (app key) or productId; hosting/aggregation are ignored.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/benchmark/sales): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-benchmark-sales-get

benchmark_evaluationsA

Evaluations benchmark vs. ecosystem, per month. Returns {totals:{name, evaluationBenchmarkPerVendorPerMonth:[…]}, addons:[{addonKey, name, productId, evaluationBenchmarkPerAppPerMonth}]}. NOTE the wrapper is totals (plural) and the per-month key differs between total level (…PerVendorPerMonth) and addon level (…PerAppPerMonth). Each month row: {date, evaluationCount, previousMonthEvaluationCount, evaluationMoMGrowth, evaluationPercentile, evaluationMoMGrowthBenchmarkAllPartners, evaluationCountYTD, evaluationCountYTDLastYear, evaluationYTDYoYGrowth, evaluationYTDPercentile, evaluationYTDYoYGrowthBenchmarkAllPartners}. Filter by addon/productId; hosting/aggregation ignored.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/benchmark/evaluations): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-benchmark-evaluations-get

marketing_attribution_export_async_startA

Start an async export of marketing-attribution data. Returns {export:{id}} — pass that id to marketing_attribution_export_async_status then _download. Filters: productId/addon/text/startDate/endDate (+ accept for the eventual download format). Export is param-deduped: identical params yield the same exportId.

📖 Spec (POST /rest/3/reporting/developer-space/{developerId}/marketing-attribution/async/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-marketing-attribution-async-export-post

marketing_attribution_export_async_statusA

Poll status of an async marketing-attribution export job. NOTE the generic /async/export/ path (shared, not prefixed).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/async/export/{exportId}/status): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-async-export-exportid-status-get

marketing_attribution_export_async_downloadA

Download a completed async marketing-attribution export. Returns JSON records. Request timeout is 10 min (overridable via EXPORT_TIMEOUT_MS env). Only call this after the *_status endpoint reports DONE — otherwise you'll get a 404 'Export is being processed'.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/async/export/{exportId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-async-export-exportid-get

app_requests_and_approvalsA

Marketplace 'request app' / 'approve app' activity, per month. Benchmark-style aggregate (NOT a paginated list): {total:{name, appRequestsAndApprovalsPerMonth:[{date, appRequests, appRequestsApproved, appRequestsApprovalRate}]}, addons:[{addonKey, name, productId, appRequestsAndApprovalsPerAppPerMonth}]}. Filter by addon (app key) or productId; hosting/pagination are silently ignored.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/app-requests-and-approvals): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-app-requests-and-approvals-get

reviews_listA

List customer reviews for an app. CURSOR-paginated (not offset). Returns {productId, reviews:[{id, content, stars, date, totalVotes, helpfulVotes, productHosting, isFlagged, authorName, transitionedToFiveStarRating}], cursor, count, averageStars} where count is the total review count, averageStars the overall rating, and cursor the token for the next page. Pass cursor back to page forward. NOTE: reviews contain author names + free-text (PII).

📖 Spec (GET /rest/3/products/{productId}/reviews): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reviews/#api-rest-3-products-productid-reviews-get

review_getA

Get a single review by ID.

📖 Spec (GET /rest/3/products/{productId}/reviews/{reviewId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reviews/#api-rest-3-products-productid-reviews-reviewid-get

review_response_putA

Post or update a vendor response to a review. PUBLIC IMPACT: response is visible to all Marketplace visitors.

📖 Spec (PUT /rest/3/products/{productId}/reviews/{reviewId}/response): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reviews/#api-rest-3-products-productid-reviews-reviewid-response-put

review_response_deleteB

Delete the vendor's response to a review. PUBLIC IMPACT: removes a publicly visible response.

📖 Spec (DELETE /rest/3/products/{productId}/reviews/{reviewId}/response): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reviews/#api-rest-3-products-productid-reviews-reviewid-response-delete

search_keywords_partnerA

Top search keywords across all the partner's apps (developer-space wide). Returns {total:{searchAppearances, topSearchKeyword}, addons:[{addonName, addonKey, productId, leadingSearchKeyword, searchAppearances, elements:[{date,count}]}]}. Filters: aggregation/startDate/endDate only (pagination/productId/hosting are ignored — it's an aggregate).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/search-keywords): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-search-keywords-get

search_keywords_partner_exportA

Export variant of partner-wide search keywords. With accept=json (default) returns the data INLINE as {_links:{self,query,export}, total, addons} (same payload as search_keywords_partner); with accept=csv returns a per-app CSV string. ⚠️ The advertised _links.export download URLs are BROKEN (Atlassian-side doubled /export/export path → 404, verified 2026-06-03) — use the inline data or accept=csv instead. Filters: aggregation/startDate/endDate.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/search-keywords/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-search-keywords-export-get

search_keywords_by_sourceA

Top search keywords for one source. Returns {details:[{searchKeyword, percentage}]} (flat keyword share, no time series). Filters: startDate/endDate (no aggregation; pagination ignored).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/search-keywords/source/{sourceKey}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-search-keywords-source-sourcekey-get

search_keywords_by_source_exportA

Export variant of source-filtered search keywords. UNLIKE the partner/by_app exports, this returns the FULL DATA directly as a JSON array of {searchKeyword, percentage} rows (up to 500), NOT HAL download links. Large responses spill to the truncation envelope.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/search-keywords/source/{sourceKey}/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-search-keywords-source-sourcekey-export-get

search_keywords_by_appA

Top search keywords for one app. Returns {summary:{addonName, addonKey, leadingSearchKeyword, …}, details:[{searchKeyword, keywordCount, elements:[{date,count}]}]}. productId is a PATH segment. Filters: aggregation/startDate/endDate (pagination/hosting ignored).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/products/{productId}/search-keywords): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-products-productid-search-keywords-get

search_keywords_by_app_exportA

Export variant of per-app search keywords. Returns the data INLINE as {_links:{self,query,export}, summary, details} — same payload as search_keywords_by_app. ⚠️ The advertised _links.export CSV/JSON download URLs are BROKEN (Atlassian-side doubled /export/export path → 404, verified 2026-06-03); use the inline summary/details directly. productId is a path segment.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/products/{productId}/search-keywords/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-products-productid-search-keywords-export-get

zero_search_results_keywordsA

Keywords that produced ZERO search results, for one source — SEO gap analysis. Returns {details:[{searchKeyword, count}]} (count = how many times the no-result search happened). Filters: startDate/endDate (no aggregation; pagination ignored).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/zero-search-results-keywords/source/{sourceKey}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-zero-search-results-keywords-source-sourcekey-get

zero_search_results_keywords_exportA

Export variant of zero-result keywords. Returns the FULL DATA directly as a JSON array of {searchKeyword, count} rows (up to 500), NOT HAL download links (same as the by_source export). Large responses spill to the truncation envelope.

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/zero-search-results-keywords/source/{sourceKey}/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-zero-search-results-keywords-source-sourcekey-export-get

free_starter_tier_exportA

Export Cloud free-starter-tier entitlements (free users on your apps) as of a single date. Returns JSON array of {day, licenseId, appEntitlementId, entitlementNumber, parentEdition, dateOfEvaluation, parentUnitCount, technicalEmail, vendorId, addonName, addonKey, productId} by default; pass accept=csv for CSV. QUIRKS (Atlassian-side, verified 2026-06-03): (1) takes a SINGLE date snapshot — NOT a startDate/endDate range (ranges are silently ignored, yielding a future-dated default). (2) The CSV format OMITS the productId column that JSON includes (11 cols vs 12 keys). (3) A valid-shaped but non-existent productId returns HTTP 500 (not an empty result).

📖 Spec (GET /rest/3/reporting/developer-space/{developerId}/sales/freeStarterTier/export): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-developer-space-developerid-sales-freestartertier-export-get

app_listing_getA

Get Marketplace product listing metadata for one app. Returns {productId, appKey, developerId, appName, summary, tagLine, images, tags, communityEnabled, developerLinks, thirdPartyIntegrations, state, approvalStatus, approvalDetails, slug, cloudComplianceBoundary, hostingVisibility, marketingLabels, revision, …}. Unknown productId → HTTP 404.

📖 Spec (GET /rest/3/product-listing/{productId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-listing/#api-rest-3-product-listing-productid-get

app_listing_updateA

Update Marketplace product listing metadata. PUBLIC IMPACT: changes appear on the app's marketplace page after approval. PUT semantics — body should be a full listing object.

📖 Spec (PUT /rest/3/product-listing/{productId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-listing/#api-rest-3-product-listing-productid-put

app_software_get_by_appkeyA

Look up app-software (the technical artifact behind a product listing) by its appKey. Returns an ARRAY of {appSoftwareId, hosting, complianceBoundaries, archived} — one entry per hosting platform the app supports. complianceBoundaries is a Cloud-only concept (an array like ["commercial"] for cloud, null for server/datacenter). Use hosting to narrow to a single entry.

📖 Spec (GET /rest/3/app-software/app-key/{appKey}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-software/#api-rest-3-app-software-app-key-appkey-get

app_software_versions_listA

List versions for an app-software. Returns {links, versions:[{buildNumber, versionNumber, compatibilities, supportedPaymentModel, frameworkDetails, licenseType, ...}], totalCount}. CURSOR-paginated (limit+cursor from links.next) — offset is NOT supported (silently ignored).

📖 Spec (GET /rest/3/app-software/{appSoftwareId}/versions): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-software/#api-rest-3-app-software-appsoftwareid-versions-get

app_software_version_createC

Create a new version for an app-software. PUBLIC IMPACT (eventually): once a version is approved and listing is published, customers can install it.

📖 Spec (POST /rest/3/app-software/{appSoftwareId}/versions): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-software/#api-rest-3-app-software-appsoftwareid-versions-post

app_software_version_getA

Get one version of an app-software by build number.

📖 Spec (GET /rest/3/app-software/{appSoftwareId}/versions/{buildNumber}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-software/#api-rest-3-app-software-appsoftwareid-versions-buildnumber-get

app_software_version_updateC

Update one version of an app-software (PUT — full replace).

📖 Spec (PUT /rest/3/app-software/{appSoftwareId}/versions/{buildNumber}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-software/#api-rest-3-app-software-appsoftwareid-versions-buildnumber-put

app_software_tokens_listB

List API access tokens minted for this app-software. Returns {tokens:[{token, cloudId, instance}]} — each token maps to one Cloud install. CREDENTIAL-ADJACENT: exposes token identifiers + the customer cloud sites they belong to.

📖 Spec (GET /rest/3/app-software/{id}/tokens): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-software/#api-rest-3-app-software-id-tokens-get

app_software_token_createA

Create a new access token for this app-software. CREDENTIAL: the returned token must be stored securely — Atlassian will not show it again.

📖 Spec (POST /rest/3/app-software/{id}/tokens): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-software/#api-rest-3-app-software-id-tokens-post

app_version_listings_list_allA

List version-listings for an app-software (per-version published metadata: screenshots, highlights, moreDetails, youtubeId, developerLinks, approvalStatus, state, buildNumber, revision). Returns {links, versions:[…]}. Despite the name, it's CURSOR-paginated (default 10/page; pass cursor from links.next). Filter by state (PRIVATE/PUBLIC) and approvalStatus (both verified to narrow at the payload level; an unknown value returns an empty list, not an error).

📖 Spec (GET /rest/3/app-software/{appSoftwareId}/listings/all): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-version-listing/#api-rest-3-app-software-appsoftwareid-listings-all-get

app_version_listing_getB

Get the version-listing for a specific build number.

📖 Spec (GET /rest/3/app-software/{appSoftwareId}/versions/{buildNumber}/listing): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-version-listing/#api-rest-3-app-software-appsoftwareid-versions-buildnumber-listing-get

app_version_listing_createA

Create a new version-listing for a specific build. PUBLIC IMPACT (after approval): publishes a new app version to the Marketplace.

📖 Spec (POST /rest/3/app-software/{appSoftwareId}/versions/{buildNumber}/listing): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-version-listing/#api-rest-3-app-software-appsoftwareid-versions-buildnumber-listing-post

app_version_listing_updateC

Update an existing version-listing (PUT — full replace). PUBLIC IMPACT: changes the customer-facing version metadata after approval.

📖 Spec (PUT /rest/3/app-software/{appSoftwareId}/versions/{buildNumber}/listing): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-app-version-listing/#api-rest-3-app-software-appsoftwareid-versions-buildnumber-listing-put

privacy_security_getA

Get privacy & security information for an app (used by enterprise procurement reviewers). Returns {commonCloud:{dataAccessAndStorage, logDetails, dataResidency, privacy, security, properties, hasRestAPIExtension, supportsConfigurableEgress}}. state=live (default) returns the published version; state=draft the unpublished draft (404 if none exists). Invalid state → HTTP 400.

📖 Spec (GET /rest/3/privacy-and-security/products/{productId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-privacy-and-security/#api-rest-3-privacy-and-security-products-productid-get

privacy_security_draft_putA

Create or update the draft privacy-and-security information (not yet public). PUT — full replace.

📖 Spec (PUT /rest/3/privacy-and-security/products/{productId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-privacy-and-security/#api-rest-3-privacy-and-security-products-productid-put

privacy_security_draft_deleteA

Delete the draft privacy-and-security info (the currently published version is unaffected).

📖 Spec (DELETE /rest/3/privacy-and-security/products/{productId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-privacy-and-security/#api-rest-3-privacy-and-security-products-productid-delete

privacy_security_publishA

Publish the current draft privacy-and-security info. PUBLIC IMPACT: this version becomes visible to all Marketplace visitors and procurement reviewers.

📖 Spec (POST /rest/3/privacy-and-security/products/{productId}/publish): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-privacy-and-security/#api-rest-3-privacy-and-security-products-productid-publish-post

cloud_migration_compat_getA

Get DC-to-Cloud migration compatibility info for an app. Returns {developerId, productId, addonKey, addonName, cloudMigrationAssistantCompatibility, migrationPath, isDualLicenseOptedIn}. NOTE: returns HTTP 404 (surfaced as an error) for apps that have no migration-compatibility record configured — not every app has one. No query params; productId is a path segment.

📖 Spec (GET /rest/3/cloud-migration-compatibility/products/{productId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-migrations/#api-rest-3-cloud-migration-compatibility-products-productid-get

cloud_migration_compat_createA

Create cloud-migration compatibility info for an app. PUT semantics — body is the full document.

📖 Spec (PUT /rest/3/cloud-migration-compatibility/products/{productId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-migrations/#api-rest-3-cloud-migration-compatibility-products-productid-put

cloud_migration_compat_updateB

Patch cloud-migration compatibility info (partial update).

📖 Spec (PATCH /rest/3/cloud-migration-compatibility/products/{productId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-migrations/#api-rest-3-cloud-migration-compatibility-products-productid-patch

parent_software_listA

List parent software (the Atlassian products your apps target — Jira, Confluence, Bitbucket, etc.). Returns {links, parentSoftware:[…]}. CURSOR-paginated (limit+cursor from links.next); the default page returns all ~23 products.

📖 Spec (GET /rest/3/parent-software): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-parent-software/#api-rest-3-parent-software-get

parent_software_getA

Get one parent software (Atlassian product) by ID (e.g. jira, confluence). Returns {id, developerId:'Atlassian', name, hostingOptions:[{hosting}], extensibilityFrameworks, state, revision}. Nonexistent id → HTTP 404.

📖 Spec (GET /rest/3/parent-software/{parentSoftwareId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-parent-software/#api-rest-3-parent-software-parentsoftwareid-get

parent_software_versions_listA

List known versions of a parent software (e.g. Jira versions Atlassian has published). CURSOR-paginated (limit+cursor from links.next).

📖 Spec (GET /rest/3/parent-software/{parentSoftwareId}/versions): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-parent-software/#api-rest-3-parent-software-parentsoftwareid-versions-get

parent_software_version_by_buildA

Get a parent-software version by its build number (path /versions/build/{buildNumber}). Returns {buildNumber, versionNumber, hosting:[…], state, revision, createdAt}. Unknown build → HTTP 404.

📖 Spec (GET /rest/3/parent-software/{parentSoftwareId}/versions/build/{buildNumber}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-parent-software/#api-rest-3-parent-software-parentsoftwareid-versions-build-buildnumber-get

parent_software_version_by_numberA

Get a parent-software version by its human-readable version number (path /versions/number/{versionNumber}, e.g. '11.3.8'). Same record shape as version_by_build ({buildNumber, versionNumber, hosting, state, revision, createdAt}). Unknown version → HTTP 404.

📖 Spec (GET /rest/3/parent-software/{id}/versions/number/{versionNumber}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-parent-software/#api-rest-3-parent-software-id-versions-number-versionnumber-get

developer_space_by_vendorA

Resolve a developerId from a vendorId (legacy mapping).

📖 Spec (GET /rest/3/developer-space/vendor/{vendorId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-developer-space/#api-rest-3-developer-space-vendor-vendorid-get

developer_space_getA

Get developer space profile by developerId. Returns {id, vendorId, name, status, type, organisationId, version}. Defaults to MARKETPLACE_DEVELOPER_ID. Unknown/malformed id → HTTP 400.

📖 Spec (GET /rest/3/developer-space/{developerId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-developer-space/#api-rest-3-developer-space-developerid-get

developer_space_catalog_accountA

Get the catalog-account ID for a developer space (used by some downstream services).

📖 Spec (GET /rest/3/developer-space/{developerId}/catalog-account): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-developer-space/#api-rest-3-developer-space-developerid-catalog-account-get

developer_space_listingsA

Get the developer-profile listing documents (developer profile copy, web metadata, etc.). Returns a bare ARRAY of listing objects (not an envelope). NOT the product apps — use apps_list for those.

📖 Spec (GET /rest/3/developer-space/{developerId}/listings): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-developer-space/#api-rest-3-developer-space-developerid-listings-get

developer_space_members_listA

List team members in the developer space. Returns {members:[{aaid, roles, categories, email, userName}], next}. CURSOR-paginated, but with a NON-STANDARD shape (unlike the links.next URL used by other list tools): next is a BARE opaque cursor token (or absent on the last page) — pass its value straight back as the cursor param to get the following page. Page size via limit (default 10, max 50).

📖 Spec (GET /rest/3/developer-space/{developerId}/members?limit={limit}&cursor={cursor}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-developer-space/#api-rest-3-developer-space-developerid-members-limit-limit-cursor-cursor-get

developer_space_member_getA

Get one developer-space team member by Atlassian account id (aaid). Returns {aaid, roles, categories, email, userName} — contains PII (email, userName). Unknown aaid → HTTP 400.

📖 Spec (GET /rest/3/developer-space/{developerId}/members/{aaid}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-developer-space/#api-rest-3-developer-space-developerid-members-aaid-get

developer_space_member_addA

Add a user to the developer space. AFFECTS OTHERS: grants console access to this user.

📖 Spec (POST /rest/3/developer-space/{developerId}/members/{aaid}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-developer-space/#api-rest-3-developer-space-developerid-members-aaid-post

developer_space_member_updateB

Update a developer-space team member (PUT — full replace).

📖 Spec (PUT /rest/3/developer-space/{developerId}/members/{aaid}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-developer-space/#api-rest-3-developer-space-developerid-members-aaid-put

developer_space_member_removeB

Remove a user from the developer space. AFFECTS OTHERS: revokes their console access.

📖 Spec (DELETE /rest/3/developer-space/{developerId}/members/{aaid}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-developer-space/#api-rest-3-developer-space-developerid-members-aaid-delete

partner_metrics_fetchA

Fetch partner-metric time series (POST). The body shape is ReportingMetricTimeSeriesRequestBody: {metrics:{metricSets:[…], metricFields:[…]}, dateRange:{startDate, endDate}, granularity:'YEAR'|'MONTH'|'WEEK'|'DAY', attributes?, sortByList?, attributeFilter?}. IMPORTANT: metrics is an OBJECT (not an array) and metricSets/metricFields are arrays of OBJECTS; dateRange uses startDate/endDate (not start/end). A wrong shape returns HTTP 400 with a JSON-parse error message. limit/offset are query params for paging the result rows.

📖 Spec (POST /rest/3/partner-metrics/developer-space/{developerId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-partner-metrics-developer-space-developerid-post

product_catalog_latestA

Get a presigned S3 URL for the latest public Marketplace app-catalog snapshot. Response shape: {date, presignedUrl, expiresInSeconds}. The presignedUrl points to a LARGE CSV file (~150 MB, Content-Type binary/octet-stream — NOT JSON), one row per published app with columns like: is_beta, summary, tag_line, is_connect, product_id, released_at, vendor_name, is_supported, review_score, average_stars, install_count, download_count, version_number, version_status, publicly_visible, number_of_reviews, category_name_list, marketplace_app_key, app_software_hosting. This is the whole public app marketplace (all vendors' apps), NOT your own apps or Atlassian's product/pricing structure. presignedUrl expires in ~300s — download promptly.

📖 Spec (GET /rest/3/reporting/product-catalog/latest): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-reporting/#api-rest-3-reporting-product-catalog-latest-get

artifact_fetch_from_urlA

Have Atlassian fetch an artifact from a public URL and store it. Returns {fileInfo, _links, details} — the stored artifact's id/download link live under _links/fileInfo. NOTE: the API field is uri (not url); this tool accepts url and maps it to uri for you.

📖 Spec (POST /rest/3/artifacts/fetch): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-assets/#api-rest-3-artifacts-fetch-post

artifact_getC

Get artifact metadata (name, size, content type, download URL).

📖 Spec (GET /rest/3/artifacts/{artifactId}): https://developer.atlassian.com/platform/marketplace/rest/v4/api-group-assets/#api-rest-3-artifacts-artifactid-get

Prompts

Interactive templates invoked by user choice

NameDescription
monthly_kpi_summaryGenerate a monthly KPI summary across sales, churn, evaluations, and customer insights.
draft_review_responseDraft a professional vendor response to a Marketplace review.
customer_lookupLook up everything we know about a customer, given any identifier: SEN, Cloud appEntitlementNumber (E-...), appEntitlementId (UUID), cloudId, cloudSiteHostname, email, or organization name.
promo_for_customerCreate a single-use promo code for a specific customer with sensible defaults.

Resources

Contextual data attached and managed by the client

NameDescription
apps-listAll apps in this developer space (productId, appKey, appName, state). Live, 5-minute cached.
apps-knownFriendly-name → productId map loaded from PRODUCT_ID_* env vars. Static, no API call.
vendor-profileDeveloper-space profile: developerId, partnerId, contact info, address. Pulled live.

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/rustem-shiriiazdanov/atlassian-marketplace-mcp'

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