Unofficial Partner Center REST API knowledge & codegen assistant (scenarios, auth, errors).
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Building against the Partner Center REST API means living in Microsoft Learn. Two hundred odd endpoint pages, an archived .NET SDK that still turns up in search results, and error codes that tell you almost nothing on their own.
This MCP server puts that knowledge next to your agent. Ask how to cancel a subscription and you get the verified method, path, headers, a working code sample, and the constraints the page actually warns about. It holds no credentials and never calls Partner Center. Every answer comes from a bundled knowledge pack, with a cached Microsoft Learn search as the fallback.
Unofficial, community project. Not affiliated with, sponsored, or endorsed by Microsoft. "Partner Center" and "Microsoft" are trademarks of Microsoft, used here only descriptively.
Microsoft archived the Partner Center .NET SDK (3.4.0) in June 2023 and points partners at the
REST APIs instead. Plenty of code still hasn't moved. The retired graph.windows.net audience
keeps producing 401 / 900420, and from 2026-04-01 App+User API calls enforce MFA.
So the server does two things. It shows you the current REST and auth patterns, and it explains the errors you hit on the way there.
Your MCP host (Claude Code, Cursor, Copilot, VS Code) talks to the server over MCP, on stdio by default or HTTP if you'd rather. The server reads from a knowledge pack that is zod-validated at load and anchored to official Learn pages. When the pack has no answer it falls back to a cached doc search.
A typical call: the agent picks a tool such as pc_generate_call, the server looks the scenario up
in the pack, and back comes the method, path, headers, a ready code sample, and the gotchas, each
carrying the docUrl it was verified against.
No configuration, API keys, or network access to Partner Center required.
Requires Node.js 20 or newer. (0.9.0 dropped Node 18, which reached end of life in April 2025.)
The server speaks MCP over stdio, so any MCP-capable host works. There's nothing host-specific to install. Use whichever config your host expects:
VS Code (.vscode/mcp.json) and Visual Studio (.mcp.json):
GitHub Copilot. Copilot reads the same .vscode/mcp.json (VS Code) / .mcp.json (Visual
Studio) shown above; no extra config needed.
Cursor (.cursor/mcp.json) and Windsurf (~/.codeium/windsurf/mcp_config.json):
Claude Code:
Claude Desktop (claude_desktop_config.json), Cline, and Zed use the same
mcpServers shape as Cursor above.
Tip: also add the Microsoft Learn MCP server (
https://learn.microsoft.com/api/mcp) alongside this one for broad documentation search.
Prefer a hosted endpoint over stdio? Run the Streamable HTTP variant:
The endpoint has no authentication of its own, so it binds 127.0.0.1 by
default. Request bodies are capped at 1 MiB, and a browser Origin has to be
loopback or explicitly allowed, which is what keeps a random web page from
driving your local server.
| Variable | Default | What it does |
|---|---|---|
PORT | 3000 | Port to listen on. |
HOST | 127.0.0.1 | Interface to bind. Set 0.0.0.0 only behind a proxy that authenticates. |
ALLOWED_ORIGINS | none | Comma-separated browser origins allowed in addition to loopback. |
MAX_BODY_BYTES | 1048576 | Largest accepted request body. |
| Tool | Purpose |
|---|---|
pc_list_scenarios | List supported REST scenarios, optionally filtered by area. |
pc_get_scenario | Full detail for one scenario: method, path, headers, examples, gotchas. |
pc_generate_call | Emit a current REST call (curl/csharp/typescript/powershell) with auth/retry/pagination helpers. Never the archived SDK. |
pc_validate_request | Lint a REST call (method, URL, headers, auth) against the known scenarios. |
pc_plan_purchase | The ordered New Commerce purchase workflow: product β SKU availability β cart β checkout β subscriptions. |
pc_migrate_from_sdk | Translate archived .NET SDK code into the equivalent REST scenario(s). |
pc_auth_guidance | Current auth guidance for app-only / app+user, per national cloud, with GDAP + MFA notes. |
pc_check_auth | Lint an auth/client snippet for retired patterns (graph.windows.net, ADAL, archived SDK, AzureAD PS). |
pc_build_request | Build a ready-to-send request: fills path placeholders, generates MS-RequestId/MS-CorrelationId, and a body skeleton from the scenario's fields. |
pc_explain_lifecycle | What you can do to a subscription in its current state: legal operations, the field each precondition reads, and the errors a failed precondition returns. |
pc_plan_subscription_change | Ordered call sequence for one lifecycle change: seats up/down, upgrade, cancel, renewal changes, suspend, reactivate, migrate, transfer. |
pc_plan_order_lifecycle | Ordered call sequence from cart to provisioned subscriptions, with the cancellation and add-on branches. |
pc_plan_transfer | Ordered billing-ownership transfer workflow (create β poll β verify). |
pc_plan_gdap_onboarding | Ordered GDAP onboarding workflow (create β approve β verify) over Microsoft Graph. |
pc_plan_csp_onboarding | Ordered CSP customer onboarding (account linking): invite β verify relationship β confirm agreement β transact. |
pc_plan_user_onboarding | Ordered user onboarding: create user β assign licenses β grant roles β verify. |
pc_plan_user_offboarding | Ordered user offboarding: remove licenses β strip roles β delete user (30-day restore window). |
pc_plan_reconciliation | Ordered reconciliation workflow (invoice β billed/unbilled line items β statement). |
pc_lookup_error | Decode an error code: causes, remediation, and the scenarios it commonly hits. |
pc_decode_error | Paste a raw error response β decoded code, likely scenarios, and the correlation id for support. |
pc_diagnose | Map a symptom to likely causes, fixes, and relevant scenarios. |
pc_get_enums | Look up enum values (billingCycle, termDuration, targetView, transitionType, status, β¦). |
pc_get_resource | Field dictionary for resources (Customer, Subscription, Order, Invoice, migration schedules, β¦). |
pc_whats_new | Deprecations & deadlines (MFA enforcement, graph.windows.net, v1βv2 reconciliation, β¦). |
pc_plan_prerequisites | For any scenario, the ordered calls that produce the ids its path needs, and the parameters you supply yourself. |
pc_diff_pack | What changed between pack releases: scenarios added, removed, or whose route, auth, fields or constraints moved. |
pc_search_docs | Fetch live Microsoft Learn excerpts. The fallback when the curated pack has no answer. |
pc_get_reference | Base URLs, headers, versioning, sandbox, rate limits, national-cloud differences. |
Every tool carries the metadata a calling agent needs: a title, a description that says when to
use it and which sibling to prefer instead, a description on every input parameter, a declared
outputSchema, and MCP behaviour annotations. All 28 are readOnlyHint: true and
destructiveHint: false, because the server holds no credentials and calls no Partner Center
endpoint. It only reads the bundled pack. Three tools break idempotentHint or openWorldHint:
pc_search_docs and pc_get_scenario with enrich: true both reach Microsoft Learn, and
pc_build_request mints a fresh MS-RequestId on every call.
Responses share one envelope. { ok, data } on success, { ok: false, error, suggestions? } on
failure, returned as structuredContent and validated against each tool's outputSchema by the
MCP SDK.
Scenarios cover:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/partner-center-mcp)<a href="https://allmcps.com/mcp/partner-center-mcp"><img src="https://allmcps.com/api/badge/partner-center-mcp?style=directory" alt="Partner Center MCP on AllMCPs" /></a>