n11-mcp
Click on "Deploy 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., "@n11-mcpfind the cheapest iPhone on n11 and show me price stats"
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.
n11-mcp 🇹🇷
mcp-name: io.github.mohammad-abbasi-sh/n11-mcp
Unofficial read-only MCP server for n11.com, Türkiye's #3 marketplace — search millions of products, read product details (price, list price, stock, rating, seller, category), read customer reviews, browse the 11 top categories, and get price statistics (min / median / mean / max) for any query.
Built by Mohammad Abbasi as part of the "Turkey MCP factory" (Sepehr-style pipeline). Not affiliated with n11.com.
For AI agents
Add to your MCP client config (stdio):
{
"mcpServers": {
"n11": {
"command": "uvx",
"args": ["n11-mcp"]
}
}
}Or run locally: python -m n11_mcp.server (needs mcp<2, curl-cffi).
Related MCP server: digikala-mcp
Tools
Tool | Description |
| Search products by keyword — |
| Detail of one product ( |
| The 11 top categories: Turkish name, URL, slug |
| Price statistics for a query: count, min / median / mean / max price in TRY across the first page |
| Recent customer reviews of one product: reviewer and star rating (n11 does not server-render review bodies) |
Example output (n11_search / "iphone"):
{"query": "iphone", "sort": "relevance", "page": 1, "count": 10, "products": [
{"title": "Apple iPhone 17 Pro Max 256 GB (Apple Türkiye Garantili)",
"url": "https://www.n11.com/urun/apple-iphone-17-pro-max-256-gb-apple-turkiye-garantili-100816929",
"sku": "127340433485", "brand": "Apple", "price_try": 112434.28,
"original_price_try": 117119.04, "price_currency": "TRY",
"in_stock": true, "image": "https://n11scdn.akamaized.net/…"}, …]}Example output (n11_product_detail / iPhone 17 Pro Max):
{"name": "Apple iPhone 17 Pro Max 256 GB (Apple Türkiye Garantili) Turuncu 256 GB Fiyatları ve Özellikleri",
"sku": "127340433485", "brand": "Apple", "price_try": 112434.28,
"original_price_try": 117119.04, "price_currency": "TRY", "in_stock": true,
"rating": 5.0, "review_count": 227,
"category": "Elektronik > Telefon & Aksesuarları > Cep Telefonu > Apple Cep Telefonu",
"seller_company": "SALİM TEKEMEN", "seller": "TKMNBILISIM",
"seller_badge": "Yetkili MaÄŸaza", "seller_grade": 100,
"shipment_city": "Antalya", "shipment_condition": "Ücretsiz Kargo", …}Example output (n11_price_stats / "iphone"):
{"query": "iphone", "sort": "relevance", "count": 10, "min_try": 57199.0,
"median_try": 106099.49, "mean_try": 100880.09, "max_try": 150999.55}How it works
n11.com answers plain HTTP clients, and the transport uses Chrome TLS
impersonation (curl-cffi, chrome120) so a stricter bot check does not
break the server. There is no public JSON API — data comes from the
site's server-rendered pages: search pages carry a schema.org ItemList
JSON-LD block (20 products per page), product pages carry a schema.org
Product JSON-LD block plus a breadcrumb category path and an embedded
seller JSON object, and the homepage carries the 11 top categories.
Requests are spaced ~0.8s apart; everything is read-only, no login,
no API key.
Install
uvx n11-mcp # run directly (needs uv)
# or
pip install n11-mcp
n11-mcp # starts the MCP server on stdioTests
python -m venv .venv && .venv/bin/pip install -e .
.venv/bin/python -m unittest discover -s tests -vOffline tests run on recorded fixtures (real pages fetched 2026-11-06); live tests hit n11.com.
Roadmap
Category-scoped search (search within one category slug)
Other sellers of the same product (compare prices per seller)
Price history (track a SKU over days)
License
MIT — see LICENSE.
Available Tools
5 toolsn11_list_categoriesB
Top categories of n11.com (11 main categories): Turkish name, category URL and slug.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, but the tool is parameterless and the description discloses the returned attributes (Turkish name, category URL, slug), which is useful context. It does not say whether the list is static, cached, or localized beyond Turkish, leaving the read-only/list nature to be inferred from the wording.
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?
One short fragment plus a parenthetical; nothing is wasted and the scope ('11 main categories') is front-loaded. The telegraphic style and the line break before 'category URL' slightly hurt readability but not meaning.
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?
An output schema exists, so the description needn't restate return values, yet it does partially, while omitting the one thing an agent lacks: guidance on using this as the category-discovery step before search or product detail calls. Adequate for a zero-parameter list tool but not fully closed.
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?
The tool takes zero parameters, so there is no parameter meaning for the description to carry; the baseline of 4 applies. The description usefully frames the call as taking no narrowing input by describing only the output shape.
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 names a specific verb-resource pair ('Top categories of n11.com') and quantifies scope ('11 main categories'), so an agent can tell it apart from the search/product siblings. It stops short of a full 'list all top-level categories' phrasing but the intent is unambiguous.
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?
There is no statement of when to call this versus n11_search or n11_product_detail, nor any exclusion or prerequisite. The agent must infer that this is the entry point for discovering category URLs/slugs before searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n11_price_statsB
Price statistics for a search query: product count, min / median / mean / max price in TRY across the first page of results. query: e.g. "iphone 15"; limit 1..24 (default 24 = whole first page).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | relevance | |
| limit | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It does disclose one important behavioral trait — statistics are computed only over the first page of results, so min/max are not catalog-wide — but says nothing about auth, rate limits, live-vs-cached data, or whether prices reflect discounts or list price.
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?
Two sentences, front-loaded with what is returned, then parameter hints — no filler. The fragment style ('query: e.g. ...; limit 1..24') is dense but readable; a small structure improvement would be to name the uncovered `sort` parameter in the same list.
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?
An output schema exists, so the description does not need to explain return values, and it is adequate for a simple 3-parameter read tool. The gaps are the undocumented `sort` parameter and the absence of any caveat about how the first-page-only scope limits the statistics' interpretation.
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 0%, so the description must compensate, but it only covers two of three parameters. The `sort` parameter is never mentioned, and no accepted sort values are given despite it having no enum; `query` and `limit` get light clarification (example string, 1..24 range, default meaning).
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?
States a specific verb and resource (price statistics for a search query) and enumerates exactly what is computed: count plus min/median/mean/max in TRY over the first page. That makes it clearly distinct in effect from n11_search and n11_product_detail, though no sibling is named explicitly.
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?
Usage is implied — you call this when you want aggregate pricing rather than a product list — and the limit note ('default 24 = whole first page') hints at a common operating mode. There is no explicit when-to-use/when-not guidance and no pointer to the sibling tools for the raw-listing case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n11_product_detailA
Detail of one product: name, brand, price in TRY, list price, stock status, rating and review count, seller (company, store name, authorized-store badge, grade), category path, description, images. product: a full product URL or site path containing "/urun/…" (find one with n11_search first), e.g. "/urun/apple-iphone-17-pro-max-256-gb-apple-turkiye-garantili-100816929".
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that results include TRY pricing, stock status, seller badges, ratings, and images, but these are largely return-shape details and it does not explicitly state read-only behavior, error handling, or rate-limit context.
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 front-loaded with what the detail contains and then explains the single parameter. The field enumeration is somewhat long and partly duplicates the output schema, but it helps an agent decide whether to call the tool and is not padded.
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 one-parameter retrieval tool with an output schema, the description covers both what the tool returns at a high level and exactly how to supply the product argument. Only edge-case behavior for invalid URLs or missing products is absent, which is a minor gap.
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 0% and the schema only defines a bare string parameter. The description compensates fully by specifying that product must be a full product URL or site path containing /urun/, gives an example, and tells the agent to obtain it via n11_search.
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 states a specific resource and scope: detail of one product, then enumerates the fields returned. It also points to n11_search for obtaining the URL, which helps distinguish it from the broad search sibling.
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?
It gives a clear prerequisite: find a product with n11_search first, then call this with a URL or path containing /urun/. It does not spell out when to prefer n11_product_reviews or n11_price_stats instead, so explicit alternatives are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n11_product_reviewsA
Recent customer reviews of one product: reviewer and star rating. (n11 does not server-render review bodies, so only author + rating are returned.) product: a full product URL or site path containing "/urun/…" (find one with n11_search first). limit 1..24.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| product | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the burden, and it discloses a genuinely non-obvious limitation: n11 does not server-render review bodies, so only author and rating come back. That pre-empts a false expectation about returned data; it says nothing about rate limits, failure modes, or ordering beyond "recent".
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?
Front-loaded with the purpose, then constraints, with no filler sentences. The parenthetical about server-rendering is slightly buried mid-sentence but earns its place by explaining the reduced payload.
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 two-parameter read-only tool with an output schema, everything an agent needs is present: identifier format, limit bounds, where to get the identifier, and what fields come back. Return-value documentation is largely redundant given the output schema, so no meaningful gap remains.
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 0%, so the description must supply the meaning, and it does: `product` accepts a full URL or site path containing "/urun/…", and `limit` is bounded 1..24 — a constraint absent from the schema, which only shows a default of 5. It doesn't say what happens when limit exceeds the available review count.
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?
States a specific verb+resource ("Recent customer reviews of one product") plus the exact payload ("reviewer and star rating"), which separates it from n11_product_detail and the other siblings. An agent knows immediately what this returns without opening the schema.
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?
Gives a clear workflow prerequisite: obtain the product identifier via n11_search first, and implies the tool is per-product rather than bulk. It stops short of stating when not to use it (e.g. versus n11_product_detail for rating aggregates or full descriptions), so no explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n11_searchA
Search n11.com products by keyword. query: Turkish or ASCII, e.g. "iphone", "kablosuz kulaklık", "laptop". sort: "relevance" (default), "price_asc" (cheapest first), "price_desc" (most expensive first). limit 1..24; page 1-based. Returns title, price in TRY, list price, brand, SKU, product URL, image and stock status per product.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No | relevance | |
| limit | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does well: it discloses the return fields (title, price in TRY, list price, brand, SKU, URL, image, stock), the limit range, and 1-based pagination. It stops short of noting rate limits or auth, but for a read-only search that gap is minor.
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?
Compact and front-loaded, with each clause covering a parameter or the return shape. Formatting is a bit run-together but no sentence is wasted.
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 4-parameter search tool with an output schema, the description covers query syntax, sorting, pagination and return fields. Nothing essential to correct invocation is missing.
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 0%, and the description compensates thoroughly: it explains query accepts Turkish or ASCII with examples, enumerates the sort values with their meanings (relevance default, price_asc, price_desc), and specifies limit 1..24 and page as 1-based. This is meaningfully more than the bare schema offers.
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?
States a specific verb and resource: 'Search n11.com products by keyword.' It is clearly distinct from the sibling tools (price stats, reviews, detail, categories), so an agent can identify its role without opening the schema.
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?
Usage is implied by the nature of a search tool, but the description never says when to prefer this over siblings like n11_product_detail or n11_list_categories, nor does it state prerequisites. An agent must infer the routing.
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.
5 tool updates
v0.1.0- First observed
n11_list_categories - First observed
n11_price_stats - First observed
n11_product_detail - First observed
n11_product_reviews - First observed
n11_search
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: keyword search, single-product detail, product reviews, aggregate price statistics, and category listing. Although n11_search and n11_price_stats both accept a query, their descriptions make the list-vs-aggregate distinction explicit.
All tools use the same n11_ prefix and snake_case style, which is highly predictable. The only minor inconsistency is grammatical form: some are verb-led (n11_search, n11_list_categories) while others are noun phrases (n11_product_detail, n11_price_stats).
Five tools is well-scoped for a read-only marketplace data server. Each tool covers a distinct layer of the workflow: discovery, detail, reviews, pricing summary, and category navigation.
The tool surface covers the core read-only workflows: search, inspect, review, price-compare, and browse categories. Minor gaps remain, such as browsing products within a category or filtering search by category, but agents can work around these using keyword search and returned URLs.
Maintenance
Related MCP Connectors
Search ~8.5M products from 2,500+ Central European e-shops. Semantic, keyword, GTIN lookup.
The E-commerce Marketplace For Every AI Agent. A Governed Catalog Of 600M+ US Products, Plus Four Agent Ready Capabilities Search, Price Comparison, Product-Vs-Product, And Detailed Q&A.
Search 100+ US retailers, 260M+ products with real-time pricing, stock, and price history. Documentation - https://www.lemmebuyit.com/developer Homepage - https://www.lemmebuyit.com
Merchant product catalogs for AI agents: price, availability, specs, variants, buy links. Read-only.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables searching 580K+ Turkish businesses and 90K+ mosques by name, city, category, or attributes, retrieving full details and canonical profile URLs. It lets AI agents answer location and business questions about Turkey with current, sourced data.MIT
- AlicenseAqualityAmaintenanceEnables AI agents to search Digikala's catalogue, compare every seller's offers and prices, review ~30 days of price history, read customer reviews and Q&A, and surface current deals, all through read-only tools.23179 PyPI40MIT
- AlicenseAqualityAmaintenanceEnables AI agents to search Technolife's electronics catalog, compare every seller's cash, installment and buy-now-pay-later prices, read specs and reviews, and catch current deals and campaigns. It is read-only by design, with no login, basket, orders or payment access.1992 PyPI7MIT
- AlicenseAqualityAmaintenanceEnables AI agents to search and compare home appliances, TVs, electronics and tools on the Iranian shop Baneh, find the cheapest in-stock matches, browse by category or brand, and read product details and buyer reviews. Runs read-only with no authentication, with prices returned in Toman.7185 PyPIMIT