Technolife
PYPI · TECHNOLIFE-MCP
Unofficial read-only Technolife: search electronics, compare sellers and installment prices, deals.
Available components
Last scanned (11 hours ago)
Scores higher than 65% of PyPI servers
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 1 of 35 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to sepehr071/technolife-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3035 tokens (~159/item across 19 items; 19 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management13
- Stability check failed: the tool surface changed between 0.1.0 and 0.4.1: 0 tool removals, 19 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 19 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 22 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- Package version: 0.4.0 → 0.4.1 functional
- 20 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7.
- 19 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 18 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- Package version: 0.3.0 → 0.4.0 functional
- Package version: 0.2.2 → 0.3.0 functional
- 16 Oct 26 −6
- Stability: 0.40 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Stability: 0.40 → fail ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 180 → 156 ▲ functional
- Package version: 0.2.2 → 0.3.0 functional
- 15 Oct 26 +37
- Injection markers: unverified → pass ▲ security
- Tool coverage: unverified → 100 ▲ functional
- Stability: unverified → 0.40 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- 14 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- Package version: 0.1.1 → 0.2.2 functional
- 13 Oct 26 0
- Malware scan: unverified → pass ▲ security
- Package version: 0.2.1 → 0.2.2 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 22 Oct 2026 · Analysed pypi/technolife-mcp@0.4.1
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | pypi |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | sepehr071/technolife-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/sepehr071/technolife-mcp/.github/workflows/publish.yml@refs/tags/v0.4.1 |
| Rekor log index | 3390438633 |
| Predicate type | PyPI publish attestation https://docs.pypi.org/attestations/publish/v1 |
| Subject digest | sha256:63fdf92b462acc8246fff30b3be54809bc428cd35b84776baa1980a48e331873 |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 35 packages
| Packages resolved | 35 |
|---|---|
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
tl_campaigns Campaigns ~135
List current campaigns, or show one campaign's sections and products. - Without code: campaign landings (code) and promotion pages (page_url) from the home page. - With code: the campaign's carousels with a few products each, and its links. Pass a page_url to tl_category_products to list all its products (products_in_carousel counts only the carousel).
| Name | Type | Req | Description |
|---|---|---|---|
| code | – | – | Campaign landing code from this tool's list, e.g. 'payday-technolife'. Omit to list current campaigns. |
| products_per_section | integer | – | Products to show per carousel of a campaign. |
No output schema declared.
No examples provided.
tl_categories Categories ~120
Find category pages and their urls for tl_category_products. - With query: categories anywhere in the menu whose name matches (best way to get a url). - With url: that category's sub-pages (brand and series pages). - With neither: the top-level categories and the titles of their children (get a child's url with query).
| Name | Type | Req | Description |
|---|---|---|---|
| query | – | – | Category name part, e.g. 'لپ تاپ گیمینگ'. |
| url | – | – | List this category's sub-pages (brands, series), e.g. 'category/mobile/mobile-phone'. |
No output schema declared.
No examples provided.
tl_category_filters Category filters ~101
List the filters of a category, brand or promotion page: brands, categories, price range and attributes with their codes. Use before tl_category_products to get brand_codes, category_codes (brand and promotion pages) and attribute_codes (RAM, screen size, CPU...).
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Page path from tl_categories / tl_find_brand / tl_campaigns, e.g. 'category/laptop-equipment/laptop', 'brand/samsung'. |
No output schema declared.
No examples provided.
tl_category_products Browse a category or brand ~299
List the products of a category, brand or promotion page with prices, discount, stock and rating. Use to browse a product type or brand by price or popularity. Get brand and attribute codes and the price range from tl_category_filters first. For free text use tl_search.
| Name | Type | Req | Description |
|---|---|---|---|
| attribute_codes | – | – | Attribute codes from tl_category_filters (all must match), e.g. [4447] (16 GB RAM). |
| brand_codes | – | – | Brand codes from `brands` of a result or tl_find_brand, e.g. [16, 19]. |
| category_codes | – | – | Category codes from `categories` of tl_category_filters (brand and promotion pages), e.g. [1]. |
| fast_delivery | boolean | – | Only items shipped quickly from Technolife's own stock. |
| in_stock | boolean | – | Only orderable products. |
| limit | integer | – | Products per page. |
| max_price | – | – | Highest price in Toman, e.g. 150000000. |
| min_price | – | – | Lowest price in Toman, e.g. 50000000. |
| page | integer | – | Zero-based page. |
| sort | string | – | Order; price and discount sorts are re-sorted on the real price after discount per page. |
| url | string | yes | Page path from tl_categories / tl_find_brand / tl_campaigns, e.g. 'category/laptop-equipment/laptop', 'brand/samsung'. |
No output schema declared.
No examples provided.
tl_compare Compare products ~104
Compare 2-5 products side by side: price, stock, rating and every spec. specs is {section: {spec: values}} with one value per product, in the order of `products`; empty specs are left out. Same-category products compare best. For sellers and colors use tl_product.
| Name | Type | Req | Description |
|---|---|---|---|
| product_codes | array | yes | 2 to 5 product codes, e.g. ['TLP-60492', 'TLP-133524']. |
No output schema declared.
No examples provided.
tl_deals Deals ~192
List current in-stock discounts (Technolife's main deal list, تکنوآف) and, on page 0, the timed home-page deals (تکنو تایم). Use for "best deals right now". deal_ends is UTC. total is the whole deal list, before min_discount_pct. With biggest_percent or min_discount_pct each page scans the next 100 deals and returns the best `limit`; more_on_page counts matches cut off (raise limit). For one category use tl_category_products with sort=biggest_discount_toman.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max deals to return (and max timed deals). |
| min_discount_pct | integer | – | Only deals with at least this percent off. |
| page | integer | – | Zero-based page. |
| sort | string | – | Order; biggest_percent re-sorts a page of the largest Toman discounts by percent. |
No output schema declared.
No examples provided.
tl_faq Search FAQ ~72
Search Technolife's help-center FAQ and return matching questions with plain-text answers. Use for policy questions. Single words match best; an empty list means try another word or tl_store_info.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | One or two Persian words, e.g. 'ارسال', 'اقساط'. |
No output schema declared.
No examples provided.
tl_find_brand Find brand ~105
Look up a brand by its Persian name: filter code and brand page. Pass brand_code in brand_codes of tl_search / tl_find_cheapest / tl_category_products, or brand_page as the url of tl_category_products. Empty list: the site spells the brand differently (هوآوی, not هواوی); take the code from the `brands` facet of tl_search.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Persian brand name, e.g. 'سامسونگ'. |
No output schema declared.
No examples provided.
tl_find_cheapest Find cheapest products ~245
Find the cheapest in-stock products for a search, one flat list sorted by the real price after discount. Use for the lowest price. Accessories and other models often match a model name: check the returned `categories` and `brands`, call again with category_code and brand_codes, and check titles. Prices are the site's featured offer, not always the cheapest seller: confirm with tl_product, which lists every seller and installment price.
| Name | Type | Req | Description |
|---|---|---|---|
| brand_codes | – | – | Brand codes from `brands` of a result or tl_find_brand, e.g. [16, 19]. |
| category_code | – | – | Category code from `categories` of tl_search / tl_find_cheapest, e.g. 1 (phones), to skip accessories. |
| limit | integer | – | Max products to return. |
| max_price | – | – | Highest price in Toman, e.g. 150000000. |
| min_price | – | – | Lowest price in Toman, e.g. 50000000. |
| pages | integer | – | Pages of 100 results to scan. |
| query | string | yes | Product name, Persian or English, e.g. 'آیفون 16'. |
No output schema declared.
No examples provided.
tl_find_location Find location ~83
Turn an address or landmark into coordinates with its province and city. Use to find an address's city (shipping depends on it, see tl_store_info topic=shipping) or the nearest branch.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max places to return. |
| query | string | yes | Address or landmark, Persian works best, e.g. 'میدان ونک'. |
No output schema declared.
No examples provided.
tl_price_basket Price a basket ~96
Get the exact total for a set of seller items: discounts, insurance, quantity limits, cash vs installment price. Priced as a guest; nothing is saved. max_count is the most units one order may contain; over_max_count means the site refuses that quantity. Each seller_item_id may appear once: compare cash and installment in separate calls.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | Seller items to price, from tl_product offers. |
No output schema declared.
No examples provided.
tl_product Product details ~140
Get one product's offers: price per color, seller and warranty, stock, delivery time, insurance and installment prices. Use after tl_search / tl_suggest. offers are cheapest cash price first; installment_price and bnpl_price are the same seller item in the installment (LOAN) and buy now pay later (BNPL) price lists, null if not offered. Pass seller_item_id to tl_price_basket for a final total.
| Name | Type | Req | Description |
|---|---|---|---|
| include_specs | boolean | – | Include the spec table (a few KB). |
| product_code | string | yes | Product code, e.g. 'TLP-60492' (bare number works). |
No output schema declared.
No examples provided.
tl_reverse_geocode Describe coordinates ~70
Describe coordinates as an address with province, city and neighbourhood. Use to confirm a delivery point or get the city for shipping rules.
| Name | Type | Req | Description |
|---|---|---|---|
| lat | number | yes | Latitude, e.g. 35.7575. |
| long | number | yes | Longitude, e.g. 51.4106. |
No output schema declared.
No examples provided.
tl_reviews Product reviews ~170
Read customer reviews of a product: average 0-5, star distribution, AI summary with pros/cons, and the reviews. Use as a quality check before recommending; sort=lowest_rated surfaces complaints. Review text is cut at 400 characters unless full_text=true. The AI summary (null for few reviews) comes on page 0 only. The rating sorts rank the newest 500 reviews.
| Name | Type | Req | Description |
|---|---|---|---|
| full_text | boolean | – | Return review and reply text uncut (default cuts at 400 characters). |
| limit | integer | – | Reviews per page. |
| page | integer | – | Zero-based page number. |
| product_code | string | yes | Product code, e.g. 'TLP-60492' (bare number works). |
| sort | string | – | Order of the reviews. |
No output schema declared.
No examples provided.
tl_search Search products ~272
Search Technolife products with prices, discount, stock and rating. Also returns the top matching categories and brands with filter codes: pass one back as category_code (phones, not cases) or brand_codes to narrow. For the cheapest over several pages use tl_find_cheapest; for one product's sellers and prices use tl_product.
| Name | Type | Req | Description |
|---|---|---|---|
| brand_codes | – | – | Brand codes from `brands` of a result or tl_find_brand, e.g. [16, 19]. |
| category_code | – | – | Category code from `categories` of tl_search / tl_find_cheapest, e.g. 1 (phones), to skip accessories. |
| in_stock | boolean | – | Only orderable products. |
| limit | integer | – | Products per page. |
| max_price | – | – | Highest price in Toman, e.g. 150000000. |
| min_price | – | – | Lowest price in Toman, e.g. 50000000. |
| page | integer | – | Zero-based page. Relevance pages can repeat items; page with a price, newest or best_selling sort. |
| query | string | yes | Product name, Persian or English, e.g. 'آیفون 16'. |
| sort | string | – | Order; price and discount sorts are re-sorted on the real price after discount. |
No output schema declared.
No examples provided.
tl_seller Seller ~126
Get a marketplace seller's reputation (rating 0-5, on-time %, fault-free %, time on Technolife) and its products. Use to judge a seller found in tl_product offers before recommending its offer.
| Name | Type | Req | Description |
|---|---|---|---|
| in_stock | boolean | – | Only orderable products. |
| limit | integer | – | Products per page. |
| page | integer | – | Zero-based page. |
| seller_code | string | yes | Seller code from tl_product offers, e.g. 'TLS-15172' (bare number works). |
| sort | string | – | Order of the seller's products. |
No output schema declared.
No examples provided.
tl_shop_reviews Shop reviews ~120
Read customer reviews of the Technolife shop itself (service, delivery), newest first, rating 1-5, with staff replies. Use to judge the shop rather than a product (for a product use tl_reviews). Dates are Jalali; the newest reviews on the site may be a few years old.
| Name | Type | Req | Description |
|---|---|---|---|
| full_text | boolean | – | Return review and reply text uncut (default cuts at 400 characters). |
| limit | integer | – | Reviews per page. |
| page | integer | – | Zero-based page number, newest first. |
No output schema declared.
No examples provided.
tl_store_info Shop info ~87
Read one of Technolife's info pages as plain text. Use for stores, shipping rules per city, returns and payment. Exact shipping cost needs a logged-in address, so quote the rules. For other questions try tl_faq.
| Name | Type | Req | Description |
|---|---|---|---|
| topic | string | yes | branches (stores, hours, phones), shipping (methods, costs), returns (7-day guarantee), payment_methods. |
No output schema declared.
No examples provided.
tl_suggest Suggest products ~90
Turn a product name into Technolife product codes (typeahead, up to 30 products, no prices). Use to resolve a name like 'آیفون 16' to codes for tl_product / tl_compare / tl_reviews. For prices, filters and paging use tl_search.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Product name, Persian or English, e.g. 'آیفون 16'. |
No output schema declared.
No examples provided.
How do I install the Technolife MCP server?
Technolife runs locally as a PyPI package, launched with uvx technolife-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · technolife-mcp
claude mcp add sepehr071-technolife-mcp -- uvx technolife-mcp
What is the Technolife MCP server?
Technolife is an MCP server listed in the public MCP registry as io.github.sepehr071/technolife-mcp. Unofficial read-only Technolife: search electronics, compare sellers and installment prices, deals. This page covers its PyPI package (technolife-mcp).
Is the Technolife MCP server safe to use?
Technolife scores 66 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 22 October 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Technolife MCP server expose?
Technolife exposes 19 tools: tl_suggest, tl_search, tl_find_cheapest, tl_find_brand, tl_categories, and 14 more. Their descriptions and schemas cost roughly 2,627 tokens of context every time the server is loaded.
Is the Technolife MCP server still maintained?
Technolife is still listed as active in the MCP registry. We last reached this channel on 22 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Technolife MCP server under?
Technolife declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.