hn-jobs
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., "@hn-jobsFind remote Python postings from the August 2026 hiring thread"
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.
İş Fırsatı Ajanı · MCP Sunucusu + Qwen3 Araç Çağırma
Türk teknoloji şirketlerinin (Trendyol, Insider One, Midas, Dream Games) kariyer sayfalarındaki ilanları ortak bir şablona dönüştüren, bunları Model Context Protocol araçları olarak sunan ve bir dil modelinin bu araçları kendi seçerek kullandığı küçük bir iş fırsatı ajanı. AVD Teknoloji Danışmanlık'taki stajımın (2026) ikinci haftasında geliştirdim.
Nasıl çalışıyor
flowchart LR
U["Kullanıcı sorusu"] --> A["agent.py<br/>ajan döngüsü"]
A <--> L["Qwen3-4B-Instruct<br/>(araç seçer)"]
A <-- "MCP · stdio" --> S["server.py<br/>FastMCP"]
S --> J["jobs.py<br/>Pydantic JobPosting"]
J --> D[("data/ilanlar_tr.json<br/>Lever + Greenhouse")]Veri (
scripts/):ilanlari_cek.shdört şirketin ilanlarını işe alım sistemlerinin herkese açık ilan uçlarından indirir (giriş ya da sayfa kazıma yok, şirket başına tek istek).veri_seti_olustur.pybunlardan 14 ilanlık veri setini oluşturur; HTML düz metne çevrilir, tarih ve başvuru adresi alınmaz, e-posta ve telefon numaraları silinir.Standartlaştırma (
jobs.py): Lever ve Greenhouse aynı bilgiyi farklı alanlarda veriyor (Lever'dacategories.commitmentveworkplaceType, Greenhouse'ta çalışma biçimi alanı hiç yok). İkisi deJobPostingşablonuna dönüştürülür: şirket, rol, konum, ülke, çalışma biçimi, çalışma türü, ücret, teknolojiler, istenen diller, vatandaşlık şartı, kaynak. İlanda açıkça yazmayan bilgi tahmin edilmez,Nonekalır.MCP sunucusu (
server.py):search_postings(keyword, remote_only=False, limit=5): başlık ve açıklamada anahtar kelime arar. Türkçe ifadeler yaygın İngilizce karşılıklarıyla birlikte aranır ("veri bilimi" → "data scientist"), ifadenin başlıkta geçtiği ilanlar önde sıralanırget_posting(posting_id): tek ilanı şablonda döndürür, ilan yoksaToolErrorverir (boş sonuç "uygun ilan yok" diye yorumlanmasın diye)check_fit(posting_id, skills, country, languages, wants_remote): kural tabanlı ön kontrol. İlanın ülkesini, vatandaşlık şartını (Saudi Nationals Onlygibi), istenen dilleri, çalışma biçimini ve ilanda açıkça geçen becerilerle eşleşmeyiFitReportolarak döndürürtr-jobs://sourceskaynağı: kullanılan ilan uçlarıLoglar stdout'a değil stderr'e yazılır, çünkü stdio taşımasında stdout protokole ayrılmış.
Ajan döngüsü (
agent.py): MCP araç listesi modele fonksiyon tanımı olarak verilir. Model<tool_call>ürettikçe araç çağrılır ve sonuçrole=toolmesajıyla geri beslenir. Aynı çağrı tekrarlanırsa sunucuya gitmez; en fazlamax_stepsadım çalışır.
Related MCP server: JobMatch MCP
Kurulum
python -m venv .venv && source .venv/bin/activate
pip install -r requirements-dev.txt
pytest -v # 21 testVeriyi yeniden oluşturmak için (ilanlar kapanmış olabilir; seçim listesi scripts/veri_seti_olustur.py içinde):
bash scripts/ilanlari_cek.sh && python scripts/veri_seti_olustur.pyMCP Inspector ile deneme
npx @modelcontextprotocol/inspector python server.pyClaude Desktop / VS Code'a ekleme
{
"mcpServers": {
"tr-jobs": { "command": "/tam/yol/.venv/bin/python", "args": ["/tam/yol/server.py"] }
}
}Not defterleri
Not defteri | Ortam | İçerik |
CPU | İki sistemin alan farkı, 14 ilanın şablona dönüşümü, boş bırakılan alanlar, ilan metninden çıkarılan şartlar | |
CPU | Örnek profil ile ön kontrol: eşleşen beceri, yalnızca öğrenme hedefi, dil / vatandaşlık / ülke şartları | |
Colab A100 | MCP istemcisi + Qwen3-4B-Instruct-2507: yalnız arama araçlarıyla ve |
Öğrendiklerim / tasarım kararları
Eksik bilgi ≠ olumsuz bilgi. Ücretin yazmaması düşük olduğu anlamına gelmez. 14 ilanın hiçbirinde ücret yok; Greenhouse ilanında çalışma biçimi ve türü de belirtilmemiş. Bu alanlar boş bırakıldı.
Teknik uyum, başvurulabilirlik demek değil. Örnek profille en çok örtüşen ilan (Trendyol, Data Scientist) açıklamasında ileri düzey Arapça istiyor; Riyad'daki ilan yalnızca Suudi vatandaşlarına açık. Bu şartları modelin yorumuna bırakmak yerine
check_fitaracını ekledim; sistem istemi öneriden önce bu aracın çağrılmasını istiyor.Türkçe soru, İngilizce ilan. İlk Colab denemesinde model "veri bilimi veya yapay zekâ" diye aradı; ilanlar İngilizce olduğu için sonuç boş döndü ve model "uygun ilan yok" dedi. Hata modelde değil araçtaydı: aramaya Türkçe–İngilizce karşılık eşlemesi ve başlık eşleşmesine göre sıralama ekledim.
Kısa adlar dikkat ister. "Go" ya da "REST" büyük/küçük harf duyarsız aranınca sıradan İngilizce kelimelerle eşleşiyor; kısaltmalar harf duyarlı aranıyor.
Öğrenme hedefi deneyim sayılmaz. Profildeki "öğrenmek istediği" teknolojiler eşleşen beceri olarak sayılmıyor.
Araç açıklaması, modelin arayüzü. FastMCP şemayı docstring ve tür ipuçlarından üretiyor; parametre adları ve açıklamalar Inspector'da modelin gördüğü biçimde kontrol edildi.
Veri
data/ilanlar_tr.json: Trendyol, Insider One ve Midas'ın Lever, Dream Games'in Greenhouse ilan uçlarından alınan 14 ilan (teknik roller ve ön kontrolü sınamak için yurt dışı ya da şartlı birkaç ilan). İlanlar şirketlerin kendi yayınladığı herkese açık metinlerdir; her kayıtta özgün ilanın bağlantısı vardır.
Lisans
This server cannot be deployed
Maintenance
Related MCP Connectors
Free live multi-ATS + HN job search. Comp & hiring-signal depth metered via x402/USDC. Hosted MCP.
61Public MCP server for discovering open jobs. Search, filter, and get application links.
A jobs data API and MCP server. Every listing comes from the employer's own career site, an ATS feed or a government employment service, never resold from another board. Each row names its source and when we last confirmed the vacancy existed, and a role that disappears keeps a closure date and a reason. Six tools: search_jobs, get_job, company_hiring, market_signals, coverage, changes_since.
JobsPipe — data pipeline of every job posting on the web. Search live, normalized job postings from 30+ ATS feeds and job boards for AI agents via MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables searching and retrieving job listings from multiple platforms through MCP.2MIT
- AlicenseAqualityCmaintenanceEnables MCP-compatible agents to search live job postings, score resumes against specific postings, and create or update tracked applications through their pipeline.4MIT
- AlicenseNot gradedqualityCmaintenanceEnables users to search job postings with keyword, location, remote-only, date, and limit filters, and retrieve individual job details via MCP tools.MIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to search Hacker News Who is Hiring posts and retrieve individual job details through standard MCP tools. It exposes read-only job discovery with keyword, location, remote, and date filters for any compatible MCP host.MIT