iran-downloads-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., "@iran-downloads-mcpSearch Soft98 and Downloadly for the latest VLC version and system requirements"
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.
iran-downloads-mcp: Iranian software and game download sites MCP server for AI agents
Let your AI agent look up software and games (دانلود نرمافزار و بازی) on Soft98, P30Download, Downloadly and VGDL. An unofficial, read-only MCP server that searches the sites' public pages and returns metadata only: name, version, size, category, date, a short description, system requirements and the link to the item page.
Metadata search only. This server never downloads or saves files, never returns file links, and does not resolve or bypass gated or tokenised download links. It returns no passwords and no crack or activation notes. Many listings on these sites are cracked, repacked or otherwise redistributed software. You are responsible for checking the licence of whatever you install and for following the law where you live.
For AI agents · Quick start · Tools · Sources · فارسی
For AI agents
What: unofficial MCP server for metadata search on Soft98 (soft98.ir), P30Download (p30download.ir), Downloadly (downloadly.ir) and VGDL (vgdl.ir). Persian and English text.
Install:
uvx iran-downloads-mcporclaude mcp add iran-downloads -- uvx iran-downloads-mcp. Transport: stdio. Needs uv (Python 3.10+).Auth: none. Optional
IRAN_DOWNLOADS_MCP_PROXY(HTTP proxy URL, or a comma-separated list); system proxy settings are ignored.Access: read-only. No login, no downloads, so no confirmation is needed before calling any tool.
Tools: 4:
dl_list_sources,dl_search,dl_latest,dl_item. Start withdl_list_sourcesfor source ids and category slugs.Use when: the user wants to find an app or game by name, see what is new, or check version, size and system requirements before opening the item page.
Do not use when: the user wants the file itself, a direct link, a password, or a crack. None of that is returned; send them to the item page
urland remind them to check the licence.Output: compact JSON. Dates are ISO (UTC where a time is shown); Soft98's Jalali dates are converted. Summaries are cut to 120 characters, descriptions to 600. Null and empty fields are omitted. Replies stay under ~15 KB (
per_sourcemax 5). A failing source is listed undererrorswhile the others still answer. Pages are cached for 3 minutes.Machine-readable:
server.jsonand the awesome-iran-mcp catalog.
Related MCP server: digikala-mcp
Quick start
claude mcp add iran-downloads -- uvx iran-downloads-mcpOther clients: command uvx, args ["iran-downloads-mcp"].
Tools
Tool | What it does |
| The four sources, whether they have a latest listing, and category slugs. |
| Search by name across sources ( |
| Newest uploads, merged by date ( |
| Details of one item from its page |
Sources
id | Site | Search | Latest | Item details |
| Soft98 | site search (8 per page) | no: listing pages hide item links behind script keys | title, version, category, date, description, requirements; no size |
| P30Download |
| RSS per section: software, game, tutorial, graphic, console | adds size, publisher, release date |
| Downloadly |
| home or category archive: software, mobile, multimedia, video-tutorials | adds size and requirements |
| VGDL | WordPress REST | REST posts, optional category: game, software, mobile | title, category, date, excerpt only (size and requirements sit next to crack and repack notes, so they are not read) |
Titles carry the version where the site puts it there (for example Google Chrome 155.0.8059.85); dl_item returns a best-effort version.
FAQ
Does it work outside Iran? The sites answered direct connections from Iran in testing. From a Turkish proxy exit Soft98, P30Download and Downloadly answered, VGDL returned a bot-check page instead of JSON (the tool reports it). If a site blocks you, try a direct connection or IRAN_DOWNLOADS_MCP_PROXY with an Iranian exit.
Why no download links? Out of scope on purpose: the sites gate links behind tokens, countdowns and ads, and many files are pirated copies. The server stays a search index.
فارسی
سرور MCP غیررسمی و فقطخواندنی برای جستوجوی فراداده (نام، نسخه، حجم، دسته، تاریخ، توضیح کوتاه، سیستم مورد نیاز و پیوند صفحهٔ آیتم) در سافت۹۸، پیسی دانلود، دانلودلی و ویجی دی ال. این سرور فایلی دانلود یا ذخیره نمیکند، پیوند فایل، گذرواژه یا کرک برنمیگرداند و پیوندهای قفلشده را دور نمیزند. بررسی مجوز نرمافزارها با خود شماست.
claude mcp add iran-downloads -- uvx iran-downloads-mcpLicense
MIT
Available Tools
4 toolsdl_itemDownload item detailsARead-onlyIdempotent
Return the details of one download item: name, version, size, category, date, description and system requirements.
Fields a site does not publish are omitted (soft98 has no size; vgdl has neither size nor requirements). Never includes download links, passwords or crack notes: open the item page url yourself and check the licence.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Item page url from dl_search or dl_latest (soft98.ir, p30download.ir, downloadly.ir or vgdl.ir). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description adds genuinely useful behavior an agent could not infer: fields are omitted per-site (soft98 has no size; vgdl has neither size nor requirements), and download links, passwords and crack notes are deliberately never returned, with a directive to open the item page and check the licence instead.
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, zero filler. The returned-field list comes first, then the caveats, so the most important scoping information is front-loaded.
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?
There is no output schema, so the description correctly carries the burden of describing the return payload and its site-dependent omissions, which it does well. It stops short of covering failure modes (invalid/non-item url) or noting that the fetched page must be opened for links and licensing, but nothing essential for calling the tool 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 100% and the schema already documents the url (source sites plus an example), so the baseline is 3. The description goes further by tying response shape to the url's domain (soft98, vgdl), which tells the agent that the same parameter yields different field sets depending on which site the url points to.
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 ('Return the details of one download item') and enumerates the exact fields returned (name, version, size, category, date, description, requirements). This is clearly distinguishable from the dl_search/dl_latest/dl_list_sources siblings, which are list-style rather than single-item detail fetches.
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 never explicitly says when to reach for this tool versus the siblings; the workflow hint ('url from dl_search or dl_latest') lives in the schema property, not the description. Usage is implied by the fact that a url is required and by how the url param is sourced, which is adequate but not stated as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dl_latestLatest downloadsARead-onlyIdempotent
Return the newest uploads of the download sites (soft98 has no latest listing), merged and sorted by date.
Metadata and item page urls only. Sources that failed or lack the category are listed under errors.
| Name | Required | Description | Default |
|---|---|---|---|
| sources | No | Source ids to include (soft98, p30download, downloadly, vgdl; see dl_list_sources). Empty = all. | |
| category | No | Category slug from dl_list_sources, e.g. 'software' or 'game'. Empty = everything. | |
| per_source | No | Items (1-5) taken from each source. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/openWorld safety, so the bar is lower, and the description still adds real context: soft98 has no latest listing, results are merged and date-sorted, output is metadata plus item page urls only, and failed sources appear under `errors`. It stops short of describing ordering ties, deduplication, or rate-limit behavior.
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, zero filler, with the core behavior (newest uploads, merged, sorted) front-loaded and the caveats (soft98 exception, errors bucket) following compactly. Every clause 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?
With no output schema, the description correctly discloses the return shape (metadata and item page urls only) and the error surface (`errors`). For a small bounded result set (1-5 per source) this is nearly complete, though pagination/limits and result ordering edge cases are unstated.
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% with defaults, ranges, and examples for all three params, so the schema carries the load. The description adds no syntax or format detail beyond referencing source ids and category slugs implicitly, matching the baseline 3 for a fully documented 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?
States a specific verb and resource ('Return the newest uploads of the download sites ... merged and sorted by date'), which is clear and distinct from a search or item-detail tool. It notes the soft98 exception, but never names the sibling tools it differs from (dl_search, dl_item) to explicitly disambiguate.
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 (browse the latest across sources) but there is no explicit when-to-use or when-not-to-use guidance relative to dl_search or dl_item. The 'Empty = all' semantics for sources and category are documented in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dl_list_sourcesList download sourcesARead-onlyIdempotent
List the four download-site sources and their latest-listing categories; call this first for valid ids.
Sources: soft98, p30download, downloadly, vgdl. This server returns metadata and the item page url only, never file links. Next: dl_search, dl_latest or dl_item.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: the server 'returns metadata and the item page url only, never file links', which sets an expectation the annotations cannot express.
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?
Three short, front-loaded sentences: purpose first, then the source ids, then the return limitation and next steps. No filler or restated metadata.
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?
With no output schema, the description carries the return burden and does say what comes back (metadata plus item page url, no file links). It does not sketch the structure of the returned listing/categories, which is a minor remaining gap for a discovery tool.
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 the baseline of 4 applies. Nothing in the description contradicts or misleads about input handling.
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 (List) and resource (download-site sources) plus the shape of what is returned (latest-listing categories). Enumerating the four source ids (soft98, p30download, downloadly, vgdl) makes it unmistakable against the dl_search/dl_latest/dl_item siblings.
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?
Explicitly says 'call this first for valid ids', giving a clear precondition, and names the follow-up tools ('Next: dl_search, dl_latest or dl_item'). Both when-to-use and the alternative path are stated rather than implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dl_searchSearch download sitesARead-onlyIdempotent
Search the download sites by name and return metadata (title, item page url, category, date, short summary).
Results keep each site's own relevance order, grouped by source. Open the item page url yourself to download;
this server never returns file links. A failing source is listed under errors.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page (1-20) of each source. | |
| query | Yes | Software or game name; Latin names work best on every site. | |
| sources | No | Source ids to include (soft98, p30download, downloadly, vgdl; see dl_list_sources). Empty = all. | |
| per_source | No | Items (1-5) taken from each source. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world safety, but the description adds real behavioral context: results preserve each source's own relevance order and are grouped by source, no file links are ever returned, and failing sources appear under an `errors` field. That is meaningful disclosure beyond the annotations.
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?
Three tight sentences, front-loaded with what the tool returns, then ordering behavior, then the download-handoff caveat and error reporting. 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?
With no output schema, the description carries the return-value burden and does so well: it names the metadata fields, ordering, grouping, and the errors field. Complete enough to call correctly, though it could note result-volume limits.
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 page, query, sources, and per_source are fully documented in the schema. The description adds negligible parameter detail beyond 'by name', so the 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?
States a specific verb+resource ('Search the download sites by name') and enumerates the returned metadata fields, so the agent knows exactly what this produces. It does not explicitly name or contrast with siblings like dl_latest or dl_item, leaving that differentiation to inference.
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 implies the follow-up path by stating 'Open the item page url yourself to download; this server never returns file links,' which effectively routes the agent to dl_item. However, it never states when to prefer this tool over dl_latest or dl_item, so usage is only implied.
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.
4 tool updates
v0.1.0- First observed
dl_item - First observed
dl_latest - First observed
dl_list_sources - First observed
dl_search
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: listing sources, searching by name, fetching latest uploads, and retrieving item details. No overlap exists, and the descriptions explicitly guide when to use each tool.
All tools share the dl_ prefix and snake_case style, which is consistent. However, the second component varies between verb_noun (dl_list_sources), verb (dl_search), adjective/noun (dl_latest), and noun (dl_item), so it is not a strict verb_noun pattern throughout.
Four tools are well-scoped for a read-only metadata aggregator, covering the essential operations (source listing, search, latest, item details) without redundancy or bloat.
The surface covers listing sources, searching, latest uploads, and item details, which are the core operations. However, there is no explicit tool for browsing items by category or paginating results, which are minor gaps for the domain.
Maintenance
Related MCP Connectors
Read-only search of 2,189 AI agent tools (MCP servers, x402 APIs) with daily automated trust scores.
Search a curated directory of agent tools, MCP servers, APIs, protocols and skills. No auth.
Search independent software the big engines bury: indie apps, open-source repos, and dev tools.
Search GitHub, npm, PyPI, StackOverflow, ArXiv from one MCP — built for coding agents.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search and retrieve video game information from the IGDB catalog, including games, platforms, companies, release dates, ratings, and cover art.12 npmMIT
- 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.23906 PyPI33MIT
- AlicenseAqualityAmaintenanceEnables AI agents to search and compare the cheapest flights, trains, buses, private taxis and hotels across Iran, including free seats, baggage allowances, refund rules and exact prices, for a single date or across weeks. All 22 tools are read-only and return compact structured JSON, so an agent can plan multi-mode trips and hotel stays without logging in or booking.22558 PyPI2MIT
- AlicenseAqualityBmaintenanceEnables AI agents to compare prices across Iranian online and in-person shops, inspect each seller's offer with warranty and installment details, review roughly a year of price history, score deals, and find the cheapest shop for a whole basket. It is read-only, requires no account or API key, and runs locally for Claude, Cursor or Copilot.261MIT