![[eBay] Analytics API MCP Server](/workflows/images/5570.webp)
[eBay] Analytics API MCP Server
Description
Categories
đ§ Engineeringđ¤ AI & Machine Learning
Nodes Used
n8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.httpRequestTooln8n-nodes-base.httpRequestTool@n8n/n8n-nodes-langchain.mcpTrigger
PriceFree
Views0
Last Updated11/28/2025
workflow.json
{
"id": "79AusN5QpppMG30z",
"meta": null,
"name": "[eBay] Analytics API MCP Server",
"tags": [],
"nodes": [
{
"id": "ba377041-0be9-4e1a-9822-7f5674e6c578",
"name": "Setup Instructions",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1380,
-240
],
"parameters": {
"color": 4,
"height": 1020,
"content": "### âď¸ Setup Instructions\n\n1. **Import Workflow**: \nLoad this workflow into your n8n instance\n\n2. **Configure Authentication**: \nSet up oauth2 credentials\n\n3. **Activate Workflow**:\nEnable the workflow to start the MCP server\n\n4. **Get MCP URL**: \nCopy the webhook URL from the MCP trigger\n\n5. **Connect AI Agent**:\nUse the MCP URL in your AI agent configuration\n\n\n### đĄ Usage Notes\n⢠Parameters are auto-populated by AI using $fromAI() expressions\n⢠With 2 API endpoints available as tools\n⢠Responses maintain original API structure\n\n\n### đ ď¸ Customization\n⢠Add data transformation nodes if needed\n⢠Implement custom error handling\n⢠Add logging or monitoring nodes\n\n⢠Modify parameter defaults in any HTTP request node as needed\n\n### đŹ Need Help?\nPing me on [discord](https://discord.me/cfomodz) for integration guidance and custom automations. Check the [n8n documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/) for more information."
},
"typeVersion": 1
},
{
"id": "d0a12e36-dbc1-4a49-9f8c-47a3a9851e2f",
"name": "Workflow Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1120,
-240
],
"parameters": {
"width": 420,
"height": 920,
"content": "## đ ď¸ Analytics MCP Server â
2 operations\n\n### About\nThe Analytics API provides call-limit data for RESTful and Trading APIs via `getRateLimits` (application-level) and `getUserRateLimits` (user-level), each requiring specific OAuth tokens. Responses include quotas, remaining calls, reset time, and time window details to help monitor and manage usage. For details on tokens and limits, refer to OAuth tokens and Compatible Application Check documentation.\n\n### đ§ How it Works\n\nThis workflow converts the Analytics API into an MCP-compatible interface for AI agents.\n\n⢠**MCP Trigger**: Serves as your server endpoint for AI agent requests\n⢠**HTTP Request Nodes**: Handle API calls to https://api.ebay.com{basePath}\n⢠**AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n⢠**Native Integration**: Returns responses directly to the AI agent\n\n\n### đ Available Operations (2 endpoints)\n\n**Rate Limit (1 operations)**\nRetrieve Application Rate Limits\n\n**User Rate Limit (1 operations)**\nRetrieve User Rate Limits\n\n"
},
"typeVersion": 1
},
{
"id": "6bc3cdbe-6251-4a40-837a-85a8104cf9db",
"name": "Analytics MCP Server",
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
"position": [
-620,
-240
],
"webhookId": "338efb7f-1f1b-4f38-a041-ff76d32292eb",
"parameters": {
"path": "analytics-mcp"
},
"typeVersion": 1
},
{
"id": "666529ad-7787-4cff-9fa0-f1dc65aed39f",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
-100
],
"parameters": {
"color": 2,
"width": 300,
"height": 200,
"content": "## Rate Limit"
},
"typeVersion": 1
},
{
"id": "6c3c60dd-3650-4800-8404-27fdf77e9957",
"name": "Retrieve Application Rate Limits",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-520,
-60
],
"parameters": {
"url": "=https://api.ebay.com{basePath}/rate_limit/",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "api_context",
"value": "={{ $fromAI('api_context', 'This optional query parameter filters the result to include only the specified API context. Valid values: buysell commercedevelopertradingapi', 'string') }}"
},
{
"name": "api_name",
"value": "={{ $fromAI('api_name', 'This optional query parameter filters the result to include only the APIs specified. Example values: browse for the <a href=\"/../develop/apis/restful-apis/buy-apis#buy-apis\" target=\"_blank\">Buy APIs</a> inventory for the <a href=\"/../develop/apis/restful-apis/sell-apis#sell-apis\" target=\"_blank\">Sell APIs</a> taxonomy for the <a href=\"/../develop/apis/restful-apis/commerce-apis#commerce-apis\" target=\"_blank\">Commerce APIs</a> tradingapi for the <a href=\"/../Devzone/XML/docs/Reference/eBay/index.html\" target=\"_blank\">Trading APIs</a>', 'string') }}"
}
]
},
"toolDescription": "Retrieves the call limit and utilization data for an application. The data is retrieved for all RESTful APIs and the legacy Trading API. The response from getRateLimits includes a list of the applicable resources and the \"call limit\", or quota, that is set for each resource. In addition to quota information, the response also includes the number of remaining calls available before the limit is reached, the time remaining before the quota resets, and the length of the \"time window\" to which the quota applies. By default, this method returns utilization data for all RESTful API and the legacy Trading API resources. Use the api_name and api_context query parameters to filter the response to only the desired APIs. For more on call limits, see <a href=\"https://developer.ebay.com/support/app-check \" target=\"_blank\">Compatible Application Check</a>.\n\nParameters:\n- Query parameters:\n ⢠api_context (optional) - Optional query parameter filters the result to include only the specified API context. Valid values: buysell commercedevelopertradingapi\n ⢠api_name (optional) - Optional query parameter filters the result to include only the APIs specified. Example values: browse for the <a href=\"/../develop/apis/restful-apis/buy-apis#buy-apis\" target=\"_blank\">Buy APIs</a> inventory for the <a href=\"/../develop/apis/restful-apis/sell-apis#sell-apis\" target=\"_blank\">Sell APIs</a> taxonomy for the <a href=\"/../develop/apis/restful-apis/commerce-apis#commerce-apis\" target=\"_blank\">Commerce APIs</a> tradingapi for the <a href=\"/../Devzone/XML/docs/Reference/eBay/index.html\" target=\"_blank\">Trading APIs</a>"
},
"typeVersion": 4.2
},
{
"id": "43d2e5cc-a52e-4c86-ba69-26b1515291d4",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
140
],
"parameters": {
"color": 3,
"width": 300,
"height": 200,
"content": "## User Rate Limit"
},
"typeVersion": 1
},
{
"id": "ff500c86-39e1-4ff4-800a-3fe49c32bff1",
"name": "Retrieve User Rate Limits",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-520,
180
],
"parameters": {
"url": "=https://api.ebay.com{basePath}/user_rate_limit/",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "api_context",
"value": "={{ $fromAI('api_context', 'This optional query parameter filters the result to include only the specified API context. Valid values: buy sell commerce developer tradingapi', 'string') }}"
},
{
"name": "api_name",
"value": "={{ $fromAI('api_name', 'This optional query parameter filters the result to include only the APIs specified. Example values: browse for the <a href=\"/../develop/apis/restful-apis/buy-apis#buy-apis\" target=\"_blank\">Buy APIs</a> inventory for the <a href=\"/../develop/apis/restful-apis/sell-apis#sell-apis\" target=\"_blank\">Sell APIs</a> taxonomy for the <a href=\"/../develop/apis/restful-apis/commerce-apis#commerce-apis\" target=\"_blank\">Commerce APIs</a> tradingapi for the <a href=\"/../Devzone/XML/docs/Reference/eBay/index.html\" target=\"_blank\">Trading APIs</a>', 'string') }}"
}
]
},
"toolDescription": "Retrieves the call limit and utilization data for an application user. The call-limit data is returned for all RESTful APIs and the legacy Trading API that limit calls on a per-user basis. The response from getUserRateLimits includes a list of the applicable resources and the \"call limit\", or quota, that is set for each resource. In addition to quota information, the response also includes the number of remaining calls available before the limit is reached, the time remaining before the quota resets, and the length of the \"time window\" to which the quota applies. By default, this method returns utilization data for all RESTful APIs resources and the legacy Trading API calls that limit request access by user. Use the api_name and api_context query parameters to filter the response to only the desired APIs. For more on call limits, see <a href=\"https://developer.ebay.com/support/app-check \" target=\"_blank\">Compatible Application Check</a>.\n\nParameters:\n- Query parameters:\n ⢠api_context (optional) - Optional query parameter filters the result to include only the specified API context. Valid values: buy sell commerce developer tradingapi\n ⢠api_name (optional) - Optional query parameter filters the result to include only the APIs specified. Example values: browse for the <a href=\"/../develop/apis/restful-apis/buy-apis#buy-apis\" target=\"_blank\">Buy APIs</a> inventory for the <a href=\"/../develop/apis/restful-apis/sell-apis#sell-apis\" target=\"_blank\">Sell APIs</a> taxonomy for the <a href=\"/../develop/apis/restful-apis/commerce-apis#commerce-apis\" target=\"_blank\">Commerce APIs</a> tradingapi for the <a href=\"/../Devzone/XML/docs/Reference/eBay/index.html\" target=\"_blank\">Trading APIs</a>"
},
"typeVersion": 4.2
}
],
"active": false,
"shared": [
{
"role": "workflow:owner",
"project": {
"id": "G5fce9xGuBAsWBXe",
"icon": null,
"name": "David Ashby <[email protected]>",
"type": "personal",
"createdAt": "2025-06-04T02:55:02.013Z",
"updatedAt": "2025-06-04T02:56:01.361Z",
"projectRelations": [
{
"role": "project:personalOwner",
"user": {
"id": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
"role": "global:owner",
"email": "[email protected]",
"disabled": false,
"lastName": "Ashby",
"settings": {
"npsSurvey": {
"responded": true,
"lastShownAt": 1749357655581
},
"userActivated": true,
"userActivatedAt": 1749075994495,
"easyAIWorkflowOnboarded": true,
"firstSuccessfulWorkflowId": "3N3vVikZb3MckFYm"
},
"createdAt": "2025-06-04T02:55:01.745Z",
"firstName": "David",
"isPending": false,
"updatedAt": "2025-06-08T04:40:58.399Z",
"mfaEnabled": false,
"personalizationAnswers": {
"version": "v4",
"personalization_survey_n8n_version": "1.95.3",
"personalization_survey_submitted_at": "2025-06-04T02:56:07.075Z"
}
},
"userId": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
"createdAt": "2025-06-04T02:55:02.013Z",
"projectId": "G5fce9xGuBAsWBXe",
"updatedAt": "2025-06-04T02:55:02.013Z"
}
]
},
"createdAt": "2025-07-02T03:38:18.746Z",
"projectId": "G5fce9xGuBAsWBXe",
"updatedAt": "2025-07-02T03:38:18.746Z",
"workflowId": "79AusN5QpppMG30z"
}
],
"pinData": {},
"settings": {
"timezone": "America/New_York"
},
"createdAt": "2025-07-02T03:38:18.744Z",
"updatedAt": "2025-07-02T03:40:59.000Z",
"versionId": "3bfcc576-75ea-4162-af47-25c733717f6b",
"isArchived": false,
"staticData": null,
"connections": {
"Retrieve User Rate Limits": {
"ai_tool": [
[
{
"node": "Analytics MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Retrieve Application Rate Limits": {
"ai_tool": [
[
{
"node": "Analytics MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"triggerCount": 0
}