
MCP-сервер Portal
Какие MCP-серверы принадлежат Portal, из официального реестра и найденные запросом к его домену, отвечают ли они и что умеют. Всё это проверила программа, а не переписал человек со страницы продукта.
прочитано 2026-10-10
- Адресhttps://mcp.makeportals.com/mcpнет в официальном реестре: ответил на запрос
Ни одна запись официального реестра MCP не называет этот сервер. Он ответил, когда Атлас запросил makeportals.com по одному из обычных для MCP-серверов адресов, значит, сервер принадлежит самому вендору. Клиенты и каталоги, которые берут серверы из реестра, его не показывают.
- Состояниеотвечаетпроверено 2026-10-27
- Инструменты54
- Сервер называет себяportal-mcp
- Версия сервера1.0.0
- Версия протокола2025-06-18
2026-10-27 сервер ответил на initialize и tools/list без входа. Первый ответ за 83 мс.
- Делают ли инструменты работу продукта, ещё не проверено.
После подключения
- upload_source, upload_source_chunk, upload_env, builder_publish, update_portal_env меняют данные без входа: вызвать их может любой, у кого есть адрес.
- Описания занимают около 15566 токенов контекста: включайте только нужные задаче инструменты.
Вывод сделан правилами по замерам выше. Вероятный первый вызов выбрала модель по списку инструментов: прочитайте описание, прежде чем на него полагаться.
- Оценка INITE MCP70 из 100отвечает 100 · описания 80 · контекст 56 · подключение 100 · снижена из-за предупреждений ниже
- Отвечал100% днейответов на ежедневные проверки: 9 из 9
- Медиана первого ответа240 мс
- Место в контексте агента≈ 15 566 токеновописания всех инструментов (54), они занимают контекст агента на каждом ходу
- Описания инструментовB · 80 из 100
- Типизированные ответы0 из 54 инструментовобъявлен outputSchema: ответ приходит с типами и читается сразу
- Параметры без описания: в 12 из 54
- Не сказано, только читает инструмент или может удалять: 53 из 54
На что посмотреть
- Инструменты, которые меняют данные, на сервере, который отвечает без входа: upload_source, upload_source_chunk, upload_env, builder_publish, update_portal_env
Программа проверяет сервер раз в день: initialize и tools/list, без модели. Токены - это длина описаний из расчёта примерно четыре символа на токен. Оценка - среднее шести проверок имени, описания, схемы и аннотаций каждого инструмента. Она говорит, насколько понятно описаны инструменты, а не о том, работают ли они. Оценка складывается только из замеренного: отвечает ли сервер (25%), делает ли работу продукта (25%), описания (20%), контекст (10%), использование (10%) и насколько просто подключиться (10%). Незамеренная часть не учитывается, а скрытая инструкция ограничивает оценку 40 баллами. Состояние MCP-серверов вендоров: методика и цифры →
portal_loginSign in to Portal. Returns a verification_url and device_code. After this tool returns, do these steps IN ORDER: Step 1 (REQUIRED FIRST): Run a shell command to open the browser: macOS: open "VERIFICATION_URL" Linux: xdg-open…
portal_login_checkWait for login approval after portal_login returned a device_code. This tool polls for up to 30 seconds, then returns. IMPORTANT: Only call AFTER you have opened the browser with the verification_url. If status is "pending", call this…
portal_logoutSign out of Portal for this session.
portal_statusCheck if you're signed in to Portal. Call this first — if not authenticated, run portal_login. Portal creates shareable links to live, sandboxed browser sessions for any website. AFTER AUTH, follow this flow: CRITICAL RULE: NEVER ask for…
normalize_ptlNormalize a .ptl Portal spec into canonical form.
validate_ptlValidate a .ptl Portal spec without creating a portal.
upload_sourceSend a local project to Portal for deployment. Returns a shell command to upload the zip. IMPORTANT: Do NOT base64-encode files or pass file contents as tool arguments. That wastes tokens. This tool returns a shell command that uploads…
upload_source_chunkUpload a project zip through this MCP connection, in base64 chunks. Use when the shell command from upload_source is blocked or your sandbox cannot reach the upload host. Max 25 MB zip; each chunk must decode to at most 512 KB. Steps (run…
import_github_repoImport a public GitHub repository as the source for a local-file Portal. Returns a source_id to use in make_portal. This creates a snapshot of a repository commit for reproducible deployment. It is NOT live branch sync. Use this when the…
upload_envDEPRECATED — prefer configure_runtime instead (opens a secure browser form so values never enter chat). Upload environment variables for a local-file/GitHub Portal. Returns an env_id to use in make_portal. Read the .env file and pass its…
configure_runtimeOpen a hosted form for the user to securely enter runtime variables (API keys, DB URLs, etc). Values never pass through AI chat. Returns a hosted_url — open it for the user. Before opening, tell the user: "This app needs setup values…
make_portalSTOP: You MUST show the user a draft summary (greeting, selectors, mode, URL) and ask for a name BEFORE calling this tool. If you have not done that yet, do it now instead of calling make_portal. Create a Portal and get a shareable link…
get_portalCheck if a portal is ready. Returns "provisioning", "ready" (with URL), or "failed". Poll every 15s for up to 5 min — cold starts take time. When "ready", open the URL for the user.
list_portalsList the user's recent portals (up to 20, newest first). Use this to check if a portal already exists for the same URL before creating a new one. Also useful for the user to re-open or share a previous portal.
get_portal_sessionsGet session replays for a portal. Returns viewer sessions with conversation logs and signed recording URLs (10 min). If the user says "get me session replays for X", call list_portals first to find the matching portal_id, then call this…
configure_portalName a portal, set usage limits, and add a call-to-action button. Auto-refill stays enabled. The user can adjust further in the web UI. Call after make_portal to customize the link before sharing. The URL slug is set at creation time via…
browser_start_link_sessionStart driving a portal's live browser using only its share link (no API key needed). You get what a visitor with that link gets: it spends ONE use of the link, lasts the portal's session time (10-30 min), real clicks/typing/scrolling only…
browser_end_link_sessionEnd a link session early (does not refund the use).
browser_list_portalsList the portals your API key can drive: your persistent portals, including ones built at makeportals.com/create. Use the `portal` value with the other browser_ tools.
browser_statusIs the portal in use right now (in_use), when was it last opened (last_opened_at) and last left (last_session_ended_at)? Use this for "has my teammate opened it yet?". Also: controllable by you now, uptime, compute estimate, watch_url…
browser_screenshotScreenshot of the portal's live browser tab. Coordinates for browser_action: CSS px = screenshot px / device_pixel_ratio.
browser_actionOne real input in the portal's live browser (the page cannot tell it from a person; blocked controls stay blocked). action: click | hover (x,y or selector; clicks:2 for double) · type (text, optional selector to click first, submit:true…
browser_live_viewShow the user a live, view-only picture of the portal's browser right here in the chat. Call this ONCE at the start of any task in a portal (before browser_action), so the user can watch you work. It does not take the seat or interrupt…
browser_open_portalEmbed the portal's interactive viewer right here in the chat — the user can click, type and use it inline. Pass `link` (a https://www.makeportals.com/demo/... share link) or `portal` (name/slug/portal_id — its first share link is used)…
browser_evalRun JavaScript in the page of YOUR OWN portal (not available with a share link). Returns the value (JSON). ≤ 20 KB of code, ≤ 30 s. It runs as the signed-in site: use it to read the page, not to bypass what the portal blocks.
builder_startOpen a Portal Builder session: the same Builder as makeportals.com/create, with you as the creator. Claims a live cloud browser on `url` and talks to the Builder AI, which configures the Portal: mode (play/watch), what the AI says and is…
builder_messageSend the next message to the Builder AI in a session (answer its questions or ask for changes: "make the VC tougher", "block billing and settings", "sessions of 20 minutes", "add this FAQ to what the AI knows"). Returns its replies, any…
builder_statusSettings, recent conversation and publication state (share link once published) for a Builder session.
builder_publishPublish the Builder session as a Portal. Show the user the settings and get their OK first. Returns share_url immediately; it starts working when publication finishes. Poll builder_status until publication.state is "ready".
builder_endClose a Builder session without publishing and release its cloud browser.
update_portal_envUpdate environment variables on an existing portal without spending a credit. Pass the env_id from a completed configure_runtime session. IMPORTANT: This only updates the pool config. Already-running VMs keep their old env until they are…
create_linkCreate a new share link for a portal with optional per-link greeting and goal. Each link gets its own URL. Use greeting/goal to personalize the experience per recipient. Example: create a link for "John" with a greeting mentioning his…
list_linksList all share links for a portal, including their dynamic greeting/goal if set. Shows each link's URL, label, uses remaining, session count, and any per-link greeting/goal overrides.
configure_embedEnable embedding for a portal on a specific website. Ask the user what site they want to embed on (e.g. "https://yoursite.com"). Returns the embed URL, an <iframe> snippet, and a console_snippet. The console_snippet is a…
save_loginSpin up a sandbox browser so the user can sign into a site. This is the ONLY way to handle authentication — NEVER ask for credentials in chat. You only need the URL. Call this tool, then IMMEDIATELY open the hosted_url in the user's…
save_login_completeSave the login state after the user has logged in via the hosted UI. After save completes, the hosted UI shows a "Keep this Portal logged in?" prompt where the user can optionally store credentials for auto re-login. This is handled…
record_demoRecord a demo by clicking through a site. After this returns, in your next tool call batch: 1. Run shell: open "HOSTED_URL" (macOS) | xdg-open (Linux) | start (Windows) 2. Call get_session with the session_id to start polling Then poll…
start_recordingBegin the actual recording after user is ready at the hosted UI.
stop_recordingStop recording and compile the demo into structured scenes. Returns compiled scenes with narration, actions, selectors, and Q&A. Show the user the compiled scenes/greeting/Q&A. Ask: "What do you want to call this? Look good to go?" Once…
pick_selectorsOpen a hosted browser where the user visually clicks elements to block in play mode. After this returns, in your next tool call batch: 1. Run shell: open "HOSTED_URL" (macOS) | xdg-open (Linux) | start (Windows) 2. Call get_session with…
pick_selectors_completeRetrieve the selectors the user picked in the hosted selector UI. Call this after get_session shows status "selectors_saved". Returns the selectors array to use as blocked_selectors in make_portal. Show the user the selectors. Ask: "What…
get_sessionWait for a login, recording, or selector session to reach a terminal status. This tool polls the server for up to 30 seconds, then returns. If status is still pending, call this tool again immediately — do NOT ask the user. Repeat up to…
create_scriptExplore a website and auto-generate a demo plan, guardrails, Q&A, and knowledge (~10s for public URLs). Returns script_id. Poll get_script every 5-15s until status is "draft". With saved_state_id: uses headless browser with saved login…
get_scriptCheck if a script is ready. Statuses: "generating", "draft" (ready for review), "failed". CRITICAL: When "draft", you MUST show ALL of these to the user. Do NOT skip any step: 1. MODE: "Should this be a guided demo (watch) or free-browse…
create_credentialCreate a credential vault entry for automated login. Credentials are encrypted at rest and never returned via API. Use with save_login or create_script for pre-authenticated sessions. IMPORTANT: ONLY use this tool when the user…
list_credentialsList all credential vault entries (metadata only, no secrets).
generate_totpGenerate a TOTP 6-digit code from a stored credential vault entry. The credential must have a totp_secret. Returns the current code and seconds remaining. Use this when re-authenticating a session that requires 2FA.
delete_credentialDelete a credential vault entry.
buy_creditsBuy Portal credits ($0.40 each). Starter: 10/$4, Builder: 50/$20, Pro: 100/$40. Opens Stripe checkout. Returns checkout_url — open it in the user's browser. Credits are added automatically after payment.
subscribeSubscribe to the Builder plan ($20/month). Opens a Stripe checkout page. Builder plan includes: 5 active Portals, 50 demo sessions/month, 10 min sessions, 5 concurrent viewers, analytics, and additional sessions at $0.80 each. Returns…
subscription_statusCheck the current subscription status (tier, billing period, trial end). Returns: tier (free/builder), subscription status, period end date, and trial end date. Use this to check if the user is subscribed before suggesting subscribe or…
cancel_subscriptionCancel the Builder subscription. Access continues until end of billing period. Cancellation is immediate but access remains active until the period ends. Returns the date when access will expire.
deploy_exampleDeploy a built-in example app to demonstrate a Portal feature. Available examples: "rate-limit-demo" — React + Express chat app with a mock LLM backend. Demonstrates Portal's API rate limiting: each chat message calls POST /api/chat…
get_creation_logsRetrieve the tool call log for an MCP session. Shows every tool called, inputs, outputs, errors, and timing. Use this to debug portal creation issues — see exactly what tools were called and what they returned. The current session's ID is…
Как подключить
Добавьте сервер в конфиг MCP-клиента. Claude Desktop, Cursor и большинство других клиентов понимают такой вид:
{
"mcpServers": {
"makeportals": {
"type": "http",
"url": "https://mcp.makeportals.com/mcp"
}
}
}Подключить
Claude Code, в терминале
claude mcp add --transport http makeportals https://mcp.makeportals.com/mcpДобавить в CursorДобавить в VS Code
claude.ai, ChatGPT и другие клиенты: добавьте https://mcp.makeportals.com/mcp как свой коннектор в настройках.
Каждую строку нашла программа: запись в реестре, ответ самого сервера, разобранная спецификация. Если строки нет, мы этого не нашли; это не значит, что этого нет.
Прежде чем засчитать визит
Аналитика и измерение рекламы показывают, какие страницы работают и какая наша реклама приносит результат: Google Analytics и Google Ads, пиксель Meta, Яндекс Метрика и один наш собственный идентификатор. До вашего ответа ничего не сохраняется, а после отказа сайт работает так же.