Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
pc_list_scenariosA

List every Partner Center REST operation this server knows about, as a compact index of id, title, area, method, resolved url, and auth type. Start here to discover what is available and to find the scenario id that the other tools take; then call pc_get_scenario for the full record or pc_generate_call for code. This is a catalogue of documented operations, not a query against a live tenant — it returns no customer data. Read-only, offline, deterministic. Filtering by an area with no entries returns an empty list rather than an error.

pc_get_scenarioA

Return the complete verified record for one Partner Center REST operation: method, path, auth type, required headers, request and response shapes, per-field notes, working curl/C#/TypeScript examples, gotchas, and the doc link. Use this once you know the scenario id — get one from pc_list_scenarios, a pc_plan_* workflow, or pc_lookup_error. For runnable code in a specific language prefer pc_generate_call; for a request body skeleton prefer pc_build_request. Read-only. Offline and deterministic unless enrich is set, which adds a live Microsoft Learn fetch. An unknown id returns ok:false with suggestions listing close or valid ids.

pc_search_docsA

Search the live Microsoft Learn Partner Center developer documentation and return matching excerpts. Use this as the fallback when the curated pack has no answer: try pc_list_scenarios / pc_get_scenario / pc_lookup_error first, since those are verified and offline. Reaches the public internet, so results are not deterministic and the call can be slow or come back empty with a note when the fetch fails. Read-only and safe to retry; no Partner Center credentials are involved. Returns { excerpts[] with title/url/text, note }.

pc_auth_guidanceA

Return how to authenticate against Partner Center for a given token flavour and national cloud: the token resource and authority to use, the ordered steps of the flow, Secure Application Model and MFA requirements, and what is deprecated. Use this when deciding or setting up how to get a token. To check whether existing code already uses a retired pattern, use pc_check_auth instead; to decode a 401/403 you already hit, use pc_decode_error. Read-only, offline, deterministic. Returns guidance only — it issues no tokens, contacts no identity provider, and handles no secrets.

pc_check_authA

Scan a Partner Center auth or client code snippet for retired and deprecated patterns — the graph.windows.net token audience, ADAL, the archived .NET SDK, and the AzureAD/MSOnline PowerShell modules — and return the severity, explanation, fix, and doc link for each hit. Use this to triage existing code before or after a 401. For guidance on what to build instead, use pc_auth_guidance; to translate archived SDK calls into REST, use pc_migrate_from_sdk. Read-only, offline, deterministic pattern matching: the snippet is not executed, nothing is sent anywhere, and no code is modified. A clean snippet returns findings: [] with clean: true. Detection is regex-based, so a clean result is not a guarantee of correctness.

pc_generate_callA

Emit ready-to-adapt code for one Partner Center scenario in the language you ask for, plus the Secure Application Model token exchange, 429 retry, 202 polling, and pagination boilerplate. Use this when you want code. For a structured method/url/headers/body object to send yourself, use pc_build_request; for the underlying facts and gotchas, use pc_get_scenario. Only current REST is emitted — never the archived .NET SDK. Read-only, offline, deterministic: the code is returned as text and is never executed, and the placeholder credentials it contains are read from environment variables at your end. An unknown id returns ok:false with suggestions listing every valid id.

pc_migrate_from_sdkA

Find the archived Partner Center .NET SDK calls in a snippet and map each one to the current REST scenario that replaces it, with migration notes. Use this to port code off the SDK, which was archived in June 2023. Run pc_check_auth alongside it to catch retired auth in the same snippet, then pass each returned scenario id to pc_generate_call to emit the replacement code. Read-only, offline, deterministic pattern matching: the snippet is not executed and nothing is rewritten in place — you get the mapping, not modified code. Always returns ok:true; when nothing matched, matches is empty and unmatched is true.

pc_lookup_errorA

Look up a Partner Center error by its numeric code or HTTP status and return what it means, its known causes, the remediation, the doc link, and the scenarios where it usually appears. Use this when you already have a clean code. If you have a raw error response, pc_decode_error is better — it extracts the code and correlation id for you first. For a symptom described in prose with no code at all, use pc_diagnose. Read-only, offline, deterministic. Exactly one of code or httpStatus must be supplied; supplying neither returns ok:false. An unknown code returns ok:false with suggestions listing every code in the pack.

pc_diagnoseA

Match a Partner Center problem described in plain language against the documented errors and return the likely candidates plus an ordered fix path. Use this when you have no error body and no code — just a description of what is going wrong. If you have the raw response use pc_decode_error, and if you have a clean code use pc_lookup_error; both are far more precise than this. Read-only, offline, deterministic keyword matching, so the candidate list is a heuristic shortlist and can be empty or noisy. Always returns ok:true; nextSteps is a fixed checklist and is returned even when nothing matched.

pc_get_referenceA

Return the cross-cutting facts that apply to every Partner Center call rather than to one operation: base URLs, required headers, API versioning, the sandbox account, rate limits, and national cloud differences. Use this for questions about the API as a whole. For a specific endpoint use pc_get_scenario, and for authentication specifics use pc_auth_guidance. Read-only, offline, deterministic. topic is required and the payload shape differs per topic.

pc_validate_requestA

Check a Partner Center REST request you have already written against the documented operations and report what is wrong: unrecognised or mismatched method and path, missing Authorization or MS-RequestId, a retired token audience, app-only used where it is not supported, and sovereign-cloud host mismatches. Use this to catch mistakes before sending, or to explain a call that is failing. To build a correct request from scratch instead, use pc_build_request; to decode a response you already received, use pc_decode_error. Read-only, offline, deterministic: the request is analysed statically and never sent, so pass placeholder tokens rather than real ones. Findings are limited to what the bundled pack covers, so an empty list means no known problem — not a guarantee the call will succeed.

pc_plan_purchaseA

Return the ordered end-to-end New Commerce purchase workflow — find the product, get a fresh SKU availability, build the cart, check out, resolve the provisioned subscriptions — with the exact operation, resolved URL, and key gotchas for each step. Use this to buy new subscriptions for a customer. To move existing subscriptions between partners use pc_plan_transfer, and to link the customer to your account first use pc_plan_csp_onboarding. Planning only: nothing is executed, no Partner Center credentials are used, and no network call is made — it is a lookup over the bundled scenario pack. Returns { goal, steps[] with order/scenarioId/method/path/url/authType/why/keyGotchas/docUrl, notes[] }. Pass any step's scenarioId to pc_generate_call for runnable code.

pc_get_enumsA

Return the accepted values for a Partner Center enum, each with a note on what it means — billingCycle, termDuration, targetView, segment, transitionType, subscriptionStatus, qualification, agreementType, billingType, provisioningStatus and more. Use this before sending a request body so you send a value the API will accept, rather than guessing a plausible-looking string. For the fields of a whole resource use pc_get_resource; for a pre-filled body skeleton use pc_build_request. Read-only, offline, deterministic. Omitting name returns the index of every enum instead of one enum's values. An unknown name returns ok:false with suggestions listing all valid enum names.

pc_whats_newA

List the Partner Center API deprecations and retirement deadlines — MFA enforcement, the graph.windows.net retirement, DAP to GDAP, v1 to v2 reconciliation, and the SDK/ADAL/AzureAD retirements — each with its date, impact, and the action to take, newest deadline first. Use this before committing to an endpoint or auth mechanism, and to explain why something that used to work has stopped. To check whether specific code is affected, run pc_check_auth on it. Read-only, offline, deterministic — sourced from the bundled pack, so it is only as current as the pack's last refresh rather than a live feed.

pc_get_resourceA

Return the field dictionary for a Partner Center resource — Customer, Subscription, Order, Invoice, CartLineItem and others — listing each field's name, type, and usage note. Use this to understand a payload you received or to work out what a request body needs. For the accepted values of an individual field use pc_get_enums, and for a ready-to-fill body skeleton for a specific operation use pc_build_request. Read-only, offline, deterministic. Omitting name returns the index of every resource instead of one resource's fields. An unknown name returns ok:false with suggestions listing all valid resource names.

pc_explain_lifecycleA

Return the subscription lifecycle state machine: which operations (increase-seats, decrease-seats, upgrade, cancel, renew-change, suspend, reactivate, migrate, transfer) are legal from which state, the field to read off the live subscription before attempting each one, the scenario that performs it, and the error codes a failed precondition returns. Use this to answer "what can I do to this subscription right now" before reaching for an endpoint. For the endpoint itself use pc_get_scenario, for an ordered call sequence use pc_plan_subscription_change, and to decode a rejection use pc_lookup_error. Read-only, offline, deterministic. Omit operation for the whole machine.

pc_build_requestA

Assemble one Partner Center REST request as structured data: the resolved URL with your params substituted into the path placeholders, concrete headers (Bearer plus a freshly generated MS-RequestId on writes), and a request-body skeleton derived from the operation's documented fields. Use this when you want an object to send from your own client. For a language-specific code snippet use pc_generate_call instead, and to lint a request you already wrote use pc_validate_request. Read-only and offline: the request is constructed and handed back, never sent, and the Authorization header is a <access-token> placeholder — no credentials are read or required. Not idempotent in one respect: a random MS-RequestId is minted on each call for write operations, so reuse the returned value across retries rather than calling again. Unsupplied placeholders are reported in missingParams rather than failing, and an unknown id returns ok:false with suggestions.

pc_decode_errorA

Take a raw Partner Center error response and decode it: extract the error code, HTTP status, and MS-CorrelationId, then return the documented causes, remediation, likely scenarios, and the exact wording to quote in a support request. This is the right first tool when something failed and you have the response in hand. Use pc_lookup_error instead when you have already isolated a clean code, and pc_diagnose when you only have a prose description with no response body. Read-only, offline, deterministic parsing — the input is never sent anywhere and no request is replayed. Always returns ok:true: an unrecognised code still yields the parsed fields, status-based candidates, and a note on what to try next.

pc_plan_transferA

Return the ordered New Commerce transfer (billing-ownership change) workflow: create the transfer, poll it, verify the moved subscriptions. Use this when a customer is moving to a new partner of record. For a first-time customer link-up use pc_plan_csp_onboarding instead, and for buying new subscriptions use pc_plan_purchase. Planning only: nothing is executed, no Partner Center credentials are used, and no network call is made — it is a lookup over the bundled scenario pack. Returns { goal, steps[] with order/scenarioId/method/path/url/authType/why/keyGotchas/docUrl, notes[] }. Pass any step's scenarioId to pc_generate_call for runnable code, or pc_get_scenario for its full record.

pc_plan_gdap_onboardingA

Return the ordered GDAP onboarding workflow — create the relationship, lock it for customer approval, poll until active, then bind access assignments. Use this when you need granular delegated admin rights over a customer tenant. Note these steps are Microsoft Graph calls, not Partner Center ones; for the commercial relationship (invitation + agreement) use pc_plan_csp_onboarding, which is the usual prerequisite. Planning only: nothing is executed, no Partner Center credentials are used, and no network call is made — it is a lookup over the bundled scenario pack. Returns { goal, steps[] with order/scenarioId/method/path/url/authType/why/keyGotchas/docUrl, notes[] }. Pass any step's scenarioId to pc_generate_call for runnable code, or pc_get_scenario for its full record.

pc_plan_reconciliationA

Return the ordered invoice reconciliation workflow for a billing period: locate the invoice, read its totals, pull billed and unbilled line items, download the statement. Use this for billing and revenue reconciliation. Note the v1 line-item endpoints are being retired in favour of async Graph v2 exports — call pc_whats_new for the cutoff dates before building on them. Planning only: nothing is executed, no Partner Center credentials are used, and no network call is made — it is a lookup over the bundled scenario pack. Returns { goal, steps[] with order/scenarioId/method/path/url/authType/why/keyGotchas/docUrl, notes[] }. Pass any step's scenarioId to pc_generate_call for runnable code, or pc_get_scenario for its full record.

pc_plan_csp_onboardingA

Return the ordered CSP customer onboarding workflow: send the reseller relationship invitation, confirm the customer accepted it, record the Microsoft Customer Agreement, then read their subscriptions. Use this to link an existing tenant to your CSP account before you can transact for them. For admin access on top of the relationship use pc_plan_gdap_onboarding; to move an already-linked customer between partners use pc_plan_transfer. Planning only: nothing is executed, no Partner Center credentials are used, and no network call is made — it is a lookup over the bundled scenario pack. Returns { goal, steps[] with order/scenarioId/method/path/url/authType/why/keyGotchas/docUrl, notes[] }. Pass any step's scenarioId to pc_generate_call for runnable code, or pc_get_scenario for its full record.

pc_plan_user_onboardingA

Return the ordered workflow for onboarding a user inside a customer tenant: pick available SKUs, create the account, assign licenses, grant directory roles, verify. Use this for people-level provisioning. It is unrelated to buying subscriptions — for that use pc_plan_purchase — and the reverse direction is pc_plan_user_offboarding. Planning only: nothing is executed, no Partner Center credentials are used, and no network call is made — it is a lookup over the bundled scenario pack. Returns { goal, steps[] with order/scenarioId/method/path/url/authType/why/keyGotchas/docUrl, notes[] }. Pass any step's scenarioId to pc_generate_call for runnable code, or pc_get_scenario for its full record.

pc_plan_user_offboardingA

Return the ordered workflow for removing a user from a customer tenant in the safe order: read their licenses, reclaim the seats, strip directory roles, then delete the account. Use this to decommission a person without stranding licenses. The inverse is pc_plan_user_onboarding; cancelling the subscriptions themselves is a different concern. Planning only: nothing is executed, no Partner Center credentials are used, and no network call is made — it is a lookup over the bundled scenario pack. Returns { goal, steps[] with order/scenarioId/method/path/url/authType/why/keyGotchas/docUrl, notes[] }. Pass any step's scenarioId to pc_generate_call for runnable code, or pc_get_scenario for its full record.

pc_plan_subscription_changeA

Return the ordered call sequence for one subscription lifecycle change: increase-seats, decrease-seats, upgrade, cancel, renew-change, suspend, reactivate, migrate or transfer. Each plan reads the subscription first, states the precondition that decides whether the change is legal, performs it, and confirms it. Use pc_explain_lifecycle to find out WHICH operation is available; use this to find out HOW to run it. For a new purchase use pc_plan_purchase, and for the order side use pc_plan_order_lifecycle. Planning only: nothing is executed, no Partner Center credentials are used, and no network call is made — it is a lookup over the bundled scenario pack. Returns { goal, steps[] with order/scenarioId/method/path/url/authType/why/keyGotchas/docUrl, notes[] }. Pass any step's scenarioId to pc_generate_call for runnable code, or pc_get_scenario for its full record.

pc_plan_order_lifecycleA

Return the ordered workflow that takes a purchase from cart to confirmed, provisioned subscriptions: build the cart, check out, poll the order's provisioning status, resolve the subscriptions it created, and confirm each one provisioned. Use this when a purchase has to be verified rather than assumed. For choosing WHAT to buy use pc_plan_purchase; for changing a subscription afterwards use pc_plan_subscription_change. Planning only: nothing is executed, no Partner Center credentials are used, and no network call is made — it is a lookup over the bundled scenario pack. Returns { goal, steps[] with order/scenarioId/method/path/url/authType/why/keyGotchas/docUrl, notes[] }. Pass any step's scenarioId to pc_generate_call for runnable code, or pc_get_scenario for its full record.

Prompts

Interactive templates invoked by user choice

NameDescription
migrate-sdkTranslate archived Partner Center .NET SDK code into current REST calls.
diagnose-issueMap an error code or symptom to causes, fixes, and relevant scenarios.
plan-purchaseLay out the end-to-end NCE purchase workflow for a customer.

Resources

Contextual data attached and managed by the client

NameDescription
pc-scenariosAll Partner Center REST scenarios
pc-errorsPartner Center error codes
pc-authAuthentication guidance and deprecations
pc-referenceBase URLs, headers, versioning, clouds
pc-sdk-mapArchived .NET SDK -> REST mappings
pc-enumsPartner Center enum values
pc-deprecationsDeprecations & deadlines
pc-resourcesResource field dictionary
pc-lifecycleSubscription lifecycle state machine
verify-mpnVerify a partner by MPN id
list-customersGet a list of customers
create-customerCreate a customer
get-customer-by-idGet a customer by ID
delete-customer-sandboxDelete a customer from the integration sandbox
create-userCreate a user account for a customer
get-customer-usersGet all user accounts for a customer
assign-licensesAssign licenses to a user
get-productsGet a list of products
get-sku-availabilitiesGet a list of availabilities for a SKU
create-cartCreate a cart
checkout-cartCheck out a cart
get-order-by-idGet an order by ID
list-customer-ordersGet all of a customer's orders
list-customer-subscriptionsList a customer's subscriptions
get-subscription-by-idGet a subscription by ID
update-subscriptionUpdate a subscription (quantity, status, autorenew)
get-subscriptions-by-orderGet a list of subscriptions by order
migrate-to-new-commerceMigrate a legacy subscription to New Commerce (NCE)
get-invoicesGet a collection of invoices
get-invoice-by-idGet an invoice by ID
get-azure-utilizationGet a customer's Azure utilization records
get-partner-balanceGet the partner's current account balance
validate-addressValidate an address
check-domain-availabilityVerify domain availability
get-audit-recordsGet a record of Partner Center activity
list-service-requestsGet all service requests for a customer
get-mfa-statusGet per-request MFA compliance for App+User API calls
get-customer-analyticsGet customer licenses usage information
create-transferCreate a New Commerce transfer (billing ownership)
get-transferGet a transfer by ID
get-reservation-ordersGet a customer's Azure reservations (entitlements)
get-agreementsGet customer agreements (MCA confirmation)
get-azure-rate-cardGet the Azure rate card (real-time prices)
get-gdap-relationshipsList GDAP delegated admin relationships (Microsoft Graph)
get-subscription-transition-eligibilitiesGet eligible subscription transitions (NCE)
create-subscription-transitionCreate a subscription transition (NCE upgrade / trial-to-paid)
create-azure-plan-upgradeUpgrade a customer to the Azure plan
get-invoice-billed-lineitemsGet invoice billed reconciliation line items
get-invoice-unbilled-lineitemsGet unbilled reconciliation line items
get-invoice-statementDownload an invoice statement (PDF)
get-promotionsGet available offer promotions
get-promotion-by-idGet a promotion by ID
get-product-by-idGet a product by ID
get-sku-by-idGet a SKU by ID
create-agreementConfirm customer acceptance of the MCA (create agreement)
get-agreement-template-documentGet a download link for the MCA template
get-customer-qualificationsGet a customer's qualifications
update-customer-qualificationSet a customer's qualification
check-inventoryCheck inventory for catalog items before ordering
check-inventory-by-resource-typeCheck inventory for catalog items filtered by resource type
update-orderUpdate an order (legacy billing cycle / cancel)
get-service-request-by-idGet a service request by ID
update-service-requestUpdate a service request (add note / close)
create-device-batchUpload devices as a new batch (Autopilot)
get-device-batchesGet a customer's device batches
update-devicesAdd devices to an existing batch
get-configuration-policiesGet a customer's configuration policies (Autopilot)
create-gdap-relationshipCreate a GDAP relationship (Microsoft Graph)
get-gdap-relationship-by-idGet a GDAP relationship by ID (Microsoft Graph)
get-reseller-relationship-urlGet a reseller relationship request URL to send a customer
get-fraud-eventsGet Azure fraud events
get-referralsGet co-sell referrals / leads (Partner API)
create-referralCreate a referral / co-sell deal (Partner API)
get-azure-rate-card-sharedGet the Azure Partner Shared Services rate card
get-partner-usage-analyticsGet partner-level Azure usage analytics
assign-user-roleAssign a directory role to a customer user
reset-user-passwordReset a customer user's password
restore-userRestore a deleted customer user
get-billing-profileGet the partner billing profile
update-billing-profileUpdate the partner billing profile
get-legal-business-profileGet the partner legal business profile
get-support-profileGet the partner support profile
get-organization-profileGet the partner organization profile
get-service-health-overviewsGet Microsoft 365 service health overviews (Microsoft Graph)
get-service-health-issuesList Microsoft 365 service health issues (Microsoft Graph)
get-message-center-messagesList Message center posts (Microsoft Graph)
get-invoice-tax-receiptDownload an invoice receipt statement (Taiwan tax receipt)
get-billed-reconciliation-v2Export billed reconciliation line items (Microsoft Graph, async v2)
get-unbilled-reconciliation-v2Export unbilled reconciliation line items (Microsoft Graph, async v2)
create-gdap-access-assignmentCreate a GDAP access assignment (Microsoft Graph)
list-gdap-access-assignmentsList GDAP access assignments (Microsoft Graph)
update-gdap-access-assignmentUpdate a GDAP access assignment's roles (Microsoft Graph)
create-gdap-relationship-requestLock/terminate a GDAP relationship via a request (Microsoft Graph)
list-delegated-admin-customersList delegated admin customers (Microsoft Graph)
delete-gdap-relationshipDelete a GDAP relationship (Microsoft Graph)
get-azure-entitlementsGet a list of Azure entitlements for a subscription
register-subscriptionRegister a subscription for Azure reservations
get-subscription-registration-statusGet subscription registration status
get-indirect-resellersGet the signed-in partner's indirect resellers or providers
get-customer-partnersGet the partners (indirect resellers/providers) of a customer

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/tunahanaliozturk/partner-center-mcp'

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