io.branchly/branchly · v1.0.0 · communication
branchly is healthy: it completed an MCP handshake in 3109 ms and exposes 37 tools.
Connect your agent to branchly: manage content, prompts, actions, learn from analytics and insights
Endpoint: https://api.branchly.io/mcp (streamable-http)
No repository listed · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 37 |
| Latency | 3109 ms |
| Last checked (UTC) | 2026-10-16T03:30:14.219Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-16T03:30:14.219Z | Healthy | 3109 | |
| 2026-10-15T00:20:50.085Z | Healthy | 8447 |
get_application | Return the full configuration of the authenticated application. |
list_nodes | List nodes in the knowledge base. Optionally filter by vertex label(s), data source type(s), or data source IDs. Optionally sort by updated_at ('asc' or 'desc'). Provide 'query' and 'locale' to perform a full-text search across node content (requires both parameters). Returns paginated results with |
create_node | Create a new content node in the knowledge base. Label defaults to 'content'. |
read_node | Read a node by its ID. Returns full node details. |
update_node | Update a content node by its ID. Only provided fields are updated. Title and text are locale dicts (e.g. {"de": "Titel"}) — provided keys are merged, others preserved. custom_metadata keys are likewise merged into the existing metadata. |
list_data_sources | List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update. |
create_data_source | Create a new data source for the authenticated application. The 'settings' object must match the given 'type'. Returns the created data source. Creating a data source does not sync any content — use run_data_source to start a sync. |
update_data_source | Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source. |
run_data_source | Trigger an asynchronous run (sync/crawl) of a data source by its ID. The run is queued as a background job. Returns the accepted status. Track progress with read_data_source_runs. |
read_data_source_runs | List data source runs for the authenticated application, latest first. Optionally filter by data source ID or run status. Returns the latest runs (default 5) and the total matching count. Use this to track the progress of a run triggered via run_data_source. |
list_prompts | List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then last update. |
create_prompt | Create a new prompt version for the authenticated application. The new prompt is automatically set as active and the previously active prompt of the same type and subtype is deactivated. Use this whenever you want to change prompt text. |
update_prompt | Activate or deactivate a prompt by its ID. Use is_active=true to restore a previous prompt version — the currently active prompt of the same type and subtype is deactivated automatically. To change prompt text, use create_prompt instead. |
list_tools | List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools. |
read_tool | Read a tool by its ID. Returns full tool details. |
create_tool | Create a new tool (AI action) for the authenticated application. Tool names must be unique per application, snake_case, max 64 chars. 'tool_config' and 'function_arguments' must match the given 'tool_type'. Returns the created tool. |
update_tool | Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status. |
read_sessions | List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-text search query. Each session includes its full history, but document chunks and tool calls are returned as references (IDs + titles) rather |
read_session_detail | Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool calls are returned as references (IDs + titles) - use read_node(vertex_id) or read_tool(tool_id) to fetch full content. |
get_active_sessions_over_time | Time series of active sessions, bucketed by day or week (auto-chosen from the time window). Each row breaks the total down by interaction type (chat / search / navigation / form_submission / voice). Gaps are zero-filled, so the series is safe to plot directly. Use this to spot spikes, dips, or trend |
get_top_locales | Top locales (BCP-47 style, e.g. 'de_DE', 'en_US') across chat, search, and navigation requests, ranked by occurrence count. Use this to understand which languages/regions are being served and where content gaps may exist. |
get_top_languages | Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, language is detected from the actual query text. Use both to spot mismatches (e.g. German-speaking users hitting an English-only embed). |
get_top_devices | Top device categories (e.g. 'desktop', 'mobile', 'tablet') across all request types, ranked by occurrence count. Use this to understand the device mix of real users interacting with the embed. |
get_top_geographies | Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Use this to understand geographic distribution of users. |
get_sentiment_distribution | Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick quality signal — a rising 'negative' share usually warrants drilling into individual sessions via read_sessions. |
get_top_cited_sources | Knowledge-base nodes most frequently cited in chat answers, ranked by citation count. Each row carries the node UUID (vertex_id), its title, optional source URL, and citation_count. Use this to understand which knowledge is actually load-bearing; pair with read_node(vertex_id) to inspect cited conte |
get_top_clicked_urls | URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event type. Use this to see what users find useful enough to click through to. |
get_top_interaction_sources | Page URLs the user was ON when they interacted with the embed (chat, search, navigation, form submission), ranked by occurrence count. Differs from get_top_clicked_urls: this is the ORIGIN page, not the destination. Use this to find which pages of the host site drive the most embed engagement. |
get_top_searches | Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with read_sessions(search_query=...) to inspect specific sessions. |
get_top_tags | Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick topical breakdown of chat traffic. |
get_answer_type_distribution | Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: a high 'no_answer' share signals content gaps; a high 'human_handoff' share signals where the bot is escalating. |
get_trending_classifications | Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period timestamp and count. Use this to see how topical or intent demand shifts over time. Choose 'topic' for subject-matter trends, 'intent' for user- |
read_chat_request_documents | Read the full document chunks retrieved for a single chat request (QA or SA). Returns chunk_id, vertex_id, title, full text, score, source, data source type, page metadata, and whether the chunk was cited in the final answer. Use this after read_session_detail to inspect the exact context the assist |
read_chat_request_tool_calls | Read the full tool calls executed for a single chat request. Returns tool_call_id, tool_id, tool_name, tool_type, full arguments (JSON), and full content/response (JSON). Use this to inspect what the assistant invoked and how the tool responded. Ordered by timestamp ascending. |
read_search_request_results | Read the full search results returned for a single instant-search request. Returns chunk_id, vertex_id, title, full text, and relevance score. Use this to inspect the exact results a user saw for their search query. Ordered by score descending. |
get_active_sessions_by_embed | Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces are driving usage. |
update_chat_request_analytics | Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are updated. Use this to annotate or reclassify chat interactions after the fact. |