Appearance
MCP tools
The MCP server exposes 33 tools across listings, seller profiles, organizations, engagement/analytics, buyer accounts, media, and metadata. Each tool validates its input with the shared Zod schema (<Schema>.shape) and enforces a scope before running.
Scopes: listings:read (every authenticated user) · listings:write (dealers) · listings:moderate (platform staff — granted explicitly, not a default). Over stdio the local principal holds all scopes; over HTTP scopes come from the OAuth token. See Architecture and Data models.
Registered in apps/mcp-server/src/tools/register*.ts.
Listings — registerTools.ts
| Tool | Purpose | Scope |
|---|---|---|
search_vehicles | Search/filter with facets, sort, pagination | listings:read |
get_vehicle | Fetch one listing by id or VIN | listings:read |
create_listing | Publish a new listing (owned by caller) | listings:write |
update_listing | Modify a caller-owned listing (idempotent) | listings:write |
delete_listing | Soft-delete a listing | listings:write |
bulk_create_listings | Create up to 50 listings in one call | listings:write |
bulk_delete_listings | Delete up to 50 listings in one call | listings:write |
moderate_listing | Set moderation status (approved/pending/rejected) | listings:moderate |
restore_listing | Restore a soft-deleted listing | listings:moderate |
list_moderation_queue | List hidden/deleted listings for review | listings:moderate |
list_audit_log | Read the append-only write trail | listings:moderate |
Seller profile & locations — registerSellerTools.ts
| Tool | Purpose | Scope |
|---|---|---|
get_my_profile | Fetch your profile + locations (auto-provisions) | listings:read |
update_my_profile | Create/update your storefront profile | listings:write |
add_location | Add a branch/location | listings:write |
update_location | Update a location | listings:write |
remove_location | Remove a location | listings:write |
Organizations — registerOrganizationTools.ts
| Tool | Purpose | Scope |
|---|---|---|
create_organization | Create an org (caller becomes owner) | listings:write |
update_organization | Update an org you own | listings:write |
list_my_organizations | List orgs you belong to + your role | listings:read |
get_organization | Public org page by id or slug | listings:read |
list_organization_members | List members of your org | listings:read |
add_organization_member | Add a member by Keycloak subject | listings:write |
remove_organization_member | Remove a member (self-leave or owner) | listings:write |
Engagement & analytics — registerEngagementTools.ts
| Tool | Purpose | Scope |
|---|---|---|
get_price_rating | Fair-price rating vs. comparables | listings:read |
get_similar_vehicles | Recommend similar listings | listings:read |
compare_vehicles | Fetch 2–5 listings side-by-side | listings:read |
list_seller_reviews | Seller's approved reviews + aggregate | listings:read |
review_seller | Leave/update a 1–5 star seller review | listings:read |
moderate_review | Set review moderation status | listings:moderate |
Buyer account — registerAccountTools.ts
| Tool | Purpose | Scope |
|---|---|---|
search_vehicles_nl | Natural-language search | listings:read |
list_favorites | Fetch your watchlist | listings:read |
add_favorite | Add to watchlist (idempotent) | listings:read |
remove_favorite | Remove from watchlist (idempotent) | listings:read |
list_saved_searches | Your saved searches + alert settings | listings:read |
save_search | Save a search (optionally with alerts) | listings:read |
delete_saved_search | Delete a saved search | listings:read |
get_account | Buyer profile + notification prefs | listings:read |
update_account | Update buyer profile + notification prefs | listings:read |
Media — registerMediaTools.ts
| Tool | Purpose | Scope |
|---|---|---|
request_upload | Get an HMAC-signed browser upload link | listings:write |
upload_media | Upload a base64 image/video, returns a URL | listings:write |
Metadata — registerMetaTools.ts
| Tool | Purpose | Scope |
|---|---|---|
get_version | Server name + version | public |