Step-by-step guide to configuring your AI tools to talk to SoftwareOne.
This topic explains how to configure popular AI clients to connect to the SoftwareOne Model Context Protocol (MCP) Server.
Once connected, your AI assistant can query the marketplace, read documentation, and perform actions on your behalf.
Before you begin, ensure you have the following:
SoftwareOne API Token - You can generate this in the SoftwareOne Marketplace Platform.
Configuration details - See Marketplace MCP Server README for the exact JSON configuration blocks.
provides a native integration for MCP servers.
Locate the config file - Open your configuration file. If it doesn't exist, create it.
macOS - ~/Library/Application Support/Claude/claude_desktop_config.json
Windows - %APPDATA%\Claude\claude_desktop_config.json
is an AI-powered code editor that supports MCP.
Open Settings - Open Cursor. Go to Cursor Settings > General > MCP.
Add New Server - Select + Add New MCP Server.
Name - Enter softwareone-marketplace.
(and compatible Google Cloud-based agents) supports MCP servers defined in the project configuration.
Project configuration - Add the server definition to your .agent/mcp_servers_config.json (or similar). You can find the required JSON structure in the .
Validation - Ask the agent to "List available MCP resources" to verify the connection.
If you are building your own agent or using another tool, you can connect via standard input/output (stdio) or Server-Sent Events (SSE).
See the for endpoint details and header requirements.
Configure server - Copy the appropriate configuration block (Remote or Local) from the and add it to the mcpServers object in your config file.
Restart Claude - Completely quit and restart the Claude Desktop application. You should see a plug icon indicating the server is connected.
Type - Select stdio (for local) or sse (for remote).
Follow the configuration patterns provided in the .
Verify - Once added, the status indicator should turn green.
Learn how to use the SoftwareOne MCP Server for intelligent automation.
The SoftwareOne Model Context Protocol (MCP) Server empowers your AI agents to interact directly with the SoftwareOne Marketplace Platform. Instead of manually navigating the portal, you can ask your agent to find products, track orders, analyze spend, and answer technical questions using live documentation.
This topic covers four common scenarios that demonstrate the power of agentic workflows.
Before you begin, ensure you have the following:
MCP Client - A compatible AI tool like Claude Desktop or an IDE extension (for example, Cursor, VS Code).
SoftwareOne API Token - Your generic API token (starts with TKN-) from the .
Server Configuration - The MCP server must be running and configured with your MPT_API_TOKEN. See the for instructions.
Goal - Quickly find specific software licenses without browsing the entire catalog.
A client wants to procure "Microsoft 365" licenses but isn't sure of the exact SKU names.
User Prompt
"Find all Microsoft 365 Business products available in the catalog."
Agent Action - The agent uses the marketplace_query tool to search the catalog.products resource, using a case-insensitive ilike filter.
Response - The agent retrieves the list and summarizes it for the user:
I found the following Microsoft 365 Business products:
Microsoft 365 Business Standard (SKU:
PRD-M365-STD) - ActiveMicrosoft 365 Business Premium (SKU:
PRD-M365-PREM) - Active
Goal - Get a status update on recent purchases.
A procurement manager needs to know if their recent orders have been processed.
User Prompt
"What is the status of my last 5 orders?"
Agent Action - The agent queries commerce.orders, sorting by creation date (-audit.created.at) to get the most recent ones.
Response
Here are your last 5 orders:
ORD-2024-001 (Microsoft 365 E5) - Completed (Created: today)
ORD-2024-002 (Adobe Acrobat Pro) - Processing (Created: yesterday)
ORD-2024-003 (Azure Reservation) - Completed
Goal - Identify high-value transactions for a specific period.
A finance user wants to review large invoices from December 2024.
User Prompt
"Show me all invoices over $1,000 from December 2024."
Agent Action - The agent constructs a complex RQL query. Note the use of UTC dates with 3-digit millisecond precision, and the explicit selection of the audit object.
Response
I found 2 invoices from December 2024 exceeding $1,000:
INV-US-9988 - $4,500.00 (Dec 15, 2024)
INV-US-9999 - $1,250.50 (Dec 28, 2024)
Goal - Answer technical questions without leaving the chat.
A developer is building an integration and forgets how to format dates in the API.
User Prompt
"How do I format date filters in the API?"
Agent Action - Instead of hallucinating an answer, the agent searches the official documentation using the marketplace_docs_list and marketplace_docs_read tools.
Response
According to the Resource Query Language documentation:
API Date Requirement - Dates must be in UTC and include 3-digit millisecond precision (e.g.,
YYYY-MM-DDTHH:mm:ss.sssZ).Example -
eq(audit.created.at,"2023-01-01T00:00:00.000Z")
Goal - Identify subscriptions that are expiring in the next 30 days to prepare for renewals or contract discussions.
Query
Response
Goal - List all subscriptions where auto-renewal has been disabled. This is useful for IT teams to ensure critical services aren't accidentally cut off.
Query
Response
PRD-M365-BSCWould you like to see pricing for any of these?
ORD-2024-004 (AWS Savings Plan) - Failed (Action Required)
ORD-2024-005 (Zoom Pro) - Completed
// Tool Call
marketplace_query({
resource: "catalog.products",
rql: "ilike(name,*Microsoft 365 Business*)",
limit: 5
})// Tool Call
marketplace_query({
resource: "commerce.orders",
order: "-audit.created.at",
limit: 5
})// Tool Call
marketplace_query({
resource: "billing.invoices",
rql: 'and(gt(totalPrice,1000),gt(audit.created.at,"2024-12-01T00:00:00.000Z"),lt(audit.created.at,"2025-01-01T00:00:00.000Z"))',
select: "+audit,+totalPrice,+status"
})// Tool Call 1: Search
marketplace_docs_list({ search: "date format" })
// Tool Call 2: Read specific page
marketplace_docs_read({ uri: "docs://developer-resources/rest-api/resource-query-language" })// Find active subscriptions expiring before March 1st, 2026
marketplace_query({
resource: "commerce.subscriptions",
rql: "and(eq(status,Active),lt(endDate,\"2026-03-01T00:00:00.000Z\"))",
order: "+endDate",
limit: 10
}){
"data": [
{
"id": "SUB-9988-7766",
"name": "Adobe Creative Cloud for Teams",
"status": "Active",
"endDate": "2026-02-15T00:00:00.000Z",
"autoRenew": true
}
]
}// Find active subscriptions with auto-renewal disabled
marketplace_query({
resource: "commerce.subscriptions",
rql: "and(eq(status,Active),eq(autoRenew,false))",
limit: 20
}){
"data": [
{
"id": "SUB-1122-3344",
"name": "JetBrains All Products Pack",
"status": "Active",
"endDate": "2026-05-20T00:00:00.000Z",
"autoRenew": false
}
]
}Learn about the Marketplace MCP Server and how to use it to connect AI assistants to the SoftwareOne Marketplace API.
Model Context Protocol (MCP) is an open standard that allows AI assistants to connect to external data and systems.
Instead of building custom integrations for every tool, MCP provides a universal language for AI models to:
Read context – Access documents, databases, and logs.
Take action – Execute commands or query APIs on your behalf.
Stay secure – You control what the AI can see and do through explicit permissions.
The Marketplace Model Context Protocol (MCP) server is an open-source MCP server designed to connect AI assistants (like Antigravity, Cursor, and Claude) to the SoftwareOne Marketplace API.
In simple terms: Think of it as teaching your AI assistant to "speak" the SoftwareOne Marketplace language.
Once connected, you can ask questions like "How many subscriptions do we have?" or "What's the status of our last order?" and get real answers instantly, without logging into the portal.
By using the Marketplace MCP Server, you turn the entire SoftwareOne Marketplace API into a toolset that your AI assistant understands natively.
The Marketplace MCP server eliminates the need to manually browse portals or write one-off scripts for common tasks.
Instant Answers – Ask "What is the status of order ORD-123?" or "Show me active Microsoft subscriptions" and get immediate, accurate results without leaving your IDE.
Data Exploration – Explore available API resources and schemas interactively. Not sure what fields are on a Product? Just ask "Show me the schema for catalog.products".
Automation – Quickly generate reports or find IDs needed for your scripts/Terraform configurations by asking "List all Azure subscriptions in the US region".
The server is hosted and managed by SoftwareOne, so you can connect to it immediately without running any local infrastructure.
To use the Marketplace MCP server, you must have a valid API token to authenticate requests.
You can generate a token from your account settings in the SoftwareOne Marketplace. If you are not sure where to find your token, contact your SoftwareOne account administrator or see .
You can connect to the server using either the Remote (SSE) or Local (stdio) method.
This method connects to the hosted SoftwareOne MCP instance. Add this to your configuration file (for example, ~/.cursor/mcp.json).
If you prefer to run the server locally via uvx or docker:
For clients that support server-sent events (SSE) or remote HTTP transports, use the URL: https://mcp.platform.softwareone.com/mcp
Ensure you provide the required X-MPT-Authorization header with your request.
Once connected, you can ask your AI assistant questions in plain English. The assistant will translate your questions into precise API queries.
The server implementation is open source and available on GitHub at . We welcome contributions. You can also clone the repository if you prefer to run the server locally or customize it for your needs.
Find Microsoft 365 products that are active.
I found several active Microsoft 365 products. Here is an example:
Name – Microsoft 365 Business & Enterprise
ID – PRD-XXXX-XXXX
Vendor – Microsoft (ACC-XXXX-XXXX)
Status – Published
Show me the schema for catalog products.
The catalog.products resource has the following fields:
id (string) – Unique identifier
name (string) – Product name
status (enum) – Published, draft, etc.
vendor (object) – Vendor details
List the last 5 orders for customer CUST-123
Order ORD-5555 (Created: 2024-03-01): 10x Office 365 E3
Order ORD-5554 (Created: 2024-02-28): 1x Azure Plan ...
What resources are available in the billing API?
I can help you with:
billing.invoices – Retrieve invoice summaries.
billing.statements – Access billing statements and charges.
{
"mcpServers": {
"softwareone-marketplace": {
"url": "https://mcp.platform.softwareone.com/mcp",
"transport": "mcp",
"headers": {
"X-MPT-Authorization": "{your-token-goes-here}"
}
}
}
}{
"mcpServers": {
"softwareone-marketplace": {
"command": "uvx",
"args": ["mcp-softwareone-marketplace"],
"env": {
"MPT_API_TOKEN": "{your-token-goes-here}"
}
}
}
}