Skip to main content

ciceksepeti-mcp 🇹🇷

mcp-name: io.github.mohammad-abbasi-sh/ciceksepeti-mcp

Unofficial read-only MCP server for ciceksepeti.com**, Türkiye's leading flower & gift delivery marketplace — search thousands of bouquets, plants and gifts, read product details (price, list price, stock, rating, seller, category), read customer reviews, browse 89 flower/plant/gift 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 ciceksepeti.com.

For AI agents

Add to your MCP client config (stdio):

{
  "mcpServers": {
    "ciceksepeti": {
      "command": "uvx",
      "args": ["ciceksepeti-mcp"]
    }
  }
}

Or run locally: python -m ciceksepeti_mcp.server (needs mcp<2, curl-cffi).

Tools

Tool Description
ciceksepeti_search Search flowers & gifts by keyword — query ("kırmızı gül", "orkide", "doğum günü hediyesi"), sort ("relevance" / "price_asc" / "price_desc"), limit 1..24, page 1-based; returns title, price in TRY, list price, review count, star rating (0-5), delivery note, URL, image
ciceksepeti_product_detail Detail of one product (product = full URL or path ending in "-at"): name, brand, price in TRY, stock status, rating, review count, seller, category path, description, images
ciceksepeti_list_categories 89 flower/plant/gift categories: Turkish name, URL, slug
ciceksepeti_price_stats Price statistics for a query: count, min / median / mean / max price in TRY across the first page
ciceksepeti_product_reviews Recent customer reviews of one product: reviewer, star rating and date (ciceksepeti does not server-render review bodies)

Example output (ciceksepeti_search / "gül"):

{"query": "gül", "sort": "relevance", "page": 1, "count": 10, "products": [
  {"title": "13'lü Kırmızı Gül Buketi",
   "url": "https://www.ciceksepeti.com/ask-sembolu-13-kirmizi-gul-buketi-at4033",
   "product_id": "4275287", "price_try": 899.99,
   "original_price_try": 1149.0, "price_currency": "TRY",
   "review_count": 26946, "rating": 4,
   "delivery": "Aynı Gün Ücretsiz Teslimat",
   "image": "https://cdn03.ciceksepeti.com/…"}, …]}

Example output (ciceksepeti_product_detail / 13'lü Kırmızı Gül Buketi):

{"name": "13'lü Kırmızı Gül Buketi", "sku": "at4033",
 "brand": "Çiçeksepeti", "price_try": 899.99, "price_currency": "TRY",
 "in_stock": true, "rating": 4.0, "review_count": 26946,
 "seller": "Çiçeksepeti", "category": "Çiçek > Gül", …}

Example output (ciceksepeti_price_stats / "gül"):

{"query": "gül", "sort": "relevance", "count": 10, "min_try": 479.99,
 "median_try": 884.99, "mean_try": 1097.59, "max_try": 2749.0}

How it works

ciceksepeti.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 30 product boxes (title, price, review count, star rating, delivery note), product pages carry a schema.org Product JSON-LD block plus a breadcrumb category path, and the homepage carries 89 category links. Sorts are URL params (orderby=2 price desc, orderby=3 price asc, verified live) and paging is page=N (verified live). Requests are spaced ~0.8s apart; everything is read-only, no login, no API key.

Install

uvx ciceksepeti-mcp        # run directly (needs uv)
# or
pip install ciceksepeti-mcp
ciceksepeti-mcp    # starts the MCP server on stdio

Tests

python -m venv .venv && .venv/bin/pip install -e .
.venv/bin/python -m unittest discover -s tests -v

Offline tests run on recorded fixtures (real pages fetched 2026-11-06); live tests hit ciceksepeti.com.

Roadmap

  • Category-scoped search (search within one /d/ category slug)
  • Occasion search (birthday, anniversary, Mother's Day collections)
  • Price history (track a product over days)

License

MIT — see LICENSE.

Metadata

Release files for ciceksepeti-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ciceksepeti-mcp 0.1.0
File Size Uploaded Provenance Actions
ciceksepeti_mcp-0.1.0.tar.gz 23.8 kB With provenance Details for ciceksepeti_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ciceksepeti-mcp 0.1.0
File Interpreter ABI Platform Actions
ciceksepeti_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for ciceksepeti_mcp-0.1.0-py3-none-any.whl

Total release size: 35.1 kB

Release files / ciceksepeti_mcp-0.1.0.tar.gz

Download URL ciceksepeti_mcp-0.1.0.tar.gz
Size 23.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c28c5bbebf0998e2527b096a16b265ca526904f0063d377bf30a641e1541e531
BLAKE2b-256 checksum
How to use checksums
48926a47b316dfb352e88337d21723e81ffb5b42dd954973fdacbdc36c580616
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 6, 2026.

Transparency log

Release files / ciceksepeti_mcp-0.1.0-py3-none-any.whl

Download URL ciceksepeti_mcp-0.1.0-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f9900bbd5ad2d67913321bf937c031def4826e1cb6d843faf22ff6f345e4fe7c
BLAKE2b-256 checksum
How to use checksums
95d449b8898bd218e2b69137548c1435634ecc30de843d08ea7ef20787e63471
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 6, 2026.

Transparency log

Security for ciceksepeti-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ciceksepeti_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page