Skip to main content
Glama
loukach

StockSpark MCP Server

by loukach

StockSpark MCP Server

A production-ready Model Context Protocol (MCP) server that provides AI agents with 36 specialized tools for complete vehicle dealership management through the StockSpark/Carspark API platform.

πŸš€ Quick Start

1. Install

git clone https://github.com/loukach/stockspark-mcp-poc.git
cd stockspark-mcp-poc
npm install

2. Configure

Create .env file with your credentials:

# Required - Your StockSpark credentials
STOCKSPARK_USERNAME=your-email@dealership.com
STOCKSPARK_PASSWORD=your-password

# Optional - Override defaults if needed
# STOCKSPARK_COUNTRY=it  # Default: it
# LOG_LEVEL=debug  # Default: info

3. Test Connection

npm test

4. Connect to Claude Desktop

Add to your Claude Desktop config:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "stockspark": {
      "command": "node",
      "args": ["/absolute/path/to/stockspark-mcp-poc/src/index.js"],
      "env": {
        "STOCKSPARK_USERNAME": "your-email@dealership.com",
        "STOCKSPARK_PASSWORD": "your-password"
      }
    }
  }
}

πŸ“‹ Available Tools (36 Total)

🏒 Organization Management (5 tools)

  • get_user_context - View current company/dealer selection

  • list_user_companies - List accessible companies

  • select_company - Choose working company

  • list_company_dealers - List company's dealers

  • select_dealer - Choose working dealer

πŸ” Vehicle Reference Data (10 tools)

  • search_vehicle_versions - Progressive search for vehicle specifications

  • compare_vehicle_versions - Compare similar trims/versions

  • get_vehicle_version_template - Get complete vehicle data template

  • get_vehicle_makes - List available manufacturers

  • get_vehicle_models - Get models for a make

  • get_vehicle_trims - Get trim levels with specifications

  • get_vehicle_transmissions - Available transmission types

  • get_vehicle_bodies - Body style options

  • get_vehicle_fuels - Fuel type options

  • get_vehicle_colors - Available colors

πŸš— Vehicle Management (6 tools)

  • add_vehicle - Create new vehicle (template or manual)

  • get_vehicle - Retrieve vehicle details

  • list_vehicles - Search/filter inventory with sorting

  • update_vehicle - Modify vehicle data

  • update_vehicle_price - Quick price updates

  • delete_vehicle - Remove vehicle (with confirmation)

πŸ“Έ Image Management (4 tools)

  • upload_vehicle_images - Bulk upload from files/URLs

  • get_vehicle_images - List vehicle images

  • set_vehicle_main_image - Set primary display image

  • delete_vehicle_image - Remove specific images

πŸ“Š Analytics & Intelligence (4 tools)

  • get_underperforming_vehicles - Identify slow-moving inventory

  • analyze_inventory_health - Overall stock metrics

  • apply_bulk_discount - Strategic bulk pricing

  • get_pricing_recommendations - AI-powered pricing suggestions

🌐 Publishing (4 tools)

  • publish_vehicle - Push to portals (MyPortal, Automobile.it)

  • unpublish_vehicle - Remove from portals

  • get_publication_status - Check publishing status

  • list_available_portals - Show configured channels

πŸ“ˆ Lead Analysis (2 tools)

  • get_vehicle_leads - Customer inquiry tracking

  • analyze_lead_trends - Lead performance insights

⚑ Performance (1 tool)

  • get_mcp_performance - System performance metrics

πŸ’‘ Common Workflows

Create a Vehicle (3 Steps)

1. search_vehicle_versions β†’ Find specifications
2. get_vehicle_version_template β†’ Get complete data
3. add_vehicle β†’ Create with template + price

Analyze & Optimize Inventory

1. get_underperforming_vehicles β†’ Find slow movers
2. get_pricing_recommendations β†’ Get AI suggestions  
3. apply_bulk_discount β†’ Execute pricing strategy

Upload Images

For files: upload_vehicle_images with file paths
For pasted images: Save to disk first, then upload

πŸ”§ Advanced Features

// Sort by newest first
list_vehicles({ sort: "creationDate:desc" })

// Filter by make and model
list_vehicles({ make: "BMW", model: "Serie 3" })

// Find vehicles needing images
list_vehicles({ hasImages: false })

// Complex filtering
list_vehicles({ 
  vehicleType: "USED",
  kmMax: 50000,
  maxPrice: 25000,
  sort: "price:asc"
})

Natural Language Examples

"Add a 2023 BMW 320d with 15k km at €45,000"
"Show me vehicles over 90 days in stock"
"Upload these images to vehicle 12345"
"Apply 10% discount to all Mercedes over 60 days"
"Publish my best SUVs to all portals"

πŸ“š Documentation

πŸ§ͺ Testing

npm test              # Run all tests
npm run test:unit     # Unit tests only
npm run test:verbose  # Detailed output

πŸ—οΈ Architecture

  • 36 MCP Tools across 8 specialized modules

  • OAuth2 Authentication with auto-refresh

  • Multi-tenant Support for companies/dealers

  • Error Recovery with retry logic

  • Structured Logging for debugging

  • 70%+ Test Coverage with real API testing

βš™οΈ Environment Variables

Required

  • STOCKSPARK_USERNAME - Your login email

  • STOCKSPARK_PASSWORD - Your password

Optional

  • STOCKSPARK_COUNTRY - Market (it/fr/de/es), default: it

  • LOG_LEVEL - Logging detail (debug/info/warn/error)

  • MYPORTAL_ACTIVATION_CODE - For MyPortal publishing

  • AUTOMOBILE_IT_ACTIVATION_CODE - For Automobile.it

  • STOCKSPARK_API_KEY - For lead tracking features

API Endpoints (Hardcoded Defaults)

The following are built into the code and rarely need override:

  • Auth URL: https://auth.motork.io/realms/prod/protocol/openid-connect/token

  • API URL: https://carspark-api.dealerk.com

  • Client ID: carspark-api

πŸ“ˆ Recent Updates

βœ… Completed

  • Tool consolidation: 41 β†’ 36 tools (12% reduction)

  • Enhanced vehicle search with sorting and smart filtering

  • Fixed date field mapping for proper creation dates

  • Vehicle deletion with safety confirmation

  • Hardcoded API defaults (only username/password required)

πŸ”§ Known Issues

  • Auto-main image not setting correctly on upload

  • hasImages flag showing false even with images

πŸ“ž Support

  1. Check test output: npm run test:verbose

  2. Review logs with LOG_LEVEL=debug

  3. See KNOWN_ISSUES.md for solutions

  4. Verify credentials in .env file


Production-ready MCP server providing complete vehicle dealership management for AI agents.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/loukach/stockspark-mcp-poc'

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