get_user_contextLABSCO SUMMARY
A dealership's inventory becomes something an assistant can actually work.
Reference data, listing, photos, pricing and portal publishing sit on one surface, so "take this car in and get it live" is one conversation instead of four screens. The analytics tools then point at the stock that is not moving.
What it is
A dealership inventory server over the StockSpark and Carspark platform, with 36 tools across organisation, reference data, vehicles, images, analytics, publishing, leads and performance. It covers the whole life of a listing: build the vehicle from reference data, photograph it, price it, publish it, then watch leads and performance.
What you get
- The company and dealer you are working as, chosen from the ones your account can reach (
get_user_context,list_user_companies,select_company,list_company_dealers,select_dealer) - Reference data — makes, models, trims, transmissions, body styles, fuels and colours — plus progressive version search, version comparison, and a complete data template for a version (
get_vehicle_makes,get_vehicle_models,get_vehicle_trims,search_vehicle_versions,compare_vehicle_versions,get_vehicle_version_template) - A vehicle created from that template or by hand, then read, updated, repriced or removed (
add_vehicle,get_vehicle,update_vehicle,update_vehicle_price,delete_vehicle) - Inventory searched and filtered by make, model, type, mileage, price and whether it has images, sorted the way you ask (
list_vehicles) - Images uploaded in bulk from files or URLs, with a main image you set and individual ones removed (
upload_vehicle_images,get_vehicle_images,set_vehicle_main_image,delete_vehicle_image) - Slow stock identified, overall stock health measured, a bulk discount applied, and pricing suggestions returned (
get_underperforming_vehicles,analyze_inventory_health,apply_bulk_discount,get_pricing_recommendations) - Publishing to the portals your account has configured, with status readable per vehicle (
publish_vehicle,unpublish_vehicle,get_publication_status,list_available_portals) - Customer enquiries per vehicle and lead trends across the stock (
get_vehicle_leads,analyze_lead_trends)
Requirements
A StockSpark account — the server signs in with STOCKSPARK_USERNAME and STOCKSPARK_PASSWORD from the client config, and refreshes its own OAuth2 token. It runs from a local checkout, so Node and a clone of the repository. STOCKSPARK_COUNTRY defaults to it. Portal publishing needs MYPORTAL_ACTIVATION_CODE or AUTOMOBILE_IT_ACTIVATION_CODE, and lead tracking needs STOCKSPARK_API_KEY. Two known issues to expect: the main image is not always set automatically on upload, and the hasImages filter can report false for vehicles that do have images.
Setup effort
Build from source — git clone https://github.com/loukach/stockspark-mcp-poc.git
USE CASES
Listing a car you just took in
Search the versions until you have the exact trim, pull its complete data template, and create the vehicle from that rather than typing specifications by hand. Then upload the photos and set the one buyers see first.
Finding out why a car has been sitting
Ask which vehicles are underperforming, then look at the leads on the one you are worried about. Days in stock plus enquiry count usually says whether the problem is the price or the listing.
Running a discount across slow stock
Get pricing suggestions for what you hold, then apply a bulk discount to the selection rather than editing prices one at a time. A hundred repricings become one call.
Getting a listing in front of buyers
Publish to the portals your account has configured and check the status came back clean. Unpublishing is the same call in reverse when the car sells.
Finding the vehicles with no photos
Filter the inventory for listings missing images and fix them in a batch. Bear in mind the hasImages flag has a known defect and can report false for vehicles that do have pictures, so confirm before deleting anything.
Working across more than one dealer
Read which company and dealer you are currently acting as, list what your account can reach, and switch before you start. Every later call is scoped by that choice.
36 tools
Listed in project docs. Your client may show a different list.
list_user_companiesselect_companylist_company_dealersselect_dealersearch_vehicle_versionscompare_vehicle_versionsget_vehicle_version_templateget_vehicle_makesget_vehicle_modelsget_vehicle_trimsget_vehicle_transmissionsget_vehicle_bodiesget_vehicle_fuelsget_vehicle_colorsadd_vehicleget_vehiclelist_vehiclesupdate_vehicleupdate_vehicle_pricedelete_vehicleupload_vehicle_imagesget_vehicle_imagesset_vehicle_main_imagedelete_vehicle_imageget_underperforming_vehiclesanalyze_inventory_healthapply_bulk_discountget_pricing_recommendationspublish_vehicleunpublish_vehicleget_publication_statuslist_available_portalsget_vehicle_leadsanalyze_lead_trendsget_mcp_performanceBEFORE YOU INSTALL
What to know first
Tools you get
36 tools named in the project's documentation.
Requires
- STOCKSPARK_PASSWORD in your environment
- STOCKSPARK_USERNAME in your environment
Optional
STOCKSPARK_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/loukach/stockspark-mcp-poc.git
cd stockspark-mcp-poc
npm installMCP Clients
Claude Desktop
{
"mcpServers": {
"stockspark": {
"command": "node",
"args": [
"<YOUR_PATH_TO_STOCKSPARK_MCP_POC>/src/index.js"
],
"env": {
"STOCKSPARK_USERNAME": "<YOUR_STOCKSPARK_USERNAME>",
"STOCKSPARK_PASSWORD": "<YOUR_STOCKSPARK_PASSWORD>"
}
}
}
}STOCKSPARK_API_KEY is optional: it is only needed for the lead tracking tools (get_vehicle_leads, analyze_lead_trends), and the project documents supplying it in a .env file rather than in this block.