Skip to main content
Glama
googlarz

Vinted MCP and CLI Server

get_seller

Fetch a seller's public profile on Vinted using their numeric user ID. Get username, active listings, feedback reputation score, total feedback count, country, and profile URL.

Instructions

Fetch a seller's public profile by their numeric user ID. Returns username, active listing count, feedback reputation score (0–1 float), total feedback count, country code, and profile URL. Use get_seller_feedback to read review texts and star ratings, and get_seller_items to browse their listings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sellerIdYesNumeric Vinted user ID, visible in profile URLs: vinted.fr/member/12345-username
countryNoCountry site where the seller is registeredfr

Implementation Reference

  • Handler function for the get_seller tool. Validates sellerId, then calls the lower-level getSeller endpoint function.
    export async function opGetSeller(
      client: VintedClient,
      input: { sellerId: number; country?: Country },
    ): Promise<Seller> {
      if (!input.sellerId) throw new Error('sellerId is required');
      return getSeller(client, input.sellerId, input.country ?? 'fr');
    }
  • Seller type definition used as the return type for get_seller.
    export interface Seller {
      id: number;
      username: string;
      itemCount?: number;
      feedbackReputation?: number;
      feedbackCount?: number;
      countryCode?: string;
      profileUrl: string;
      raw?: unknown;
    }
  • MCP tool registration with name 'get_seller', description, and inputSchema defining sellerId (required integer) and country (optional enum with default 'fr').
    {
      name: 'get_seller',
      description: 'Fetch a seller\'s public profile by their numeric user ID. Returns username, active listing count, feedback reputation score (0–1 float), total feedback count, country code, and profile URL. Use get_seller_feedback to read review texts and star ratings, and get_seller_items to browse their listings.',
      inputSchema: {
        type: 'object',
        properties: {
          sellerId: { type: 'integer', description: 'Numeric Vinted user ID, visible in profile URLs: vinted.fr/member/12345-username' },
          country: { type: 'string', enum: COUNTRIES, default: 'fr', description: 'Country site where the seller is registered' },
        },
        required: ['sellerId'],
      },
  • src/mcp.ts:221-221 (registration)
    Routes the 'get_seller' tool call to the opGetSeller handler in the MCP CallToolRequestSchema handler.
    case 'get_seller': result = await opGetSeller(c, a as any); break;
  • Low-level API endpoint function that fetches seller data from the Vinted API at /api/v2/users/{sellerId} and maps the response to the Seller type.
    export async function getSeller(
      client: VintedClient,
      sellerId: number,
      country: Country = 'fr',
    ): Promise<Seller> {
      const data = await client.apiGet<{ user: any }>(country, `/api/v2/users/${sellerId}`);
      const u = data.user ?? data;
      return {
        id: Number(u.id),
        username: String(u.login ?? u.username ?? ''),
        itemCount: u.item_count,
        feedbackReputation: u.feedback_reputation,
        feedbackCount: u.feedback_count,
        countryCode: u.country_code,
        profileUrl: `https://${DOMAIN[country]}/member/${u.id}`,
        raw: u,
      };
    }
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses returned fields but does not mention read-only nature, authorization requirements, or rate limits. Adequate but lacks behavioral context beyond output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. Purpose and alternatives are front-loaded. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description lists all return fields: username, active listing count, feedback score (0–1 float), total feedback count, country code, profile URL. Complete for a profile fetch tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%. Description adds value by explaining that sellerId is 'Numeric Vinted user ID, visible in profile URLs' and that country has a default of 'fr'. Provides useful context beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a clear verb+resource: 'Fetch a seller's public profile by their numeric user ID.' It also lists the specific fields returned, and distinguishes from siblings by naming get_seller_feedback and get_seller_items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool (fetch profile) and directs to alternatives for reviews and listings: 'Use get_seller_feedback to read review texts and star ratings, and get_seller_items to browse their listings.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/googlarz/vinted-mcp-cli'

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