Bu rehber, ActiveDirectoryMCP sunucusunu HTTP transport ile nasıl kullanacağınızı açıklar.
# Projeyi klonlayın
git clone https://github.com/alpadalar/ActiveDirectoryMCP.git
cd ActiveDirectoryMCP
# Konfigürasyonu ayarlayın
cp ad-config/config.example.json ad-config/config.json
# config.json dosyasını kendi AD ayarlarınızla düzenleyin
# Docker Compose ile başlatın
docker compose up -d
# HTTP endpoint: http://localhost:8813/activedirectory-mcp# Sanal ortamı hazırlayın
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
# HTTP sunucusunu başlatın
./start_http_server.sh
# Veya özelleştirilmiş ayarlarla
python -m active_directory_mcp.server_http --host 0.0.0.0 --port 8813 --path /activedirectory-mcp~/.cursor/mcp_settings.json veya VS Code MCP ayarlarınıza ekleyin:
{
"mcpServers": {
"ActiveDirectoryMCP": {
"transport": {
"type": "http",
"url": "http://localhost:8813/activedirectory-mcp"
},
"description": "Active Directory Management with HTTP Transport"
}
}
}{
"mcpServers": {
"ActiveDirectoryMCP-Local": {
"transport": {
"type": "http",
"url": "http://localhost:8813/activedirectory-mcp"
},
"description": "ActiveDirectoryMCP Local Development"
}
}
}{
"mcpServers": {
"ActiveDirectoryMCP-Stdio": {
"command": "/absolute/path/to/ActiveDirectoryMCP/.venv/bin/python",
"args": ["-m", "active_directory_mcp.server"],
"cwd": "/absolute/path/to/ActiveDirectoryMCP",
"env": {
"PYTHONPATH": "/absolute/path/to/ActiveDirectoryMCP/src",
"AD_MCP_CONFIG": "/absolute/path/to/ActiveDirectoryMCP/ad-config/config.json"
},
"disabled": false
}
}
}list_users- Kullanıcıları listele ve filtreleget_user- Belirli bir kullanıcının detay bilgilerini alcreate_user- Yeni kullanıcı hesabı oluşturmodify_user- Kullanıcı bilgilerini güncelledelete_user- Kullanıcı hesabını silenable_user/disable_user- Hesap durumunu yönetreset_user_password- Şifre sıfırlamaget_user_groups- Kullanıcının üye olduğu grupları listele
list_groups- Grupları listeleget_group- Grup detaylarını alcreate_group- Yeni güvenlik/dağıtım grubu oluşturmodify_group- Grup özelliklerini güncelledelete_group- Grup siladd_group_member/remove_group_member- Üyelik yönetimiget_group_members- Grup üyelerini listele
list_computers- Bilgisayar hesaplarını listeleget_computer- Bilgisayar detaylarını alcreate_computer- Yeni bilgisayar nesnesi oluşturmodify_computer- Bilgisayar özelliklerini güncelledelete_computer- Bilgisayar hesabını silenable_computer/disable_computer- Hesap durumu yönetimireset_computer_password- Bilgisayar şifresini sıfırlaget_stale_computers- Aktif olmayan bilgisayarları tespit et
list_organizational_units- OU'ları listeleget_organizational_unit- OU detaylarını alcreate_organizational_unit- Yeni OU oluşturmodify_organizational_unit- OU özelliklerini güncelledelete_organizational_unit- OU silmove_organizational_unit- OU'yu taşıget_organizational_unit_contents- OU içeriğini listele
get_domain_info- Domain güvenlik ayarlarıget_privileged_groups- Ayrıcalıklı grup analiziget_user_permissions- Kullanıcı yetki analiziget_inactive_users- Aktif olmayan kullanıcılarget_password_policy_violations- Şifre politikası ihlalleriaudit_admin_accounts- Yönetici hesap denetimi
test_connection- LDAP bağlantı testihealth- Sunucu sağlık kontrolüget_schema_info- Tüm tool'ların şema bilgisi
# Sağlık kontrolü
curl -X POST "http://localhost:8813/activedirectory-mcp" \
-H "Content-Type: application/json" \
-d '{"method": "health", "params": {}}'
# Kullanıcıları listele
curl -X POST "http://localhost:8813/activedirectory-mcp" \
-H "Content-Type: application/json" \
-d '{"method": "list_users", "params": {"ou": "OU=Users,DC=example,DC=com"}}'
# Yeni kullanıcı oluştur
curl -X POST "http://localhost:8813/activedirectory-mcp" \
-H "Content-Type: application/json" \
-d '{
"method": "create_user",
"params": {
"username": "testuser",
"password": "TempPass123!",
"first_name": "Test",
"last_name": "User",
"email": "testuser@example.com"
}
}'MCP Inspector kullanarak tool'ları test edebilirsiniz:
# MCP Inspector'ı yükleyin
npx @modelcontextprotocol/inspector
# HTTP transport ile bağlanın
# URL: http://localhost:8813/activedirectory-mcpservices:
activedirectory-mcp:
build: .
container_name: ActiveDirectoryMCP
ports:
- "8813:8813"
volumes:
- ./ad-config:/app/ad-config:ro
environment:
- AD_MCP_CONFIG=/app/ad-config/config.json
- HTTP_HOST=0.0.0.0
- HTTP_PORT=8813
- HTTP_PATH=/activedirectory-mcp
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-s", "-f", "http://localhost:8813/activedirectory-mcp"]
interval: 30s
timeout: 10s
retries: 3server {
listen 80;
server_name activedirectory-mcp.yourdomain.com;
location / {
proxy_pass http://localhost:8813;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}{
"active_directory": {
"server": "ldaps://dc.example.com:636",
"use_ssl": true
},
"security": {
"enable_tls": true,
"validate_certificate": true,
"ca_cert_file": "/path/to/ca-certificate.pem"
}
}Minimum gerekli izinler:
- Domain'e okuma erişimi
- Kullanıcı/Grup/Bilgisayar yönetim izinleri
- Şifre sıfırlama izni (gerekirse)
- OU oluşturma/silme izni (gerekirse)
{
"performance": {
"connection_pool_size": 10,
"max_retries": 3,
"retry_delay": 1.0,
"page_size": 1000
}
}# Docker container log'ları
docker logs activedirectory-mcp -f
# Lokal log dosyası
tail -f active_directory_mcp.log-
LDAP Bağlantı Hatası
# Bağlantıyı test edin ldapsearch -H ldap://dc.example.com -D "CN=user,DC=example,DC=com" -W
-
Port Kullanımda
# Port kontrolü netstat -tlnp | grep 8813 # Farklı port kullanın HTTP_PORT=8814 ./start_http_server.sh
-
İzin Hatası
- Servis hesabı izinlerini kontrol edin
- OU erişim haklarını doğrulayın
Sorunlarınız için:
- GitHub Issues açın
- Log dosyalarını paylaşın
- Konfigürasyon detaylarını (şifreler hariç) ekleyin
🎉 ActiveDirectoryMCP HTTP Transport ile AD yönetiminiz artık hazır!