Inbox Zero
Search Gmail and Outlook, save drafts, manage email rules, and view email stats.
Build, edit, and deploy Telegram bots on FlowCastle's hosted visual flow platform.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 4/4 통과 · 내가 묻는 내용은 제작자 서버(api.flowcastle.ai)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 5분
FlowCastle 키가 필요해요 (제작자 사이트에서 만들기) · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.
CustomizeConnectors
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
FlowCastlehttps://api.flowcastle.ai/api/mcpRequest headers에 이 이름과 값을 추가
AuthorizationBearer <여기에 키 붙여 넣기>키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
Claude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요
+ConnectorsFlowCastle
FlowCastle을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 FlowCastle을 쓰고 있다고 하거나 답에 FlowCastle 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT는 아직 FlowCastle에 연결할 수 없어요
FlowCastle는 연결할 때 내 키가 필요한데, OpenAI 도움말은 OAuth 로그인만 설명하고 우리가 확인한 키 입력 방법이 없어요
A · FlowCastle에 연결되는 앱 쓰기
B · 채팅 및 이메일에서 ChatGPT에 연결되는 다른 서버
같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요
Claude Code에 연결할 수 있어요 · 약 5분
FlowCastle 키가 필요해요 (제작자 사이트에서 만들기)
제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
claude mcp add --transport http --scope user flowcastle https://api.flowcastle.ai/api/mcp --header 'Authorization: Bearer your-value'Enter 전에 “your-value”를 내 키로 바꾸세요
키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
FlowCastle이 목록에 있고 연결됨으로 보이면 돼요
FlowCastle을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 FlowCastle을 쓰고 있다고 하거나 답에 FlowCastle 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 5분
FlowCastle 키가 필요해요 (제작자 사이트에서 만들기)
제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.
FlowCastle 설정에서 Authorization가 비어 있어요. 내 키를 넣고 저장하세요
키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
FlowCastle을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 FlowCastle을 쓰고 있다고 하거나 답에 FlowCastle 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 5분
FlowCastle 키가 필요해요 (제작자 사이트에서 만들기)
제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.
FlowCastle 설정에서 Authorization가 비어 있어요. 내 키를 넣고 저장하세요
키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
FlowCastle을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 FlowCastle을 쓰고 있다고 하거나 답에 FlowCastle 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code
claude mcp add --transport http --scope user flowcastle https://api.flowcastle.ai/api/mcp --header 'Authorization: Bearer your-value'Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"flowcastle": {
"url": "https://api.flowcastle.ai/api/mcp",
"headers": {
"Authorization": "Bearer your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"flowcastle": {
"type": "http",
"url": "https://api.flowcastle.ai/api/mcp",
"headers": {
"Authorization": "Bearer your-value"
}
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
도구 이름과 설명은 서버가 2026년 11월 13일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
list_applicationsList the applications this API key can access, with the caller role and the permissions it grants. Start here when using a personal API key (usr_...): every other tool needs an explicit applicationId, which this tool supplies. Read-only, takes no arguments. Returns an array of {
create_applicationCreate a new application (workspace) owned by the caller. Requires a personal API key (usr_...) — application-scoped keys cannot create applications. Seeds default flows unless skipDefaultFlows is true. Creates persistent state and is NOT idempotent: calling it twice creates two
update_applicationUpdate application-level settings (name, active state, default language, language for everyone else, incoming-message behavior). Requires the manage_settings permission in that application. Only the fields you pass are changed; omitted fields keep their current value, so the call
import_website_knowledgeCrawl a website into a knowledge base so an AI_TOOL_ROUTER can answer from it. Creates a new base (named after the host) unless knowledgeBaseId is given. Honours robots.txt, skips junk and duplicate pages, keeps blog posts by default, and caps at maxPages. Returns at once with a
get_knowledge_base_documentReturn the FULL text of one knowledge-base document, with contentSha256 — the hash edit_knowledge_base_text_document quotes as expectedSha256. Read-only. get_workspace_summary and get_application_context show each document only as a preview (truncated: true when cut), so read the
get_website_importStatus of a website import started by import_website_knowledge or an import_website_into_knowledge_base action: stage, progress, counters, warnings and the pages that were not imported. Read-only. Poll until status is DONE, DONE_WITH_ERRORS or FAILED.
list_watched_groupsList the group/channel chats a telegram_mtproto userbot monitors. Read-only. The watched list is the single source of truth for which chats the userbot processes: messages from unlisted group/channel chats are dropped (fail closed) and their contacts never materialize; DMs always
list_telegram_operationsDiscover supported Telegram MTProto account operations, input schemas, permissions and limits. Requires manage_broadcasts. All current operations read public data; this catalog does not connect to Telegram. botId may be omitted when the application has exactly one userbot.
execute_telegram_operationSubmit one supported read operation on the connected telegram_mtproto account. Call list_telegram_operations for the input schema. Returns a requestId; poll get_telegram_operation until completed, error or timed_out. Requires manage_broadcasts. Nothing is sent, joined, marked as
get_telegram_operationRead a Telegram operation status and result using its requestId and the same applicationId/botId used for submission. Requires manage_broadcasts for the owning application. Poll every two seconds. Results expire one hour after their last update. timed_out means no result arrived
set_watched_groupsReplace a telegram_mtproto userbot's watched-groups list — the chats it monitors. Requires the manage_settings permission. SET semantics: send the COMPLETE desired list every time (call list_watched_groups first and include existing entries you want to keep — omitting one removes
sync_dialog_contactsImport a telegram_mtproto userbot's existing chats as contacts — DM partners, groups, and channels — so everything the account already talks to becomes a contact send_message can target without waiting for each chat to message first. Importing does not allow sending: send_message
get_workspace_summaryReturn a compact application, flow, sequence, operation, and bot summary — the cheapest way to orient in a workspace. Read-only, no side effects. Deliberately omits variables and full flow graphs: use get_variable_context for variables, get_flow_context for a flow's topology, and
get_variable_contextSearch variable definitions by scope and keyword, or read one variable by id. Read-only. Returns { variables, total, returned, truncated } — compare returned against total to detect a cut-off result set and re-call with a higher limit. Values are withheld unless includeValues is
get_application_contextReturn the full application-level automation context in one read-only call: every flow (with folders), connected bots, variables, sequences, and operations. This is the broad orientation call — prefer get_workspace_summary when you only need names and counts, since this response
get_module_catalogReturn a compact index of both installed and available marketplace modules, with each module's key, versions, description, actions, and triggers. Read-only. Start here when you need a capability the core action kinds do not cover; then call get_module_details for the exact input
get_module_detailsReturn everything needed to use one module: action input fields and their types, trigger configuration, manual setup fields (credentials an operator must fill in the dashboard), and references to already-installed actions. Read-only. Call get_module_catalog first to obtain module
install_moduleInstall an exact marketplace module version into an application and create any missing installed-template actions. Requires the manage_automation permission. Call get_module_catalog first to select the module and version, then get_module_details after installation to inspect setu
search_flowsFind every flow and block whose contents contain a keyword. Read-only. Searches message text and its translations, button labels and URLs, action names and configs, action input/output field paths and values, condition operands, trigger commands and payloads, custom-code files, a
get_flow_contextReturn one flow's graph topology: its blocks in reading order from the start block, a short summary per block, and where each block and each menu button leads (links[].to, menu.buttons[].to). Read-only. Deliberately omits block data, action configs and the ids of buttons, actions
get_block_detailsReturn the complete contents of one block: block data, action configs, HTTP request bodies, custom-code files, triggers, menu payloads, and media paths. Read-only. This is the heaviest read in the API — call get_flow_context first to find the block you need rather than walking a
get_action_schemaRead-only, needs no API key. The action-authoring contract apply_actions batches are validated against. With NO arguments, returns an INDEX of block types, actions, action kinds and topics with descriptions and sizes. Then request only what this bot uses. Detail responses include
get_design_guidelinesReturn the flow-design rules that validation does NOT enforce: when to split a branch into its own flow, how navigation and menus must be wired, and worked examples. Read-only, needs no API key. Called with NO arguments it returns a compact INDEX: the short rules every batch need
get_funnel_analyticsReturn the measured conversion funnels of the workspace's ENTRY flows over the last 14 days, busiest first: how many new contacts entered, which blocks they reached, the share who stop at each block, which buttons lead nowhere (pressed then silence), and how many recorded a goal.
get_flow_analyticsMeasure how NAMED flows are actually used over the last 14 days: how many contacts entered each one, where inside it they stop (per block, with the stop RATE), how many were answered by a human agent afterwards, and how many hit an error. Unlike get_funnel_analytics this works fo
get_survey_resultsRead what customers ANSWERED in this workspace's surveys. A survey is any flow marked isSurvey: its choice questions record which option each contact tapped, and its free-text questions store the reply the contact typed. Called with NO flowId it lists every survey flow with how m
search_flow_examplesSearch the library of reusable flow examples covering common business cases (lead capture, onboarding, payments, reminders). Read-only, needs no API key. Returns summaries to choose by — id, title, summary, useWhen, tags, requiredModules, hasSchemaExample — with no flow body; pas
get_flow_exampleReturn one reusable flow example by id, optionally with a complete action batch you can adapt and pass to apply_actions. Read-only, needs no API key. Call search_flow_examples first to find the id.
validate_actionsDry-run validation of a proposed batch of flow-builder actions. Mutates nothing and is safe to repeat. OPTIONAL: apply_actions runs this exact validation itself and applies nothing when invalid, so calling validate_actions first is redundant — use it only to check a draft you do
apply_actionsValidate and apply a batch of flow-builder actions — the single write path for editing flows, blocks, variables, broadcasts, sequences, and folders. Call this directly; a separate validate_actions call beforehand is unnecessary. Broadcasts have no dedicated tool and are managed h
deploy_applicationPublish the workspace to its bots — the API equivalent of the dashboard's Deploy button. This is the step that makes edits live. apply_actions writes to the DRAFT graph. Until this runs the connected bots keep serving the previously published version, so a change that looks appli
run_flow_autotestRuns deterministic behavioural tests against flows that are ALREADY applied (compiles them to an AST and simulates a user). Call after apply_actions to verify a build; read `summary` and the failed checks, patch with apply_actions, re-run. Mutates nothing. The smoke layer runs on
send_messageSend a message to ONE contact right now, outside any flow. For reaching many contacts use a broadcast instead. Target the contact with contactId (globally unique — preferred), or with platformId (the platform-side id, e.g. the Telegram user id). platformId is NOT globally unique:
send_flow_to_contactsRun an EXISTING interactive flow for each listed contact right now, outside any trigger — as if each of them had just triggered it. Use it when the WHOLE message is the flow — its first block's text, media and buttons are what the recipient sees. To send your own custom text with
read_messagesRead the message transcript: what users sent the bot and what the bot sent back, newest first. Source is the runtime's own message ledger, written by the bot as it handled each turn — inbound messages are recorded before any routing decision, so messages that matched no trigger a
list_contactsList and search contacts in the application, paginated, newest first. Read-only. Filters combine as AND; search matches name, username, email, phone, and platformId; `tags` / `tagIds` keep only contacts carrying at least one of those tags (UTM attribution tags are named "utm: " —
list_bot_chatsList the groups and channels the application's bots were added to, newest first: title, kind, the numeric chatId a flow uses to address the chat, when the bot was added, and the bot's status and rights there (is it an administrator, can it invite or remove members). Read-only. A
list_contact_tagsList the contact tags in use in the application (or one bot) with how many contacts carry each, most-used first. Read-only. This is the attribution view: UTM tags ("utm: ", set by ?start=utm-- deep links, one per ad or campaign) show how many contacts each source brought in; othe
get_contactReturn one contact's full profile plus every contact-variable value stored for them. Read-only. Values may hold personal data; variables of type SECRET are always redacted. Call list_contacts first to find the contactId.
get_contact_activityReturn one contact's engagement history: goals they achieved and buttons they clicked, newest first, plus all-time goal totals. Read-only. This is the per-contact companion to get_broadcast_analytics (which is aggregate). Clicks are inline/menu button presses inside the bot — typ
list_event_contactsThe reverse lookup: which contacts triggered one analytics event — achieved a goal (kind GOAL + goalKey), clicked a button (BUTTON_CLICK + blockId, optionally buttonId/buttonIndex), were sent a block (BLOCK_SENT + blockId), or received a broadcast (BROADCAST_DELIVERED + broadcast
create_contactCreate a contact manually — for imports or externally-sourced audiences; contacts who message a bot are created automatically. Requires the manage_broadcasts permission. platformId must be unique within the bot (duplicate fails with 409); botId may be omitted only when the applic
update_contactUpdate a contact's profile fields and/or contact-variable values. Requires the manage_broadcasts permission. Only the fields you pass are changed — omitted fields keep their current value — so the call is idempotent. The variables map takes variable NAMES (or full folder paths wh
list_broadcastsList broadcasts in the application with status, schedule, and delivery counts. Read-only. Filters combine as AND. Note that delivery counts report messages attempted, not confirmed deliveries. recipientCount is the number of delivery rows once the broadcast has started sending. B
get_broadcast_detailsReturn full details for a single broadcast: status, schedule, recurrence rule, linked flow, and delivery breakdown by status. recipientCount is the number of delivery rows once the broadcast has started sending. Before that it is a live count of the audience only when the audienc
get_broadcast_analyticsReturn engagement analytics for a broadcast: delivery breakdown by status plus per-message-block sent and clicked counts for its flow, over an optional date window. Read-only. Sent counts reflect messages attempted, not confirmed deliveries.
list_releasesList the application's releases, newest first. A release is a frozen copy of everything the editor held when it was published (flows, steps, menus, actions, variables), stored with the rows' own ids. Each entry has its number, when and how it was made (DASHBOARD, MCP, AI_REPUBLIS
restore_releasePut an earlier release back into the editor: every flow, step, menu, action and variable returns exactly as it was, under the same ids, so running conversations, scheduled steps and buttons users already received keep working. Nothing is lost: the current editor state is saved fi
list_pulse_itemsList Pulse items — the workspace attention queue. Two kinds: `attention` is an observed problem a detector found (failing flows, a failed broadcast, an unsubscribe spike), `recommendation` is a proposed improvement. Read-only. Defaults to open items, ordered by severity then due
get_pulse_itemReturn one Pulse item in full: the measured evidence, the ids of the conversations and execution-log rows behind it, and the change Apply would build if the item carries one. Read-only. Call list_pulse_items first to get the itemId. Note `resolutionPolicy`: an `automatic` item cl
update_pulse_itemChange one Pulse item's state. Every action changes the queue for the WHOLE workspace — an item belongs to the workspace, not to whoever called the tool, so dismissing a recommendation hides it from every member and records who decided that. `acknowledge` closes an attention item
list_follow_up_tasksList follow-up tasks — reminders for a person to get back to a contact. Read-only, ordered by due time so overdue work comes first. A follow-up sends nothing by itself. Scopes: `mine` is the open work assigned to the key's owner and needs a personal key; `unassigned` is unowned o
create_follow_up_taskCreate a follow-up reminder for a person to get back to a contact. For work the team owes (checking a database, fixing a bug, a refund), use create_task instead. Creates persistent state and is NOT idempotent: calling it twice creates two reminders. Nothing is sent when it comes
update_follow_up_taskClose, reopen, snooze, or reschedule one follow-up task. Completing it records that a person handled the reminder — it does not message the contact. Snoozing moves the due time too, so the task reappears when the snooze ends.
list_tasksList CRM tasks — work the team owes, like checking payment records, fixing a bug or sending a refund. Read-only. Tasks live in CRM → Tasks. A task may stand alone or be linked to contacts. While leads are on for the workspace, linking parks the contact's open lead until the task
create_taskCreate a CRM task, on its own or linked to contacts. Creates persistent state and is NOT idempotent. Tasks live in CRM → Tasks. A task may stand alone or be linked to contacts. While leads are on for the workspace, linking parks the contact's open lead until the task is done (par
update_taskChange one CRM task: its fields, its status, or which contacts it is linked to, in one call. Tasks live in CRM → Tasks. A task may stand alone or be linked to contacts. While leads are on for the workspace, linking parks the contact's open lead until the task is done (parkLeads,
delete_taskDelete one CRM task. Leads parked on it come back to Waiting on us. The task disappears from CRM → Tasks; to finish a task instead, use update_task with status "done".
query_flow_logsRead the bot execution log (flow_execution_log) — the record of what the runtime actually did, and the only place that separates "the action ran" from "the action produced output". Read-only; requires the view_logs permission. Two modes: without groupBy it returns the newest matc
get_tribute_setupRead the Tribute one-time payment setup of an application: whether a Tribute account is connected, the notification link and whether the owner confirmed it, the products set up here, the number contact variables a purchase can add to, and nextSteps (what is still missing, in orde
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 13일 점검
레지스트리 이름이 도메인 flowcastle.ai 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
코드 마지막 변경: 4개월 전
해당 없음: flowcastle.ai 소유자가 직접 운영하는 클라우드 서버라 저장소 코드를 실행하지 않아요
515ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 60개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 4개 중 4개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: Authorization
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 4개월 전 변경됐고, 최신 버전(1.0.0)은 4개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
같은 카테고리에는: Inbox Zero, draw.io, TradingMCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Search Gmail and Outlook, save drafts, manage email rules, and view email stats.
Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.
Market analysis for AI assistants: screeners, multi-timeframe analysis, backtests, in-chat charts.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Ready-to-use Telegram bot templates and an MCP server — build, edit, and deploy Telegram bots from Claude Code, Codex, Cursor, or any MCP-capable AI agent. No SDK boilerplate: describe the bot, and your agent assembles the flow.
FlowCastle is a visual workflow builder for Telegram bots and web chat: flows, triggers, conditions, AI steps, payments (Stripe / YooKassa / Telegram Stars), broadcasts, drip sequences, and integrations (Gmail, Google Sheets, Notion, OpenAI, …) — with a REST API and an MCP server, so bot development works straight from your AI coding agent. Every block an agent creates through MCP is the same block you can drag, wire, and edit visually.
This repo is for developers. It contains:
| Path | What it is |
|---|---|
templates/ | 23 production bot templates as JSON — the same source that powers the template gallery and the MCP get_flow_example tool |
mcp/ | MCP server reference: endpoint, auth, all 16 tools, and a snapshot of the flow-action schema used by apply_actions |
FlowCastle exposes an MCP server over Streamable HTTP:
POST https://api.flowcastle.ai/api/mcp
Authorization: Bearer # starts with app_
Get a key: sign up → create an application → API page → MCP tab.
Claude Code
export FLOWCASTLE_MCP_TOKEN='<your-application-api-key>'
claude mcp add --transport http flowcastle https://api.flowcastle.ai/api/mcp \ --header "Authorization: Bearer $FLOWCASTLE_MCP_TOKEN"
Codex
codex mcp add flowcastle \
--url https://api.flowcastle.ai/api/mcp \ --bearer-token-env-var FLOWCASTLE_MCP_TOKEN
Cursor / any MCP client (JSON config)
{
"mcpServers": { "flowcastle": { "type": "http", "url": "https://api.flowcastle.ai/api/mcp", "headers": { "Authorization": "Bearer " } } } }
Then just ask your agent things like:
*"Look at my FlowCastle workspace and add a lead-qualification flow: greet on /start, ask three button questions, save answers to contact variables, and notify me."*
The agent reads your workspace with get_workspace_summary / get_flow_context, drafts a batch of flow-builder actions, checks it with validate_actions, and applies it with apply_actions. See mcp/README.md for the full tool reference.
Each JSON file in templates/ is a complete bot: metadata (title, summary, use-cases, suggested variables, required modules) plus a schemaExample.actions array — an ordered batch of create_flow / create_block / create_link / create_variable operations in the exact format apply_actions accepts.
Three ways to use them:
search_flow_examples / get_flow_example and apply one (optionally customized) to your workspaceFull index and format description: templates/README.md.
Application-scoped REST API for contacts, contact variables, goal events, flow sends, and broadcasts:
https://api.flowcastle.ai/api/public/v1Auth uses the same app_… application key (Authorization: Bearer or X-API-Key).
Step-by-step builds on the FlowCastle blog:
Found a bug in a template, or built a flow worth sharing? Open an issue or PR — templates are plain JSON, and validate_actions (via MCP) will tell you if a batch is well-formed.
The contents of this repository are licensed under the MIT License.