XGM API
XGM araçlarının arkasındaki kontroller ücretsiz, salt okunur bir HTTP API olarak: betikler için JSON, terminal için düz metin ve yapay zekâ asistanları için bir MCP sunucusu. Anahtar yok, kayıt yok.
Hızlı başlangıç
curl okunabilir bir metin raporu alır; JSON için Accept başlığı veya ?format=json kullanın.
curl https://xgm.ro/api/v1/email-security/example.com
curl -H 'Accept: application/json' https://xgm.ro/api/v1/dns/example.comTam şema /api/v1/openapi.json adresindedir (OpenAPI 3.1): Postman'e, Insomnia'ya veya bir istemci üreticisine aktarın.
Uç noktalar
Tüm uç noktalar GET kullanır. Yalnızca herkese açık alan adları ve IP adresleri kabul edilir: özel, dahili ve ayrılmış hedefler 400 döndürür.
| Uç nokta | Döndürdüğü | Hız sınırı | MCP aracı |
|---|---|---|---|
/api/v1/email-security/{domain}example.com deneyin | SPF (include ağacı, 10 sınırına karşı DNS sorgu sayısı), DMARC (politika, pct, rapor adresleri ve yetkilendirmeleri), DKIM (24 yerleşik seçici ve ?selector=, anahtar türü, boyutu ve bayraklarıyla), MTA-STS (politika dosyası indirilip ayrıştırılır), TLS-RPT ve BIMI (marka sertifikası okunur). Bulgular ve DNS düzeltmeleri SPF ile DMARC'ı kapsar. E-posta Güvenliği aracı | 20/min | dmarc_check, spf_check |
/api/v1/dns/{domain}example.com deneyin | A, AAAA, MX, NS, TXT ve CNAME kayıtları ile hangi sorguların başarısız olduğu. DNS Sorgulama aracı | 30/min | dns_lookup |
/api/v1/ssl/{domain}example.com deneyin | Tam tarama: gerekçeleriyle birlikte A+ ile F arası not, sertifika (düzenleyen, konu, SAN, bitiş, seri numarası, SHA-256 parmak izi), anahtar ve imza algoritması, her TLS sürümü için bir el sıkışma, dört zayıf şifre ailesi, OCSP stapling, HSTS ve preload durumu. TLS Kontrolü aracı | 12/min | ssl_check |
/api/v1/http-headers/{domain}example.com deneyin | https://<domain> adresinin yanıt başlıkları ve hangi güvenlik başlıklarının bulunduğu. HTTP Başlıkları aracı | 20/min | http_headers_check |
/api/v1/redirect/{domain}example.com deneyin | Dört giriş URL'sinin tamamı (http ve https, www'li ve www'siz) paralel izlenir: her atlama durum kodu, Location, türü (3xx veya meta refresh), süresi ve SEO başlıklarıyla birlikte; döngü ve atlama sınırı tespiti ve varyantların üzerinde uzlaştığı kanonik hedef. Yönlendirme Kontrolü aracı | 20/min | redirect_check |
/api/v1/whois/{domain}example.com deneyin | Kayıt defterinden kayıt kuruluşu, tarihler, durum, ad sunucuları ve kötüye kullanım iletişim adresi (önce RDAP, sonra WHOIS). WHOIS Sorgulama aracı | 20/min | whois_lookup |
/api/v1/blacklist/{target}127.0.0.2 deneyin | 58 DNS kara listesinde bir IPv4 adresi ya da A ve MX adresleriyle birlikte bir alan adı ve 19 alan adı listesi; reddedilen sorgular ayrıca bildirilir. Kara Liste Kontrolü aracı | 20/min | blacklist_check |
/api/v1/ip/{ip}8.8.8.8 deneyin | Ters DNS, kapsam, ağ (ASN) ve yaklaşık konum (XGM sunucusu üzerinden ipwho.is). IP Bilgisi aracı | 30/min | ip_lookup |
/api/v1/ping/{host}github.com deneyin | XGM sunucusundan on ICMP echo isteği: paket kaybı, en düşük/ortalama/en yüksek gidiş-dönüş, jitter ve ham çıktı. Tek yoklama konumu; ICMP kullanılamadığında TCP 443/80 kullanılır. Ping ve Traceroute aracı | 12/min | – |
/api/v1/port-check/{host}scanme.nmap.org deneyin | Herkese açık bir sunucunun her portuna TCP bağlantısı: açık, kapalı veya filtrelenmiş, gecikme ve banner. ?ports=80,443,8000-8005 (varsayılan 80,443,8080,8443; en fazla 200). Port Tarayıcı aracı | 12/min | – |
Yeniden adlandırılan uç noktalar
XGM araçları birleştirildiğinde üç uç nokta yeni ad aldı. Eskileri bir API sürümü daha çalışmayı sürdürür ve Deprecation: true başlığı ile yeni uç noktayı gösteren bir Link başlığıyla yanıt verir.
| Eski uç nokta | Bunun yerine kullanın | Fark |
|---|---|---|
/api/v1/dmarc/{domain} | /api/v1/email-security/{domain} | E-posta güvenliği kontrolünün DMARC bölümü. |
/api/v1/spf/{domain} | /api/v1/email-security/{domain} | E-posta güvenliği kontrolünün SPF bölümü. |
/api/v1/redirects/{domain} | /api/v1/redirect/{domain} | /redirect ile aynı yanıt. |
Yanıtlar ve hatalar
E-posta Güvenliği, web sitesiyle aynı SPF ve DMARC bulgularını döndürür: severity değeri critical, warning, info veya passed olur, en önemliden başlayarak sıralanır ve birçok bulgu kopyalanabilir bir fix içerir. Diğer uç noktalar yapılandırılmış veri döndürür.
{
"api_version": "1",
"tool": "email-security",
"target": "example.com",
"checked_at": "2026-09-15T08:00:00+00:00",
"web_url": "https://xgm.ro/tools/email-security?d=example.com",
"verdict": "SPF: SPF is valid; DMARC: Monitoring only (p=none)",
"tone": "warning",
"findings": [
{
"id": "dmarc-p-none",
"severity": "warning",
"title": "DMARC: Policy is p=none (monitoring only)",
"explanation": "Receivers deliver mail that fails DMARC as usual. …",
"fix": { "label": "Next step: quarantine", "code": "_dmarc.example.com. IN TXT \"v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com\"" },
"learn_more": { "href": "/guides/email-security", "label": "Read the Email Security guide" }
}
],
"spf": { "verdict": "SPF is valid", "record": "v=spf1 include:_spf.example.net -all", "lookups": 3, "…": "…" },
"dmarc": { "verdict": "Monitoring only (p=none)", "policy": "none", "record": "v=DMARC1; p=none; rua=mailto:dmarc@example.com", "…": "…" }
}Hata kodları
| 400 | Geçersiz girdi veya reddedilen hedef (özel adres, dahili ad, alan adı beklenen yerde IP). |
|---|---|
| 422 | Geçersiz sorgu parametresi, örneğin format=xml. |
| 429 | Hız sınırına ulaşıldı. Retry-After başlığında belirtilen saniye kadar bekleyin. |
| 502 | Üst kaynaktaki kontrol başarısız oldu (örneğin WHOIS sunucusu yanıt vermedi). |
Hız sınırları ve adil kullanım
Her istemci dakikada 30 API isteği yapabilir. Bir kontrol, ait olduğu aracın sitedeki sınırını da öder: başlık, yönlendirme, WHOIS, kara liste ve e-posta kontrolleri için dakikada 20; TLS taraması dâhil ağ kontrolleri için dakikada 12. Yukarıdaki tablo her uç nokta için geçerli sınırı listeler. API, kendi alan adlarınız için ara sıra yapılan betikli kontroller ve izleme içindir, toplu tarama için değil. Sonuçlar önbelleğe alınmaz: her istek yeni bir kontrol çalıştırır.
Gizlilik
Yapay zekâ asistanları için MCP sunucusu
XGM MCP sunucusu, Claude'un ve diğer MCP istemcilerinin bu kontrolleri araç olarak çalıştırmasını sağlar (dmarc_check, spf_check, dns_lookup ve altı tane daha). Bu API'yi çağıran, bağımlılığı olmayan tek bir Python dosyasıdır; bu yüzden aynı sınırlar ve hedef kontrolleri geçerlidir.
- xgm_mcp.py dosyasını indirin (Python 3.9 veya üzeri).
- Claude Code'a ekleyin:
claude mcp add xgm -- python3 /path/to/xgm_mcp.pyDiğer istemciler için bu stdio yapılandırmasını kullanın:
{
"mcpServers": {
"xgm": { "command": "python3", "args": ["/path/to/xgm_mcp.py"] }
}
}Sonra örneğin şunu sorun: “example.com alan adının DMARC ve SPF kurulumunu kontrol et ve neyi düzeltmem gerektiğini söyle.”