Adobe VIP Marketplace Docs MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_vipmp_docs | Return the full sitemap of Adobe VIP Marketplace API documentation. Use this to browse all available topics or to find exact page paths. |
| search_vipmp_docs | Search the Adobe VIP Marketplace API documentation by keyword or topic. Ranks pages by title/tag matches plus content matches (for any page already in the local cache — call warm_vipmp_cache once to pre-fetch every page for the strongest results). Returns matching page titles, paths, and the most query-relevant sections from each page (not a blunt character cutoff). Args: query: Search terms, e.g. "create order", "oauth token", "3YC eligibility" max_results: Maximum number of pages to return (default 5, max 10) |
| get_vipmp_page | Fetch the full content of a specific Adobe VIP Marketplace documentation page. Args: path: The doc path, e.g. "/vipmp/docs/order_management/create_order/" Use list_vipmp_docs() or search_vipmp_docs() to find valid paths. |
| warm_vipmp_cache | Pre-fetch every page in the sitemap so subsequent searches can do content-level matching (not just title/tag matching). First run takes ~30 seconds over ~70 pages. Subsequent runs are near-instant because the disk cache + ETag revalidation handle unchanged pages with 304 responses. Returns a summary of fetches, cache hits, and any errors. |
| refresh_vipmp_sitemap | Rebuild the sitemap from Adobe's published /sitemap.xml. Fetches every current /vipmp/docs/ page for its title, merges hand-curated search tags where paths still line up, and persists the result to sitemap.json so future server startups use the refreshed list. Run this if:
Takes about 30 seconds over ~80 pages. Safe to run repeatedly. |
| vipmp_cache_stats | Return statistics about the on-disk docs cache — total entries, fresh/stale split, TTL, and the cache file path. Useful when debugging "why did it return stale content" or "is the cache being used at all". |
| vipmp_cache_clear | Clear the docs cache. Pass a specific doc path to invalidate one entry, or omit to wipe the entire cache. Args: path: Optional docs path to invalidate (e.g. "/vipmp/docs/lga/create/"). If None, clears everything. |
| list_vipmp_endpoints | Extract every HTTP endpoint (method + path) documented across the whole VIPMP docs. Returns a Markdown table grouped by resource area. Served from the pre-built index (milliseconds) when available. Falls
back to live extraction across the sitemap (~30s cold, ~5s warm) if
no index is present. Call |
| list_vipmp_error_codes | Extract every error code documented across VIPMP docs — both numeric codes (e.g. 1117, 5117) and symbolic reason codes (e.g. INVALID_LM_MIGRATION_LEVEL). Args: query: Optional substring filter. Matches against code, reason, or endpoint. Case-insensitive. Served from the pre-built index when available, falling back to live
extraction if not. Call |
| list_vipmp_status_codes | Extract every resource status code documented across VIPMP docs
(numeric codes 1000-1026). These describe the lifecycle state of a
resource — e.g. account, order, or subscription status — as opposed
to the request-failure error codes surfaced by
Args: query: Optional substring filter. Matches against code, description, or applicable resources. Case-insensitive. Served from the pre-built index when available, falling back to live
extraction if not. Call |
| get_vipmp_schema | Return structured field schemas (name, type, required, description) for VIPMP resources. Source: the Resources & Fields reference page. Args: resource_name: Optional case-insensitive substring to filter by resource name (e.g. "customer", "linkedMembership"). Omit to get every documented resource. |
| get_vipmp_code_examples | Extract code examples (JSON / curl / bash / python / etc.) from a specific docs page. Optionally filter by language. Args:
docs_path: Docs path (e.g. "/vipmp/docs/customer-account/create-customer-account").
language: Optional filter — "json", "python", "bash", etc. Matches
the |
| rebuild_vipmp_index | Rebuild the pre-extracted index of endpoints, error codes, status
codes, and schemas by walking every page in the current sitemap. Saves to
Run this if:
Takes ~60 seconds from cold cache, ~15-20 seconds from warm cache. |
| list_vipmp_releases | Return structured VIPMP release notes — the highest-signal information for developers tracking API changes. Served from the pre-built index (refreshed daily), so calls return in milliseconds. Each entry has a date, a section ("api_changes", "sandbox", "upcoming", or "earlier"), and one or more changes with titles and bodies. Covers both the main API changes and the Sandbox-specific changes at the bottom of the release-notes page — they're tracked separately. Args:
since: ISO date ("YYYY-MM-DD"). If provided, returns only releases
on or after this date. Example: "2026-01-01" for everything
since New Year. Entries without a date (catch-all "earlier
releases" buckets) are excluded when Examples: # What shipped in 2026? list_vipmp_releases(since="2026-01-01", section="api_changes") |
| get_vipmp_tips | Return SoftwareOne-authored operational tips for Topic matching is case-insensitive and punctuation-tolerant: "customer
lifecycle", "Customer Lifecycle", and "customer_lifecycle" all
resolve to the same section. Use Args: topic: The topic to fetch tips for (e.g. "customer lifecycle", "ordering flow", "3YC", "auth and sandbox"). Returns the raw tips markdown verbatim. Empty-topic and missing-topic cases return a short placeholder message rather than an error, so the assistant can explain gracefully when a topic has no tips yet. |
| list_vipmp_tip_topics | Return the list of topics for which SoftwareOne tips are available. Each entry maps to an H2 section in the tips file; call
|
| vipmp_server_info | Dump diagnostic info about the running server — useful as the first call when debugging "why is this not working" or "what version am I actually on". Returns package version, Python version, index age + counts, sitemap size, cache stats, and log file path. |
| describe_vipmp_endpoint | One-shot profile of a VIPMP endpoint. Returns schema, error codes, code examples, and any release-note mentions in one call — so Claude doesn't have to chain 4 separate tool invocations. Args: method: HTTP method (GET / POST / PATCH / PUT / DELETE). path: API path (e.g. "/v3/customers"). Example: describe_vipmp_endpoint(method="POST", path="/v3/customers") |
| validate_vipmp_request | Cross-check a JSON request body against the documented VIPMP schema. Finds the endpoint's schema in the pre-built index and checks every field against its documented type, required-ness, and constraints (character limits, numeric ranges). Flags unknown fields, missing required fields, type mismatches, constraint violations, and deprecated-field usage. Scope: top-level fields only. Nested objects are noted as
"not recursively validated" — check their schemas separately via
Args: endpoint: "METHOD /path" (e.g. "POST /v3/customers"). body_json: The request body to check, as a JSON string. Example: validate_vipmp_request( endpoint="POST /v3/customers", body_json='{"resellerId": "5556667778", "externalReferenceId": "342"}', ) |
| generate_vipmp_request | Emit a runnable code snippet for a VIPMP endpoint. Useful for "give me a starting point for calling POST /v3/customers". If you supply a body, it's used as-is. If not, we build a placeholder body from the schema, filling required fields with type-appropriate dummy values so the snippet shows the minimum valid shape. Args: endpoint: "METHOD /path" (e.g. "POST /v3/customers"). body_json: Optional JSON body to embed in the snippet. If omitted and the method is POST/PATCH/PUT, a placeholder body is constructed from the schema. language: Output language. One of: "curl" (default), "powershell", "python" (httpx), "csharp" (HttpClient). Example: generate_vipmp_request( endpoint="POST /v3/customers", language="python", ) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| review_request_body | Validate a JSON request body against the documented VIPMP schema for a given endpoint. Args: endpoint: The documented endpoint, e.g. "POST /v3/customers". body_json: The JSON body to check, as a string. |
| debug_error_code | Diagnose a VIPMP error code the user is hitting. Surfaces the docs for the code, what triggers it, and how to fix. Args: code: The error code (e.g. "1117", "5117", "INVALID_LM_MIGRATION_LEVEL"). endpoint: Optional endpoint it was triggered by (e.g. "POST /v3/customers") — tightens the diagnosis. |
| draft_order | Walk through creating a VIPMP order from scratch: prerequisites, schema, request body, and expected response. Args: customer_id: The existing customer's ID. offers: Comma-separated offer IDs (or a rough description — the model can look up actual IDs from the price list docs). market_segment: Market segment code (default "COM" for Commercial). |
| summarize_recent_changes | Summarise what's changed in the VIPMP API since a given date, optionally narrowed to a specific area of the docs. Args: since: ISO date ("YYYY-MM-DD"). Defaults to the last ~30 days if omitted — leave blank for "what's new recently". area: Optional topic filter — e.g. "orders", "3YC", "flexible discounts", "LGA", "subscriptions". Matches against release titles and bodies. |
| check_feature_status | Determine whether a VIPMP feature is live in production, shipping in Sandbox, upcoming, or not documented. Cross-references release notes with the docs index. Args: feature: A concise description of the feature (e.g. "Early Renewals", "Mid-term Upgrades", "LGA conversion", "Flexible Discounts for renewals"). |
| check_3yc_eligibility | Walk through the 3-Year Commit (3YC) eligibility and enrollment rules for a specific customer. Args: customer_id: The customer ID to evaluate. desired_commit_quantity: Optional target commit quantity the customer is considering. |
| start_vipmp_learning | Kick off a VIPMP learning session. Asks the learner's role and goal, then routes them to the right walkthrough prompt. Args: role: Which hat the learner is wearing. Default "either" — the curriculum serves both developers and technical PMs. goal: Free-text description of what they want to learn or build. Used to route to a specific walkthrough. |
| learn_customer_lifecycle | Walkthrough: VIPMP customer lifecycle. Covers the business states a customer passes through, the API transitions between them, and the gotchas that bite real implementations. Grounded in Adobe's live docs. |
| learn_ordering_flow | Walkthrough: VIPMP ordering flow end-to-end. Covers what an order means commercially, the API sequence to place one, and the failure modes that matter in production. Grounded in Adobe's live docs. |
| learn_3yc | Walkthrough: 3-Year Commit (3YC). Covers eligibility, commit-quantity math, enrollment flow, and the commercial consequences of under-consumption. Grounded in Adobe's live docs. |
| learn_subscriptions_and_renewals | Walkthrough: subscriptions and renewals. Covers cotermination, auto-renew, proration for mid-term changes, and the API surface that makes it all go. Grounded in Adobe's live docs. |
| learn_returns_and_refunds | Walkthrough: returns and refunds. Covers the return window, what qualifies as a return vs cancellation vs downgrade, refund mechanics, and the API sequence for each. Grounded in Adobe's live docs. |
| learn_auth_and_sandbox | Walkthrough: authentication, IMS credentials, and safe use of the Adobe VIPMP sandbox. Covers what a partner actually needs to start making API calls without breaking production. Grounded in Adobe's live docs. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/softwareone-platform/swo-adobe-vipm-docs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server