Підключіть Blogent до AI-асистентів через MCP
Віддалений MCP-сервер Blogent дає сумісному AI-асистенту доступ до вашого акаунта після авторизації в браузері. У розмові він може знайти проєкт за доменом, створити або оновити налаштування блогу, керувати власними темами й шорткодами, перевірити статус підписки, показати періоди оплати та підготувати пряме посилання Stripe Checkout після вашого явного вибору.
Як підключити Blogent до Model Context Protocol
Керуйте Blogent просто в розмові
Один раз додайте віддалений MCP-сервер Blogent. AI-асистент відкриє Blogent для безпечної авторизації в браузері й отримає лише ті дії з проєктами та білінгом, які ви підтвердите.
-
Додайте власний MCP-конектор
Відкрийте налаштування конекторів або інтеграцій у своєму AI-клієнті, оберіть додавання віддаленого MCP-сервера та вставте URL Blogent нижче.
-
Увійдіть і підтвердьте доступ
Увійдіть у Blogent у вікні браузера й перевірте запитані дозволи на проєкти та білінг перед підключенням.
-
Опишіть потрібний блог
Попросіть асистента спершу перевірити наявні проєкти, а потім обговоріть домен, дані компанії, мови, власні теми, зображення й опційні шорткоди CMS.
-
Оберіть період оплати самостійно
Коли проєкт готовий, попросіть показати актуальні тарифи. Самі оберіть період — лише після цього асистент може повернути пряме посилання Stripe Checkout.
Вставте цю точну HTTPS-адресу у свій AI-клієнт. Відкривати її як звичайну вебсторінку не потрібно.
https://blogent.tools/mcp
Доступ поділено на projects:read, projects:write, billing:read і billing:write. Ви підтверджуєте потрібні дозволи в Blogent, а статус оплати змінюється лише після підтвердження платежу від Stripe.
Технічна документація для розробника
Це повний контракт для власного MCP-клієнта. Стандартний клієнт виконає discovery автоматично; власна реалізація має пройти наведені нижче OAuth і JSON-RPC кроки.
Контракт підключення
- MCP endpoint
https://blogent.tools/mcp- Транспорт
- Streamable HTTP через HTTPS. Кожне JSON-RPC повідомлення надсилайте окремим
POST.GETповертає405; SSE listener відсутній. - Версії протоколу
2025-06-18,2025-11-25і2026-07-28. Якщо заголовокMCP-Protocol-Versionпередано, значення має бути одним із цих.- Авторизація
Authorization: Bearer <access_token>. Відсутній або прострочений токен повертає401із посиланням на metadata захищеного ресурсу.- Формат
- UTF-8 JSON-RPC 2.0. Надсилайте
Content-Type: application/jsonіAccept: application/json, text/event-stream; Blogent відповідає JSON. - Можливості
- Лише tools. Немає resources, prompts, sampling або серверних notifications.
OAuth Authorization Code flow
Використовуйте публічний OAuth-клієнт із PKCE S256. Зберігайте й перевіряйте state, а точний канонічний MCP URL передавайте як resource і в authorization, і в token request.
- Отримайте metadata захищеного ресурсу й authorization server з двох well-known URL.
- Зареєструйте клієнт через
POST /oauth/register. Redirect URI має використовувати HTTPS; HTTP дозволено лише для localhost loopback адрес. - Створіть PKCE verifier довжиною 43–128 символів, обчисліть SHA-256 base64url challenge і відкрийте
GET /oauth/authorizeу браузері користувача. - Після підтвердження перевірте
stateі обміняйте одноразовийcodeчерезPOST /oauth/token. Код діє 10 хвилин. - Зберігайте токени безпечно. Access token діє 3600 секунд. Оновлюйте через
grant_type=refresh_token; кожне оновлення інвалідовує попередній refresh token. - Під час відключення відкличте access або refresh token через
POST /oauth/revoke.
Довідник OAuth endpoints
| Method | Path | Purpose |
|---|---|---|
GET | /.well-known/oauth-protected-resource | Resource ID, authorization server, scopes і bearer method. |
GET | /.well-known/oauth-authorization-server | Issuer та endpoints авторизації, токена, реєстрації й відкликання. |
POST | /oauth/register | Динамічна реєстрація публічного клієнта. Ліміт: 20 запитів на хвилину. |
GET / POST | /oauth/authorize | Вхід і consent у браузері. POST надсилає форма підтвердження Blogent. |
POST | /oauth/token | Обмін authorization code або ротація refresh token. Ліміт: 60 запитів на хвилину. |
POST | /oauth/revoke | Відкликання access або refresh token. Ліміт: 60 запитів на хвилину. |
Готові приклади протоколу
Замініть плейсхолдери у верхньому регістрі. OAuth endpoints приймають стандартні form fields, MCP calls — JSON.
1. Зареєструвати публічний клієнт
curl -X POST "https://blogent.tools/oauth/register" \
-H "Content-Type: application/json" \
--data '{
"client_name": "Acme MCP Client",
"redirect_uris": ["https://client.example.com/oauth/callback"],
"grant_types": ["authorization_code", "refresh_token"],
"response_types": ["code"],
"token_endpoint_auth_method": "none"
}'
2. Відкрити authorization URL
GET https://blogent.tools/oauth/authorize
?response_type=code
&client_id=CLIENT_ID
&redirect_uri=https%3A%2F%2Fclient.example.com%2Foauth%2Fcallback
&scope=projects%3Aread%20projects%3Awrite%20billing%3Aread%20billing%3Awrite
&state=RANDOM_OPAQUE_STATE
&code_challenge=BASE64URL_SHA256_OF_VERIFIER
&code_challenge_method=S256
&resource=https%3A%2F%2Fblogent.tools%2Fmcp
3. Обміняти код
curl -X POST "https://blogent.tools/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=authorization_code" \
--data-urlencode "client_id=CLIENT_ID" \
--data-urlencode "code=AUTHORIZATION_CODE" \
--data-urlencode "redirect_uri=https://client.example.com/oauth/callback" \
--data-urlencode "code_verifier=PKCE_VERIFIER" \
--data-urlencode "resource=https://blogent.tools/mcp"
4. Ініціалізувати й отримати tools
curl -X POST "https://blogent.tools/mcp" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-11-25" \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"acme-client","version":"1.0.0"}}}'
curl -X POST "https://blogent.tools/mcp" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-11-25" \
--data '{"jsonrpc":"2.0","method":"notifications/initialized"}'
curl -X POST "https://blogent.tools/mcp" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-11-25" \
--data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
5. Викликати tool
curl -X POST "https://blogent.tools/mcp" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-11-25" \
--data '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "create_project",
"arguments": {
"domain": "example.com",
"company": "Example",
"languages": ["en"],
"company_description": "Factual context approved by the customer."
}
}
}'
Довідник аргументів tools
Машиночитним джерелом правди завжди є актуальна відповідь tools/list: вона містить inputSchema, outputSchema та annotations кожного tool.
| Tool / scope | Input | Output | Retry behavior |
|---|---|---|---|
get_blog_setup_guideauthenticated |
Без аргументів. | Workflow, обов’язкові поля, опційні можливості, режими shortcode та правила оплати. | Read-only; безпечно повторювати. |
list_projectsprojects:read |
Без аргументів. | projects[]: domain, company, status, ownership, timestamps і subscription summary. |
Read-only; безпечно повторювати. |
get_projectprojects:read |
Обов’язковий domain: string. |
Детальний project, налаштування, shortcodes і статус підписки. |
Read-only; безпечно повторювати. |
create_projectprojects:write |
Обов’язкові domain, company, languages; опційні поля наведено нижче. |
Створений неоплачений project і next_actions для отримання тарифів. |
Не повторюйте після timeout навмання: спочатку викличте get_project. Дублікати domain відхиляються. |
update_projectprojects:write |
Обов’язкові domain і непорожній changes лише з дозволеними полями. |
Збережений детальний project. |
Однаковий payload безпечний за ефектом; перевірте стан через get_project. |
list_custom_topicsprojects:read |
Обов’язковий domain: string. |
domain і впорядкований topics[] з index та title. |
Read-only; безпечно повторювати. |
add_custom_topicsprojects:write |
Обов’язкові domain і 1–100 topics. Кожен title: максимум 500 символів, щонайменше 4 слова й 18 символів. |
Повний список topics після додавання унікальних назв. | Ідемпотентний завдяки case-insensitive дедуплікації title. |
list_billing_plansbilling:read |
Обов’язковий domain: string. |
Subscription і всі plans: period, months, total, original total, monthly rate, currency, discount percent. | Read-only; отримуйте безпосередньо перед показом цін. |
create_checkout_linkbilling:write |
Обов’язкові domain і billing_period: monthly, quarterly, semi_annual або annual. |
Прямий checkout URL, expiry, period, months, amount, currency і reused. |
Retry-safe для активної спроби з тим самим period. Не змінюйте period, доки інший checkout відкритий. |
Довідник полів проєкту
Невідомі поля відхиляються. create_project вимагає перші чотири поля; update_project.changes приймає будь-яку непорожню підмножину без domain.
| Field | Type and validation |
|---|---|
domain | Кореневий domain. Scheme і www видаляються; path, query, fragment та credentials відхиляються. |
company | String, максимум 50 символів. |
languages | Array з 1–3 strings; кожен максимум 50 символів. |
company_description / advantages | Nullable strings, максимум 1000 символів кожен. |
region | Nullable string, максимум 200 символів. |
services / categories | Nullable strings, максимум 2500 символів кожен. Очищаються, коли landing_without_pages=true. |
landing_without_pages / strict_mode / generate_inline_images | Boolean values. |
knowledge_base | Nullable factual content, максимум 50 000 символів. |
product_params | Nullable string, максимум 1200 символів. |
parameters_description | Nullable string, максимум 1500 символів. |
rubrics | Nullable string, максимум 255 символів. |
sitemap_url | Nullable absolute URL, максимум 500 символів. |
image_source | Одне зі значень: stock, custom, ai. |
image_categories | Nullable string, максимум 500 символів. |
shortcodes | Object із mode universal або per_target. Universal приймає один string до 1000 символів. Per-target — до 100 пар {target_url, shortcode}. |
Формат відповіді
Успішний tool повертає читабельний content і машиночитний structuredContent. Бізнес- та validation-помилки повертаються з HTTP 200 і result.isError=true. Помилки протоколу використовують JSON-RPC об’єкт error.
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [{"type": "text", "text": "Project created without charging the user. Present billing plans next."}],
"structuredContent": {"project": {}, "next_actions": []},
"isError": false
}
}
{
"jsonrpc": "2.0",
"id": 4,
"result": {
"content": [{"type": "text", "text": "The connected account did not grant the projects:write scope."}],
"isError": true
}
}
Помилки, повторні запити та ідемпотентність
| Signal | Client action |
|---|---|
HTTP 401 / JSON-RPC -32001 | Access token відсутній, прострочений або відкликаний. Запустіть discovery та OAuth або один раз оновіть token. |
HTTP 403 / JSON-RPC -32002 | Browser Origin не дозволено. Server-to-server клієнт має не надсилати Origin; browser origin потрібно налаштувати точно. |
HTTP 400 / JSON-RPC -32600 | Некоректний JSON-RPC або непідтримувана версія MCP. Виправте запит; не повторюйте без змін. |
JSON-RPC -32601 / -32602 | Невідомий method/tool або некоректний envelope. Оновіть tools/list і виправте запит. |
HTTP 200 / result.isError=true | Business або validation error. Покажіть result.content[0].text моделі/користувачу й виконайте інструкцію відновлення. |
HTTP 429 | Досягнуто rate limit реєстрації або токена. Врахуйте Retry-After і використайте exponential backoff із jitter. |
HTTP 5xx або network timeout | Read calls повторюйте з backoff. Перед повтором project write прочитайте project; checkout повторюйте з тим самим domain і billing period. |
- MCP керує контентними налаштуваннями проєкту Blogent, custom topics, статусом підписки й створенням checkout. CMS credentials і publishing connectors налаштовуються в кабінеті Blogent.
- Спільні командні проєкти можна читати через MCP, але оновлювати їх і керувати billing може лише власник.
- Створений checkout link не означає успішну оплату. Авторитетним є лише
get_project.subscription.is_paidпісля Stripe webhook. - Сервер не має delete operation і не використовує приховані fallback data sources або інший project.
End-to-end checklist приймання
- Discovery повертає production HTTPS issuer, MCP resource, endpoints і підтримувані scopes.
- Dynamic registration успішна; клієнт перевіряє OAuth
stateі PKCE verifier. - Перевірено token exchange, одну refresh rotation і revocation без логування сирих tokens.
initialize(для версій 2025) іtools/listпрацюють із bearer token; кожен tool має input та output schema.- Read-only call працює, а відсутній scope повертає
result.isError=true. - Test project створюється лише після confirmation, потім читається й оновлюється за normalized domain.
- Custom topics додаються без видалення наявних; дублікати ігноруються.
- Усі billing plans показано до явного вибору period користувачем.
- Створено Stripe test checkout, повтор із тим самим period перевикористано, payment показано лише після webhook confirmation.
- Disconnect відкликає token; наступний MCP access повертає
401.
Довідка про протокол: Streamable HTTP, MCP authorization і MCP schema. Для цього endpoint поведінка Blogent, описана на цій сторінці, має пріоритет.
Дії V2 та сталі ідентифікатори
- Shopify, HubSpot, Webflow і Framer використовують підключений нативний адаптер. WordPress, OpenCart, Strapi та Lovable — встановлений V2 connector; v0 і Replit адаптують його до наявного застосунку. Wix, Make, n8n та власні endpoint реалізують синхронний контракт; Zapier, Albato й ApiX-Drive — callback завершення.
inventory: передайтеcursor: nullіlimit; відповідь —{articles: [snapshot], next_cursor: string|null}. Продовжуйте з отриманим курсором до null.read: передайтеtargetта/абоcontent_id; відповідь —{article_snapshot: snapshot}. Явний нативнийtargetє визначальним; логічнийcontent_idBlogent може відрізнятися від ID у CMS.- Snapshot містить
identity, title, alias, date, article, target, revision, urlsі необов’язкові дані зображення/автора.articleмістить повний текст та SEO-поля кожної мови. Невідома первинна дата може бути null, недоступні URL — порожньою мапою. create: передайте статтю, унікальнийoperation_id, логічнийcontent_id, порожній target та null expected_revision. Після повної публікації поверніть{posted:true,target,revision,urls}.update: передайте наявні target ID та актуальнуexpected_revision. Збережіть ID, URL/alias, первинну дату, автора й ресурси. Перевірте ревізію атомарно перед записом.
Що ви отримуєте після підключення Model Context Protocol
- Вхід відбувається на власній OAuth-сторінці Blogent; MCP-клієнт ніколи не отримує ваш пароль.
- Знаходьте, створюйте й оновлюйте проєкти за кореневим доменом без переходів між формами дашборда.
- Обговорюйте дані компанії, мови статей, власні теми, зображення та шорткоди CMS до збереження.
- Перевіряйте в розмові, чи оплачена підписка і до якої дати вона діє.
- Переглядайте всі доступні періоди оплати до вибору; checkout не створюється на основі припущення.
Вимоги та сумісність
- Клієнт
- Claude або інший клієнт із підтримкою віддалених MCP-серверів і браузерного OAuth.
- Акаунт
- Акаунт Blogent. Вхід і підтвердження доступу відбуваються у вікні браузера, яке відкриє MCP-клієнт.
- URL сервера
https://blogent.tools/mcp. Вставте саме цю адресу під час додавання власного конектора.- Дозволи
- Окремі дозволи на читання та зміну проєктів і білінгу. Спільні командні проєкти доступні лише для читання; редагувати й відкривати checkout може власник.
- Оплата
- Асистент має показати доступні періоди й дочекатися вашого явного вибору перед створенням посилання Stripe Checkout.
Часті запитання про інтеграцію з Model Context Protocol
Чи бачить AI-асистент мій пароль Blogent?
Ні. Авторизація відбувається на сторінках входу й підтвердження Blogent. Клієнт отримує токен з обмеженими дозволами, а не пароль.
Чим можна керувати через MCP?
Проєктами та їхніми налаштуваннями, власними темами статей, шорткодами, статусом підписки, актуальними тарифами й створенням прямого посилання Stripe Checkout після вибору періоду.
Чи може асистент автоматично списати гроші?
Ні. Спочатку він має показати актуальні періоди оплати й дочекатися вашого явного вибору. У поверненому посиланні Stripe ви самі завершуєте checkout.
Чи може учасник команди редагувати спільний проєкт?
Спільний проєкт можна переглядати через MCP, але змінювати налаштування та керувати оплатою може лише власник.
Переведіть SEO-блог на автопілот
Створіть блог, підключіть Model Context Protocol — і Blogent плануватиме, писатиме, перелінковуватиме та публікуватиме статті автоматично.