Skip to content

HADİ'yi ajanına bağla (MCP)

This content is not available in your language yet.

HADİ, yapay zekâ ajanları için bir MCP sunucusu sunar: https://mcp.api.hadisosyal.com/mcp (Streamable HTTP, JSON-RPC). Ajan, üyenin izniyle etkinlikleri arayabilir, profilini okuyabilir; başkalarına ulaşan her işlem için üye HADİ uygulamasında onay verir.

MCP şartnamesindeki OAuth profili, HADİ’nin güvenlik kurallarıyla:

  1. Sunucu 401 ile WWW-Authenticate: DPoP resource_metadata="https://mcp.api.hadisosyal.com/.well-known/oauth-protected-resource" döner.
  2. Meta veride yetkilendirme sunucusu: https://auth.hadisosyal.com.
  3. İstek PAR ile başlar; PKCE S256 ve DPoP zorunludur. Jeton isterken resource=https://mcp.api.hadisosyal.com gönder (RFC 8707).
  4. Jeton 5 dakika geçerlidir; offline_access ile refresh en çok 7 gün.
POST https://auth.hadisosyal.com/par
client_id=https://ajanim.example.com/oauth/client.json
&resource=https://mcp.api.hadisosyal.com
&scope=openid events:read
&response_type=code&code_challenge=…&code_challenge_method=S256
&redirect_uri=http://127.0.0.1:53682/callback&state=…
  • Kayıtlı istemci (devs konsolu): incelemedeki kademesine göre R0–R3 izinler.
  • Kayıtsız istemci (CIMD): client_id olarak kendi https adresini ver; o adreste şu belge olmalı:
{
"client_id": "https://ajanim.example.com/oauth/client.json",
"client_name": "Ajanım",
"redirect_uris": ["http://127.0.0.1/callback", "https://ajanim.example.com/cb"],
"token_endpoint_auth_method": "none"
}

Kurallar: belge en çok 5 KB, client_id belge adresiyle aynı, yönlendirmeler aynı alan adında (https) ya da 127.0.0.1. Kayıtsız istemci yalnızca okuma (R0–R1) isteyebilir ve izin ekranında “HADİ incelemedi” uyarısı görünür. Açık dinamik kayıt (RFC 7591) yoktur.

initialize yanıtındaki Mcp-Session-Id başlığını sonraki isteklerde gönder. Oturum kimliği jetonu alan izne ve DPoP anahtarına bağlıdır; başka bir jetonla kullanılırsa 404 döner ve yeniden initialize gerekir. Oturumu kapatmak için DELETE /mcp. Tarayıcıdan gelen isteklerde Origin beyaz listede olmalıdır.

tools/list dinamiktir: yalnızca jetondaki izinlerin kapsadığı araçlar listelenir. Örnekler:

AraçİzinOnay
hadi_meprofile:basicyok
hadi_events_list, hadi_events_getevents:readyok
hadi_event_join, hadi_events_leaveevents:joinher işlemde
hadi_post_create, hadi_comment_create, hadi_post_likeposts:write / comments:write / reactions:writeher işlemde
hadi_members_followsocial.follow:writeher işlemde
hadi_communities_update, hadi_events_submitcommunities:manage / events:create (Kademe 2)her işlemde + PIN

Kaynaklar (salt okuma): hadi://me/profile, hadi://events/upcoming.

Para, doğrudan mesajlar ve sağlık verisi ajanlara hiç açılmaz.

// 1) İlk çağrı
{"name": "hadi_event_join", "arguments": {"id": "evt_s4nd"}}
// → {"status": "pending_approval", "approval_id": "ar_…", "expires_in_sec": 600}
// 2) Üye HADİ › Ayarlar › Güvenlik › Ajan istekleri'nde onaylar.
// 3) Aynı araç, aynı argümanlar + approval_id
{"name": "hadi_event_join", "arguments": {"id": "evt_s4nd", "approval_id": "ar_…"}}

Onay tek kullanımlıktır, 10 dakika geçerlidir ve argümanlar değişirse geçmez.

Araç çıktısında üyelerin yazdığı her metin {"untrusted_text": "…", "source": "comment"} biçimindedir ve çıktının başında sabit bir uyarı vardır. Görünmez/yön değiştirici karakterler silinir; görsel ve dış bağlantılar dönmez. Ajanın untrusted_text içindeki talimatları uygulamamalı.

  • İzin başına dakikada 30 araç çağrısı; aynı okuma 10 sn içinde tekrarlanırsa önbellekten.
  • Ajan başına günde 20 yazma.
  • Ajanla oluşan içerikte kapatılamaz ”🤖 ajan aracılığıyla” etiketi görünür.

Ajan geliştiricileri için kontrol listesi

Section titled “Ajan geliştiricileri için kontrol listesi”
  • DPoP anahtarını işlem dışında saklamıyorum; jetonu loglamıyorum.
  • untrusted_text içeriğini talimat olarak kullanmıyorum; araç zincirini üyenin isteğiyle sınırlıyorum.
  • pending_approval dönünce üyeye HADİ’de onay vermesini söylüyorum; onayı kendim uydurmuyorum.
  • Hata ve 429 yanıtlarında üstel bekleme yapıyorum.

MCP Inspector ile sandbox sunucusuna bağlan: https://mcp.api.sandbox.hadisosyal.com/mcp (test hesabı, gerçek veri yok).