FlowCastle
What it does
Build, edit, and deploy Telegram bots on FlowCastle's hosted visual flow platform.
- Connects クラウドで動く
- Account or key Needs Authorization
- Category チャット・メール
インストール
使っているAIアプリを選んで、設定をコピーしてください。
チェック 4/4 合格 · 質問内容は提供元のサーバー(api.flowcastle.ai)を通ります · ✓ コマンド確認済み 2026年11月13日
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげます · 約 5 分
FlowCastle のキーが必要です(提供元のサイトで作成) · claude.ai かデスクトップアプリで一度設定すれば、チャットで使えます · 無料アカウントは 1 つまで · Team/Enterprise はオーナー(Owner)が追加
Claude の Connectors ページを開く
CustomizeConnectors
「Add」→「Custom」→「Web」を押し、この 2 つを入力
ここからコピーして Claude の同じ名前の欄に貼り付け、Continue を押します
Name · 名前FlowCastleRemote MCP server URL · アドレスhttps://api.flowcastle.ai/api/mcpRequest headers に、この名前と値を追加
ヘッダー名Authorization値Bearer <ここにキーを貼り付け>キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Claude が検出したサインイン設定の画面で Continue を押す · Authentication は作者の説明どおり(Sign in now・Sign in when needed・No sign in)を選び Add を押します
チャットで有効にする
+ConnectorsFlowCastle
試してみる
FlowCastle を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が FlowCastle を使っていると言うか、回答に FlowCastle のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ FlowCastle につなげません
FlowCastle は接続時に自分のキーが必要ですが、OpenAI のヘルプページは OAuth ログインしか説明しておらず、確認できたキー入力方法がありません
代わりにできること
A · FlowCastle につなげるアプリを使う
- FlowCastle のキーが必要です(提供元のサイトで作成) · claude.ai かデスクトップアプリで一度設定すれば、チャットで使えます · 無料アカウントは 1 つまで · Team/Enterprise はオーナー(Owner)が追加
- FlowCastle のキーが必要です(提供元のサイトで作成)
- FlowCastle のキーが必要です(提供元のサイトで作成)
- FlowCastle のキーが必要です(提供元のサイトで作成)
B · チャット・メール の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
- Inbox Zero✓ ChatGPT
- draw.io✓ ChatGPT
- TradingMCP✓ ChatGPT
Claude Code につなげます · 約 5 分
FlowCastle のキーが必要です(提供元のサイトで作成)
ターミナルを開く
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
このコマンドを貼り付けて Enter
claude mcp add --transport http --scope user flowcastle https://api.flowcastle.ai/api/mcp --header 'Authorization: Bearer your-value'Enter の前に「your-value」を自分のキーに書き換えてください
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Claude Code で /mcp と入力
FlowCastle が一覧にあり、接続済みと表示されれば OK です
試してみる
FlowCastle を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が FlowCastle を使っていると言うか、回答に FlowCastle のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげます · 約 5 分
FlowCastle のキーが必要です(提供元のサイトで作成)
キーを入力
FlowCastle の設定で Authorization が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Cursor の AI チャットを Agent モードで開く
試してみる
FlowCastle を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が FlowCastle を使っていると言うか、回答に FlowCastle のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげます · 約 5 分
FlowCastle のキーが必要です(提供元のサイトで作成)
キーを入力
FlowCastle の設定で Authorization が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
VS Code の AI チャットを Agent モードで開く
試してみる
FlowCastle を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が FlowCastle を使っていると言うか、回答に FlowCastle のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
開発者向け:ターミナルのコマンドと JSON 設定
Web 経由
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"
}
}
}
}自分で入力する値
- Bearer — create one in the FlowCastle dashboard: application, API page, MCP tab (keys start with app_)
この設定は、作者のレジストリ登録情報から作成しています。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
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月14日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名はドメイン flowcastle.ai で確認済みです(レジストリがドメインの所有を確認しています)
- ✓ 合格
今もメンテナンスされている
コードの最終更新:4 か月前
- – 対象外
ライセンスがある
対象外:flowcastle.ai の所有者が自ら運営するクラウドのサーバーで、リポジトリのコードを実行しません
- ✓ 合格
エンドポイントが応答する
515ミリ秒で応答(HTTP 200)
- – 対象外
OAuthでサインイン
サインイン不要
- ✓ 合格
ツールの説明に隠れた指示がない
60件のツールの説明を読み、AIへの隠れた指示は見つかりませんでした
話し合い
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
ユーザーレビュー
まだレビューはありません
チャット・メールのほかのサーバーとの比較i
- このカテゴリのほかの2021件のうち89%よりスターが多い
- このカテゴリのほかの2021件のうち15%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの2021件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
FlowCastleは安全ですか?
当てはまる基本チェック4項目のうち4項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
入力が必要なもの:Authorization
パソコンで動きますか、それともクラウドですか?
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は4 か月前、最新バージョン(1.0.0)がレジストリに届いたのは4 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URL で接続するので、リモート MCP を受け付けるアプリでも使えます。例:Web 版 ChatGPT(Business 以上はフル MCP、Pro は読み取りのみ)。
代わりに使えるものは?
同じカテゴリには:Inbox Zero, draw.io, TradingMCP
同じカテゴリのほかの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
draw.io
Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.
TradingMCP
Market analysis for AI assistants: screeners, multi-timeframe analysis, backtests, in-chat charts.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Telegram bot templates + MCP server for AI bot development
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 |
Build a bot from your AI agent (MCP)
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.
Templates
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:
- One-click install from the gallery: flowcastle.ai/templates
- Via MCP — ask your agent to
search_flow_examples/get_flow_exampleand apply one (optionally customized) to your workspace - As reference — study how real flows wire triggers, conditions, wait-for-reply steps, payments, and AI blocks
Full index and format description: templates/README.md.
REST Public API
Application-scoped REST API for contacts, contact variables, goal events, flow sends, and broadcasts:
- Base URL:
https://api.flowcastle.ai/api/public/v1 - Interactive docs (Swagger): https://api.flowcastle.ai/api/public/docs
- OpenAPI spec: https://api.flowcastle.ai/api/public/openapi.json
Auth uses the same app_… application key (Authorization: Bearer or X-API-Key).
Guides
Step-by-step builds on the FlowCastle blog:
- Build a Lead Bot in Telegram in 10 Minutes
- Build an AI Support Bot for Telegram
- I Replaced My Morning Apps With One Telegram Bot
Links
- Product: https://flowcastle.ai
- Dashboard: https://dashboard.flowcastle.ai
- Template gallery: https://flowcastle.ai/templates
- API docs: https://api.flowcastle.ai/api/public/docs
Contributing
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.
License
The contents of this repository are licensed under the MIT License.