{"schema_version":"2026-03-26","name":"mDiv.pl AI Deploy","title":"mDiv.pl. MCP server (AI Deploy + commerce)","description":"Serwer Model Context Protocol firmy mDiv.pl. Dwa zestawy narzędzi: (1) commerce, agent kupuje usługi mDiv (hosting / opieka / programowanie); (2) AI Deploy, agent zarządza infrastrukturą hostingową klienta (domeny, DNS, bazy, e-mail, SSL, instalacja WordPress). Auth: OAuth 2.1 + PKCE (S256) lub Personal API Token.","publisher":{"name":"mDiv.pl","url":"https://mdiv.pl","contact_email":"biuro@mdiv.pl","ai_deploy_email":"ai-deploy@mdiv.pl"},"transports":[{"type":"streamable-http","endpoint":"https://mcp.mdiv.pl/api/mcp"}],"endpoint":"https://mcp.mdiv.pl/api/mcp","url":"https://mcp.mdiv.pl/api/mcp","documentation_url":"https://mdiv.pl/dla-agentow-ai","homepage_url":"https://mdiv.pl","auth":{"methods":["oauth2","bearer_token"],"oauth2":{"flows":["authorization_code"],"pkce_required":true,"code_challenge_methods":["S256"],"authorization_server_metadata":"https://moje.mdiv.pl/.well-known/oauth-authorization-server","protected_resource_metadata":"https://mcp.mdiv.pl/.well-known/oauth-protected-resource","authorization_endpoint":"https://moje.mdiv.pl/oauth/authorize","token_endpoint":"https://moje.mdiv.pl/api/oauth/token","registration_endpoint":"https://moje.mdiv.pl/api/oauth/register"},"bearer_token":{"format":"mpt_<64hex>","issue_url":"https://moje.mdiv.pl/account/api-tokens","header":"Authorization: Bearer mpt_..."}},"api_versioning":{"operational":"/api/v1/","legacy":"/api/"},"capabilities_summary":{"tools":26,"resources":true,"prompts":false},"tiers":[{"id":"none","summary":"AI Deploy wyłączone (default)","detail":"Wszystkie wywołania write zwracają 403 AI_DEPLOY_NOT_ENABLED. Klient musi poprosić o dostęp."},{"id":"sandbox","summary":"Read-only","detail":"Tylko narzędzia *_read i list_*. install_*, delete_*, set_dns_records → 403 AI_DEPLOY_TIER_TOO_LOW."},{"id":"beta","summary":"Pełne ops, limit 500/dzień","detail":"Wszystkie operacje na pakietach ai_deploy_eligible. Dzienny limit 500 mutujących wywołań na konto."},{"id":"full","summary":"Bez ograniczeń ponad limity pakietu","detail":"Pełen dostęp. Tylko fizyczne limity pakietu (liczba domen, baz, ruch)."}],"tools":[{"name":"list_products","group":"commerce","scope":"commerce:read","description":"Katalog usług (hosting/opieka/programowanie)"},{"name":"get_product","group":"commerce","scope":"commerce:read","description":"Szczegóły konkretnego produktu"},{"name":"list_payment_methods","group":"commerce","scope":"commerce:read","description":"Dostępne metody płatności B2B"},{"name":"prepare_checkout","group":"commerce","scope":"commerce:write","description":"Tworzy checkout intent (pre-confirm)"},{"name":"get_checkout_intent","group":"commerce","scope":"commerce:read","description":"Status checkout intent"},{"name":"cancel_checkout_intent","group":"commerce","scope":"commerce:write","description":"Anuluje checkout przed potwierdzeniem"},{"name":"confirm_checkout_intent","group":"commerce","scope":"commerce:write","description":"Finalizuje zakup (płatność)"},{"name":"whoami","group":"commerce","scope":"profile","description":"Tożsamość zalogowanego klienta"},{"name":"list_my_subscriptions","group":"commerce","scope":"commerce:read","description":"Aktywne abonamenty klienta"},{"name":"list_my_invoices","group":"commerce","scope":"commerce:read","description":"Lista faktur"},{"name":"list_my_websites","group":"commerce","scope":"websites:read","description":"Strony WWW na koncie klienta"},{"name":"list_billing_profiles","group":"commerce","scope":"profile","description":"Profile do fakturowania"},{"name":"create_billing_profile","group":"commerce","scope":"profile","description":"Nowy profil fakturowy"},{"name":"list_my_domains","group":"ops-read","scope":"domains:read","description":"Domeny: primary / addon / sub / parked"},{"name":"list_my_databases","group":"ops-read","scope":"databases:read","description":"MariaDB i PostgreSQL z bindingiem do website"},{"name":"list_my_mailboxes","group":"ops-read","scope":"email:read","description":"Skrzynki e-mail z quotą"},{"name":"list_packages","group":"ops-read","scope":"packages:read","description":"Pakiety + current_usage (used vs limit)"},{"name":"list_jobs","group":"ops-read","scope":"jobs:read","description":"Ostatnie joby usera, filtr po statusie"},{"name":"get_job_status","group":"ops-read","scope":"jobs:read","description":"Status pojedynczego joba (polling target)"},{"name":"add_domain","group":"ops-write","scope":"domains:write","description":"Przypina domenę do website"},{"name":"set_dns_records","group":"ops-write","scope":"dns:write","description":"Bulk DNS (A/AAAA/CNAME/MX/TXT/NS/SRV/PTR)"},{"name":"create_database","group":"ops-write","scope":"databases:write","description":"DB + user, hasło zwracane jeden raz"},{"name":"install_wordpress","group":"ops-write","scope":"apps:install","description":"Async (job_id w <200ms, ~30 do 90 s wykonanie)"},{"name":"request_ssl","group":"ops-write","scope":"ssl:write","description":"Async Let's Encrypt (15 do 60 s)"},{"name":"preview_delete_domain","group":"ops-delete","scope":"domains:delete","description":"Krok 1: zwraca preview_token + impact"},{"name":"delete_domain","group":"ops-delete","scope":"domains:delete","description":"Krok 2: wymaga preview_token + confirm=true"}],"safety":{"destructive_operations":"two-step (preview_token + confirm=true)","preview_token":{"ttl_seconds":600,"single_use":true,"bound_to":["user_id","resource_type","resource_id"]},"idempotency":{"header":"Idempotency-Key","window_hours":24,"replay_header":"Idempotent-Replay: true"},"rate_limits":{"default_per_min":60,"install_per_min":5,"headers":["X-RateLimit-Limit","X-RateLimit-Remaining","Retry-After"]}},"use_cases":["wycena i zakup hostingu WWW","wycena i zakup opieki serwisowej","zlecenie projektu programistycznego","sprawdzenie statusu zamówienia / faktury","podpięcie nowej domeny do website","ustawienie rekordów DNS (A/AAAA/CNAME/MX/TXT/NS/SRV/PTR)","utworzenie bazy MariaDB/PostgreSQL z dedykowanym userem","instalacja WordPress (async, ~30 do 90 s)","wystawienie certyfikatu SSL Let's Encrypt (async, 15 do 60 s)","usunięcie domeny (two-step preview + confirm)","monitoring długich operacji przez get_job_status"],"services":[{"id":"tworzenie-stron","name":"Tworzenie stron i sklepów internetowych","url":"https://mdiv.pl/oferta","price_from":1500,"currency":"PLN","unit":"projekt"},{"id":"aplikacje-webowe","name":"Aplikacje webowe i mobilne","url":"https://mdiv.pl/oferta","price_from":150,"currency":"PLN","unit":"godzina"},{"id":"hosting","name":"Hosting WWW","url":"https://mdiv.pl/hosting","price_from":149,"currency":"PLN","unit":"rok"},{"id":"opieka","name":"Opieka nad stroną internetową","url":"https://mdiv.pl/opieka","price_from":249,"currency":"PLN","unit":"miesiąc"}],"audience":"AI agents","languages":["pl","en"],"pricing":"https://mdiv.pl/cennik","legal":{"terms_of_service":"https://mdiv.pl/regulamin","privacy_policy":"https://mdiv.pl/polityka-prywatnosci","security_policy":"https://mdiv.pl/docs/ai-deploy/security-policy","error_codes":"https://mdiv.pl/docs/ai-deploy/error-codes","user_guide":"https://mdiv.pl/docs/ai-deploy/user-guide"}}