maktabkhooneh-mcp: Maktabkhooneh MCP server for AI agents
Unofficial, read-only MCP server that lets your AI agent search Maktabkhooneh (مکتبخونه), the Iranian online course platform: compare prices and discounts, find free courses, read curricula and reviews, look up teachers and universities.
Covers about 5,700 Persian video courses on maktabkhooneh.org, prices in Toman. No API key, no account. Works with Claude, Cursor and Copilot.
Quick start · Tools · FAQ · فارسی
For AI agents
- What: Unofficial MCP server for Maktabkhooneh (مکتبخونه, maktabkhooneh.org), an Iranian online course platform. Queries in Persian work best; prices in Toman.
- Install:
claude mcp add maktabkhooneh -- uvx maktabkhooneh-mcp(stdio, needs uv and Python 3.10+). - Auth: none. Optional
MAKTABKHOONEH_MCP_PROXYsets an HTTP proxy (or a comma-separated list) for every request. - Access: read-only. It cannot log in, enrol, buy or review.
- Tools: 12, all prefixed
mkh_. Start withmkh_search,mkh_browse,mkh_cheapest,mkh_course,mkh_free_courses. - Typical sequence:
mkh_search(ormkh_categories->mkh_browse) ->mkh_course->mkh_curriculumormkh_reviews. - Use when: the user wants to find an Iranian online course, compare price, level, hours and rating, find free or discounted courses, or look up a teacher or a university's courses.
- Do not use when: the user wants to enrol, pay, watch lessons or needs their own account data.
- Output: compact JSON. Prices in Toman (
final_priceis what you pay, 0 = free), rating 0-5, numeric course ids to pass between tools, paging withnext_page. - Machine-readable: server.json, and the catalog of all Iranian MCP servers awesome-iran-mcp.
Quick start
You need uv.
claude mcp add maktabkhooneh -- uvx maktabkhooneh-mcp
Any other MCP client (Claude Desktop, Cursor, VS Code): run uvx maktabkhooneh-mcp as a stdio server (or
pip install maktabkhooneh-mcp and run maktabkhooneh-mcp), e.g.
{
"mcpServers": {
"maktabkhooneh": { "command": "uvx", "args": ["maktabkhooneh-mcp"] }
}
}
Then ask, for example:
- "The cheapest Python courses on Maktabkhooneh with a certificate, and which has the best rating?"
- "Free advanced programming courses from University of Tehran."
- "What is in course 1318 and what do learners say about it?"
- بهترین دورههای رایگان زبان انگلیسی کدامند؟
How it works
maktabkhooneh-mcp runs locally and calls the same public JSON API the maktabkhooneh.org website uses
(/api/v1/courses/..., /api/v1/accounts/teacher/..., /api/v1/organization/...); the publisher list is read from
the site's sitemap. No hosted server in between. API map and quirks: ../maktabkhooneh/.
Tools
All 12 tools are annotated readOnlyHint: true and return compact structured JSON.
Find courses
| Tool | What it does |
|---|---|
mkh_search |
Text search (Persian or English) with price, discount, hours, rating, students, teachers; sort relevance / popular / new; first 300 matches |
mkh_browse |
A category or all ~5,700 courses with the site's filters: paid / free, level, hours, minimum rating, publisher, feature (certificate, exam and project, Persian subtitle or dubbing); sort popular / new / rate |
mkh_free_courses |
Free courses (~740), optionally per category, level and rating |
mkh_cheapest |
Cheapest paid courses for a topic or category, with a price ceiling (scans the first 300 results) |
mkh_deals |
Biggest current discounts, with a minimum percent and price ceiling |
mkh_categories |
The category tree (~680 nodes): top-level groups, one subtree, or title search; gives the slugs for the tools above |
One course
| Tool | What it does |
|---|---|
mkh_course |
Full / content-only / upgrade prices, discount end, level, hours, teachers, publisher, category, prerequisites, features, description, FAQ |
mkh_curriculum |
Chapters and lessons with type and duration |
mkh_reviews |
Learner reviews (stars, text, date, instructor reply) and the star histogram; reviewer names are left out |
People
| Tool | What it does |
|---|---|
mkh_teacher |
A teacher's profile (bio, students, rating, links) and courses |
mkh_organizations |
Publishers (~180 universities and companies) with their ids; name search |
mkh_organization |
A publisher's totals and its most popular courses |
Good to know
- Prices are in Toman (the site shows the same numbers with «تومان»; its JSON-LD labels them IRR, which is wrong).
final_priceis what you pay,pricethe list price (shown only when discounted),discount_pcta whole percent,freetrue for 0. - The site cannot sort or filter by price.
mkh_cheapestandmkh_dealsscan the first 300 results (3 requests of 100) and sort here;scannedoftotaltells how complete the answer is. Usemkh_browsefilters to narrow the pool first. mkh_searchreaches only the first 300 matches and the site ignores filters there; filter withmkh_browseinstead (it has no text query).full,content_only,upgradeinmkh_course: the whole course (lessons, projects, certificate), lessons only, and the price to upgrade from lessons-only to full.hoursis a number, or"H:MM"for courses under two hours.kind:PLUSpaid,MAKTABfree,HAMAYESHevents.- Discounts are time limited (a site-wide sale ran 14-22 Oct 2026);
mkh_coursegivesdiscount_ends. - Persian queries match best.
Configuration
| Variable | Default | Meaning |
|---|---|---|
MAKTABKHOONEH_MCP_PROXY |
unset | HTTP proxy for every request, e.g. http://user:pass@host:port (system proxy variables are ignored). A comma-separated list is used one at a time: the next proxy takes over when one is blocked or fails to connect. |
FAQ
Is there a Maktabkhooneh API or MCP server for AI agents? Yes: this unofficial MCP server wraps the public JSON API the maktabkhooneh.org website itself uses, so Claude, Cursor or Copilot can search courses and read prices, curricula and reviews.
Is it official, safe and free? It is unofficial, open source (MIT) and free. It is read-only, needs no account or API key, and runs on your machine with no hosted server in between.
Can it enrol me or play a lesson? No. It only reads public catalog data. Enrolment, payment and lessons happen on maktabkhooneh.org.
فارسی: سرور MCP مکتبخونه
maktabkhooneh-mcp یک سرور MCP غیررسمی برای مکتبخونه است که به دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و ...) اجازه میدهد در میان حدود ۵٬۷۰۰ دوره آموزشی فارسی جستجو کند، قیمت و تخفیفها را مقایسه کند، دورههای رایگان را پیدا کند و سرفصل و نظر دانشجویان را بخواند.
- فقط خواندنی است و حساب کاربری یا کلید API نمیخواهد.
- همه قیمتها به تومان است.
بپرسید: «ارزانترین دورههای پایتون با گواهینامه کدامند؟»
Related servers
- Fidibo MCP server for Persian ebooks and audiobooks
- Taaghche MCP server for Persian ebooks and audiobooks
- All Iranian MCP servers: awesome-iran-mcp
Development
export HTTPS_PROXY=http://127.0.0.1:10898 HTTP_PROXY=http://127.0.0.1:10898 # uv downloads only
uv sync
uv run ruff check . && uv run ruff format --check .
uv run python -m pytest -q # offline, on recorded fixtures
uv run python -m pytest -m live -q # real API
If this saves you clicks, a star helps others find it.
License
MIT
Metadata
Release files for maktabkhooneh-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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| maktabkhooneh_mcp-0.1.0.tar.gz | 113.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| maktabkhooneh_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 135.3 kB
Release files / maktabkhooneh_mcp-0.1.0.tar.gz
| Download URL | maktabkhooneh_mcp-0.1.0.tar.gz |
|---|---|
| Size | 113.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e42a8d1332306bcd2d0c81f7fa9895952998ab554bd4c3968cb8b02a4837df5f
|
|
BLAKE2b-256 checksum How to use checksums |
5cc5fa76044dea2828d22c0b835dfcca68e2a37f681651f464cb9be80a693de0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 20, 2026.
Transparency logRelease files / maktabkhooneh_mcp-0.1.0-py3-none-any.whl
| Download URL | maktabkhooneh_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 21.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fa7d9e702b8e75d3f9eab5e0d61cd9465e1c8e7f97c1c0efc1385ba6954a5de5
|
|
BLAKE2b-256 checksum How to use checksums |
1daf4d489af77c5ee58223d00ac07595a4fbfdd046df1d10bbe9b0d4327490d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 20, 2026.
Transparency logSecurity for maktabkhooneh-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.
Attestation for maktabkhooneh_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 Oct 20, 2026.
Transparency logA 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.