Skip to main content
Glama
faradars-mcp
by sepehr071

Search courses

fr_search_courses
Read-onlyIdempotent

Search Faradars courses and videos by text, category, price, length, certificate, or instructor to find matching items; use a result's slug to open its syllabus and full price.

Instructions

Search Faradars (faradars.org) courses and videos by text, category, price, length, certificate or instructor.

Use first to find a course; pass its slug to fr_course for the syllabus and full price. Free items: set free=true. Prices are Toman; sale_price appears while a Faradars sale is on. related_categories shows where the matches are (pass a slug as category to narrow); types counts the matches per kind. Best sellers of a topic: category=, sort=most_sold.

Input Schema

NameRequiredDescriptionDefault
freeNoTrue = only free items, False = only paid. Omit for both.
kindNocourse = multi-lesson courses, video = single videos, exam, podcast, webinar, book, blind = made for blind learners.
pageNoPage number, starting at 1.
sortNomost_sold (default; with category it is the top-selling list), relevance (best with a query), most_viewed, newest, trend_count (trending now).most_sold
limitNoResults per page (1-24).
queryNoFree text, Persian or English, e.g. پایتون or Excel.
categoryNoCategory slug from fr_categories (e.g. python, programming) or numeric id.
durationNoTotal video length bucket.
upcomingNoTrue = only items still in production (not yet published) instead of live ones.
instructorNoInstructor slug from fr_instructors, e.g. pejman-eqbali.
certificateNoTrue = only items with a certificate.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds genuinely new behavioral facts: prices are in Toman, `sale_price` only exists while a sale is running, and the response includes `related_categories` and `types` aggregates. It stops short of stating result totals or how paging terminates, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and the primary follow-up action, and no sentence is filler. The second paragraph is dense and reads as a run of semicolon-joined hints rather than structured guidance, which costs it a point on structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter tool with no output schema, the description usefully names the key returned fields (sale_price, related_categories, types) so the agent can plan follow-up filtering. It omits pagination behavior and total-count semantics, a minor but real gap given the page/limit parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema does not: 'pass a slug as `category` to narrow', the interaction between `category` and `sort=most_sold`, and the currency unit behind price filtering. That is real semantic lift over enumerated fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search Faradars courses and videos') plus the full facet set (text, category, price, length, certificate, instructor), which lets an agent distinguish it from fr_course (detail lookup) and fr_categories (taxonomy) without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing: 'Use first to find a course; pass its `slug` to fr_course for the syllabus and full price', and 'Best sellers of a topic: category=<slug>, sort=most_sold'. Both a primary workflow and a concrete parameter recipe are supplied, so the agent knows when this tool is the entry point versus the follow-up.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.