Personal Vinted MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VINTED_MODE | No | Vinted operating mode: mock for simulation or live to enable the unofficial live adapter. | mock |
| MCP_PUBLIC_URL | No | Public HTTPS URL of the MCP endpoint used by ChatGPT remote access (for example https://your-domain.example). | |
| VINTED_BASE_URL | No | Base URL for the Vinted site, for example https://www.vinted.it. | |
| VINTED_ENV_FILE | No | Absolute path to an alternative private .env file. Environment variables already set take precedence over the file. | |
| MCP_OWNER_SECRET | No | Secret generated for the MCP server, used to authorize OAuth clients; this is not the Vinted password. | |
| PHOTO_DOWNLOAD_HOSTS | No | Comma-separated exact trusted hosts allowed for photo downloads. | |
| VINTED_ENABLE_UNOFFICIAL_API | No | Set to true to explicitly enable the unofficial live Vinted adapter. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_statusB | Return mode and session file presence, never credentials. |
| get_listing_profilesA | Read verified category/brand/condition/size/package IDs and labels from local configuration. Mock IDs are only for simulation. Never guess real IDs or unverified item characteristics. |
| import_photosA | Download 1–20 user-provided ChatGPT photo attachments and save locally without EXIF/GPS. Requires actual file objects from ChatGPT, never sandbox paths or invented URLs. |
| prepare_listingA | Save an immutable listing for 30 minutes and show summary and confirmation button. Does not contact Vinted. Any edits require a new draft and renewed confirmation. |
| get_listingB | Read exact listing summary and publication status without contacting Vinted. |
| publish_listingA | Publish the exact reviewed draft ONLY after the user's confirmation button click. External write; never call proactively. Repeated successful calls return the saved result. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| review_widget |
TDQS
Scored across 6 tools
The lifecycle actions (import_photos, prepare_listing, publish_listing, get_listing) are clearly distinct in purpose and readable. The only mild overlap is between get_status and get_listing_profiles, which both read local state/config, though their descriptions differentiate them well enough.
All six tools follow a consistent snake_case verb_noun pattern (get_status, get_listing_profiles, import_photos, get_listing, prepare_listing, publish_listing), with no mixed conventions or vague verbs.
Six tools map cleanly onto a focused create-and-publish workflow, each earning its place with a distinct step. The surface is well-scoped for the narrow purpose.
The core lifecycle (read config, import photos, prepare immutable draft, publish, inspect listing/status) is covered with sensible safety gates. Minor gaps exist — no cancel/withdraw of a prepared draft and no way to list existing listings — but these are workable around the immutable-draft design.