Mercari MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mercari MCP Serversearch for vintage cameras under $200"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@striderlabs/mcp-mercari
MCP (Model Context Protocol) server for automating Mercari resale marketplace operations using Playwright and Browserbase.
Overview
This server exposes Mercari functionality as MCP tools, enabling AI assistants to search listings, manage your selling inventory, view purchase/sales history, and create new listings.
Related MCP server: mcp-amazon
Requirements
Node.js >= 18
A Browserbase account with CDP URL
Mercari account (for authenticated operations)
Installation
npm install @striderlabs/mcp-mercariOr from tarball:
npm install ./striderlabs-mcp-mercari-1.0.0.tgzConfiguration
Set the following environment variable:
export BROWSERBASE_CDP_URL="wss://connect.browserbase.com?apiKey=YOUR_KEY&sessionId=YOUR_SESSION"Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"mercari": {
"command": "npx",
"args": ["@striderlabs/mcp-mercari"],
"env": {
"BROWSERBASE_CDP_URL": "wss://connect.browserbase.com?apiKey=YOUR_KEY&sessionId=YOUR_SESSION"
}
}
}
}Tools
search_listings
Search Mercari listings by keyword, category, and price range.
Parameters:
keyword(required): Search termcategory(optional): Category filter (e.g. "Electronics", "Clothing")min_price(optional): Minimum price in USDmax_price(optional): Maximum price in USDcondition(optional):new|like_new|good|fair|poorlimit(optional): Max results (default: 20)
Example:
{
"keyword": "iPhone 14",
"max_price": 600,
"condition": "good",
"limit": 10
}get_listing_details
Get detailed information about a specific listing.
Parameters:
listing_id(required): Mercari item ID or full URL
Example:
{
"listing_id": "m12345678"
}get_my_listings
Get listings you're currently selling (requires authentication).
Parameters:
status(optional):on_sale|sold_out|all(default:on_sale)
create_listing
Create a new item listing on Mercari (requires authentication).
Parameters:
title(required): Item titledescription(required): Item descriptionprice(required): Price in USDcondition(required):new|like_new|good|fair|poorcategory(optional): Item categoryshipping_from(optional): State code (e.g. "CA")images(optional): Array of local file paths to item images
Example:
{
"title": "Nike Air Max 90 Size 10",
"description": "Worn twice, great condition. No box.",
"price": 85,
"condition": "like_new",
"shipping_from": "CA",
"images": ["/path/to/shoe-front.jpg", "/path/to/shoe-side.jpg"]
}get_purchases
View your purchase history (requires authentication).
Parameters:
limit(optional): Max items to return (default: 20)
get_sales
View your sales history (requires authentication).
Parameters:
limit(optional): Max items to return (default: 20)
Authentication
Authenticated tools (get_my_listings, create_listing, get_purchases, get_sales) require an active Mercari session in the Browserbase browser. To authenticate:
Use Browserbase's live view to navigate to mercari.com and log in manually
The session cookies will persist for subsequent tool calls
How It Works
This server uses Playwright to control a browser via Browserbase's CDP endpoint. Each tool call:
Connects to the remote browser via CDP
Navigates to the relevant Mercari page
Extracts or fills in data using DOM selectors
Returns structured JSON results
License
MIT
Available Tools
6 toolscreate_listingB
Create a new listing on Mercari
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Listing price in USD | |
| title | Yes | Item title | |
| images | No | Local file paths or URLs of item images | |
| category | No | Item category | |
| condition | Yes | Item condition | |
| description | Yes | Item description | |
| shipping_from | No | Ship from state code (e.g. 'CA') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It only says 'Create', implying a write operation, but gives no details about side effects, authorization needs, or success/error behavior. More context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded. However, it is so brief that it feels under-specified rather than efficiently written. Slightly more detail would improve it without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters, 4 required, and an enum for condition, the description is too sparse. It does not explain what happens upon creation (e.g., returns listing ID), any constraints, or required setup. Lacks completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters. The description adds no extra information about parameters, hence baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new listing on Mercari', with a specific verb and resource. It distinguishes well from sibling tools like get_my_listings or search_listings which are read operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or restrictions. It lacks explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_listing_detailsB
Get detailed information about a specific Mercari listing
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes | Mercari listing ID or full URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'detailed information' without specifying what that includes (e.g., price, condition, seller info). No mention of authentication needs, rate limits, or side effects. For a read operation, the lack of detail on return behavior is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no superfluous words. It is efficient and front-loaded. However, it could include a bit more context without losing conciseness, such as what 'detailed information' means.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is incomplete. It does not describe the response format or list the fields returned. For a complete understanding, an AI agent would need to guess or rely on prior knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the parameter 'listing_id' is described as 'Mercari listing ID or full URL'). The tool description adds no further semantics beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('get detailed information') and the resource ('specific Mercari listing'), with a verb+resource structure. It distinguishes from sibling tools like get_my_listings, get_purchases, and search_listings, which operate on different scopes (user-specific lists, purchases, or search queries).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. For example, it does not mention that this tool retrieves a single listing by ID, while search_listings is for broad queries. The description lacks context about prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_listingsA
Get listings the authenticated user is currently selling
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by listing status (default: on_sale) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It accurately states the function but lacks details on pagination, rate limits, or authentication requirements. The description is honest but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no filler words. Front-loaded and to the point. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description is adequate. However, it could add context like 'returns only listings owned by the user' and 'default filters' to improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the optional status parameter is described). Description adds no extra meaning beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves listings the authenticated user is selling. The verb 'get' and resource 'my listings' are specific and distinguish from sibling tools like get_purchases (buyer perspective) and search_listings (general search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the user wants their own active listings, but no explicit guidance on when to use vs alternatives like search_listings or get_listing_details. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_purchasesA
View purchase history for the authenticated user
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max purchases to return (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully convey behavior. It only states 'View' (implies read-only) but lacks details on authorization beyond 'authenticated user', pagination, rate limits, or what data is returned (e.g., refunded purchases).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that directly states the tool's purpose without extraneous words, earning high marks for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple tool with one optional parameter, the description is minimally adequate. However, it omits potential details like sorting, pagination mechanics, or return value structure, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'limit' described as 'Max purchases to return (default 20)'. The description adds no additional meaning, meeting the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (View) and resource (purchase history) and clearly distinguishes from sibling tools like get_sales (seller view), establishing it's for the buyer's perspective.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for viewing own purchase history but does not explicitly state when to use this versus alternatives like get_sales or search tools. No guidance on prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_salesA
View sales history for the authenticated user
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max sales to return (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description only implies a read operation ('View') but does not disclose pagination, caching, or authentication requirements beyond 'authenticated user'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words, sharply focused on the tool's core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple list tool with one optional parameter, but lacking description of the return format or content of sales history, which would benefit an agent without output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (only one parameter with description). The description adds no additional meaning beyond what the schema already provides for the 'limit' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'View' and resource 'sales history', with scope 'for the authenticated user'. This distinguishes it from siblings like get_purchases and get_my_listings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for viewing one's own sales but does not explicitly contrast with alternatives like get_purchases or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsC
Search Mercari listings by keyword, category, and price range
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 20) | |
| keyword | Yes | Search keyword | |
| category | No | Category filter (e.g. 'Electronics', 'Clothing') | |
| condition | No | Item condition filter | |
| max_price | No | Maximum price in USD | |
| min_price | No | Minimum price in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It does not mention that it is a read-only operation, any rate limits, pagination behavior, or that it searches public listings only. The limit parameter is present but no pagination details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Could be more structured with separate sentences for scope or behavior, but adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no output schema, and no annotations, the description is too sparse. It omits return format, pagination, default behavior, and search scope (public vs private).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all 6 parameters described in schema). The description paraphrases some parameters (keyword, category, price range) but adds no new semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches listings by keyword, category, and price range. However, it does not distinguish from sibling tools like 'get_my_listings' (which searches user's own listings) or 'get_listing_details'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., get_my_listings, get_listing_details). The description only states what it does, not when or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.0.0- First observed
create_listing - First observed
get_listing_details - First observed
get_my_listings - First observed
get_purchases - First observed
get_sales - First observed
search_listings
TDQS
Each tool targets a distinct action: viewing own listings, purchases, sales, searching, getting details, and creating listings. No overlap in purpose.
All tools follow a consistent verb_noun pattern (e.g., get_my_listings, search_listings, create_listing), making the set predictable.
With 6 tools covering core marketplace operations (search, view, create), the count is well-scoped and not excessive.
Missing update and delete for listings, which are common lifecycle operations. The set covers creation and reading but not full CRUD.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to iā¦
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
AI-powered browser automation ā navigate, click, fill forms, and extract data from any website.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to control browser automation through natural language prompts using Playwright, supporting visual element interaction, PDF generation, screenshots, and testing assertions.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search products, manage cart, place orders, and track shipments on Amazon via browser automation.271MIT
- AlicenseAqualityDmaintenanceEnables AI agents to search products, view item details, track and place bids, make Buy It Now purchases, view order history, and track shipments on eBay via browser automation with Playwright.716MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to perform browser automation using Playwright, including navigation, content extraction, screenshot analysis, and custom script execution.517MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/markswendsen-code/mcp-mercari'
If you have feedback or need assistance with the MCP directory API, please join our Discord server