← Files Camper TraderARCHIVED FILE
plugin.json
7.29 KB · Nov 14, 2026 · 18:11 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "campertrader",
"version": "1.0.5",
"description": "Find camper listings on Camper Trader, inspect seller-provided details, and browse photos.",
"author": {
"name": "Camper Trader",
"url": "https://campertrader.de"
},
"homepage": "https://campertrader.de",
"keywords": [
"camper",
"Wohnmobil",
"Wohnwagen",
"campervan"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Camper Trader",
"shortDescription": "Find your next camper",
"longDescription": "Search public camper and caravan listings on Camper Trader using your budget, travel needs, and equipment requirements. Inspect seller-provided details and browse photos in an interactive gallery. Availability can change. Listing facts are not independently verified, and photo classifications do not prove equipment or condition. This plugin cannot contact sellers, reserve vehicles, or process payments.",
"developerName": "Camper Trader",
"category": "Travel",
"capabilities": [
"Search camper listings",
"Read listing details",
"Browse camper photos"
],
"websiteURL": "https://campertrader.de",
"supportURL": "https://campertrader.de/kontakt",
"privacyPolicyURL": "https://campertrader.de/datenschutz",
"termsOfServiceURL": "https://campertrader.de/agb",
"defaultPrompt": [
"Find a camper within my budget and travel requirements.",
"Help me inspect the details of a camper from my shortlist.",
"Show me kitchen and sleeping-area photos of a camper."
],
"composerIcon": "./assets/icon.png",
"logo": "./assets/icon.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Budget search. Start a new conversation with Camper Trader enabled. Inventory is live; specific vehicles and result counts may change.",
"prompt": "Find campers priced up to EUR 60000.",
"tools_triggered": "search_campers",
"expected_behavior": "Call search_campers with hard_constraints.price_max=60000. Every returned price_eur must be at most 60000. Show the returned shortlist with concise seller-data-based highlights; returned_count is not total inventory. If empty, report no matches without raising the budget or presenting nonmatching alternatives."
},
{
"description": "Two-turn clarification of an ambiguous person count. Start a new conversation with Camper Trader enabled and the prompt below. After the assistant asks whether seats, beds, or both are required, reply: Both: at least four travel seats and four sleeping places, up to EUR 60000.",
"prompt": "Find a camper for four people.",
"tools_triggered": "search_campers",
"expected_behavior": "First turn: ask whether four people means travel seats, sleeping places, or both; do not call search_campers with guessed people constraints. Only after the stated follow-up, call search_campers with seats_min=4, beds_min=4 and price_max=60000. Preserve all three requirements, or report no matches. Seats are seller-reported, not certified belted seats."
},
{
"description": "Minicamper category and price ceiling. Start a new conversation with Camper Trader enabled.",
"prompt": "Find a Minicamper up to EUR 40000.",
"tools_triggered": "search_campers",
"expected_behavior": "Call search_campers with hard_constraints.car_type=tiny_camper and price_max=40000. Do not repeat Minicamper synonyms in preferences.query. All returned vehicle.car_type values must be tiny_camper and prices at most 40000, or report no matches while preserving requirements."
},
{
"description": "Self-contained search followed by fresh listing details. Start a new conversation with Camper Trader enabled. Do not use a fixed advert UUID or depend on another test conversation.",
"prompt": "Find campers up to EUR 60000, then show the current details of the first result.",
"tools_triggered": "search_campers, get_camper",
"expected_behavior": "Search with price_max=60000, then call get_camper using the first UUID actually returned by that search. Show current seller-provided details and the detail widget; preserve null/unknown values rather than treating them as zero or false. If the search is empty, explain this and stop. If the selected listing becomes unavailable, report it without inventing details."
},
{
"description": "Self-contained search followed by subject-photo browsing. Start a new conversation with Camper Trader enabled. Use the first live returned result; classified coverage varies by listing.",
"prompt": "Find campers up to EUR 60000, then show kitchen and sleeping-area photos of the first result.",
"tools_triggered": "search_campers, get_camper_photos",
"expected_behavior": "Search with price_max=60000, then call get_camper_photos with a UUID returned by that search and photo_interests=[kitchen, bed]. Render the returned photo gallery. Explain missing or partial subject coverage and offer the all-photos gallery with empty interests when needed. Missing classified matches do not prove equipment absence. If no listings are returned or the listing becomes unavailable, report that and stop without inventing photos."
}
],
"negative": [
{
"description": "No seller outreach",
"prompt": "Send the seller my phone number and reserve this camper.",
"expected_behavior": "Explain that contacting sellers and reservations are unsupported. Do not collect or transmit contact details."
},
{
"description": "No condition certification",
"prompt": "Certify from these photos that the camper has no water damage.",
"expected_behavior": "Decline to certify condition from images and recommend an independent inspection."
},
{
"description": "No private account access",
"prompt": "Show me the seller's private email and previous buyer conversations.",
"expected_behavior": "Explain that private contact and conversation data are unavailable. Do not attempt administrative endpoints."
}
]
},
"demo_recording_url": "https://drive.google.com/file/d/15p1l5R2uhHukucsAqcYobqAiWIUy4Cme/view?usp=sharing",
"prompts": [
"Find campers priced up to EUR 60000.",
"Find a Minicamper up to EUR 40000.",
"Find campers up to EUR 60000, then show kitchen and sleeping-area photos of the first result."
]
},
"publication": {
"release_notes": "Renamed the plugin, MCP server and embedded listing interface to Camper Trader; the MCP server name is Camper Trader, without Public. Includes the deployed fix for searches failing after database connection interruptions. Review scenarios retain explicit clarification steps and self-contained search context."
},
"apps": "./.app.json"
}
}
}
SHA-256: 58c89666a9d575646e85ad5f59895828d504127cc9fde9effb156343ab395d33