{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_gcgdqdjazury","handle":"branchly","url":"https://wellknown.network/agents/branchly","links":{"self":"https://wellknown.network/agents/branchly/record.json","html":"https://wellknown.network/agents/branchly","markdown":"https://wellknown.network/agents/branchly/record.md","api":"https://wellknown.network/api/v1/agents/branchly","status":"https://wellknown.network/api/v1/agents/branchly/status","claim":"https://wellknown.network/agents/branchly/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/branchly/claim.json","badge":"https://wellknown.network/agents/branchly/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/branchly/history","tools":"https://wellknown.network/api/v1/agents/branchly/tools"},"ard":{"identifier":"urn:air:api.branchly.io:server:branchly","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"branchly","summary":"Connect your agent to branchly: manage content, prompts, actions, learn from analytics and insights","description":"Connect your agent to branchly: manage content, prompts, actions, learn from analytics and insights","publisher":{"name":"io.branchly","url":null},"homepage":"https://branchly.io","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.branchly.io/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-31T09:58:16.1111Z","publishedAt":"2026-08-31T09:58:16.1111Z","registryName":"io.branchly/branchly"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":0.51,"provenance":"derived"},{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.51,"provenance":"derived"}],"categories":["automation","content","infra"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 29m ago.","lastOkAt":"2026-10-10T06:26:51.938Z","lastProbedAt":"2026-10-10T06:26:51.938Z","statusComputedAt":"2026-10-10T06:28:43.256Z","reliability30d":{"probes":109,"successRate":0.9908,"p50Ms":66,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":108,"ok":107,"authBoundaryOk":0,"serviceOk":107,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T06:26:51.938Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":82,"error":null,"detail":{"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"toolCount":37,"toolsHash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","serverName":"branchly-mcp-server","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T23:30:15.375Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":162,"error":null,"detail":{"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"toolCount":37,"toolsHash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","serverName":"branchly-mcp-server","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:29:00.945Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":76,"error":null,"detail":{"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"toolCount":37,"toolsHash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","serverName":"branchly-mcp-server","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T11:27:02.874Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":70,"error":null,"detail":{"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"toolCount":37,"toolsHash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","serverName":"branchly-mcp-server","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T05:26:49.725Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":69,"error":null,"detail":{"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"toolCount":37,"toolsHash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","serverName":"branchly-mcp-server","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T23:21:38.680Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":53,"error":null,"detail":{"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"toolCount":37,"toolsHash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","serverName":"branchly-mcp-server","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T16:29:44.417Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":66,"error":null,"detail":{"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"toolCount":37,"toolsHash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","serverName":"branchly-mcp-server","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T10:22:46.618Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":57,"error":null,"detail":{"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"toolCount":37,"toolsHash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","serverName":"branchly-mcp-server","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T03:23:30.507Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":68,"error":null,"detail":{"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"toolCount":37,"toolsHash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","serverName":"branchly-mcp-server","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T20:30:48.691Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":81,"error":null,"detail":{"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"toolCount":37,"toolsHash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","serverName":"branchly-mcp-server","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_application","description":"Return the full configuration of the authenticated application."},{"name":"list_nodes","description":"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')"},{"name":"create_node","description":"Create a new content node in the knowledge base. Label defaults to 'content'."},{"name":"read_node","description":"Read a node by its ID. Returns full node details."},{"name":"update_node","description":"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 pre"},{"name":"list_data_sources","description":"List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update."},{"name":"create_data_source","description":"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 "},{"name":"update_data_source","description":"Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source."},{"name":"run_data_source","description":"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 rea"},{"name":"read_data_source_runs","description":"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) an"},{"name":"list_prompts","description":"List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then la"},{"name":"create_prompt","description":"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 a"},{"name":"update_prompt","description":"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"},{"name":"list_tools","description":"List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools."},{"name":"read_tool","description":"Read a tool by its ID. Returns full tool details."},{"name":"create_tool","description":"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 'functio"},{"name":"update_tool","description":"Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status."},{"name":"read_sessions","description":"List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-te"},{"name":"read_session_detail","description":"Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool call"},{"name":"get_active_sessions_over_time","description":"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 / "},{"name":"get_top_locales","description":"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 languag"},{"name":"get_top_languages","description":"Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, lang"},{"name":"get_top_devices","description":"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 u"},{"name":"get_top_geographies","description":"Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Us"},{"name":"get_sentiment_distribution","description":"Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick qua"},{"name":"get_top_cited_sources","description":"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"},{"name":"get_top_clicked_urls","description":"URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event ty"},{"name":"get_top_interaction_sources","description":"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_clic"},{"name":"get_top_searches","description":"Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with re"},{"name":"get_top_tags","description":"Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick"},{"name":"get_answer_type_distribution","description":"Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: "},{"name":"get_trending_classifications","description":"Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period time"},{"name":"read_chat_request_documents","description":"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, pa"},{"name":"read_chat_request_tool_calls","description":"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/respon"},{"name":"read_search_request_results","description":"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 inspe"},{"name":"get_active_sessions_by_embed","description":"Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces a"},{"name":"update_chat_request_analytics","description":"Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are"}],"package":null,"toolSurface":{"id":"ts_frwmpf9r4pcz","endpointId":"ep_drcmncmx2mfm","hash":"11071ef8220edaa5ca8dd8321069c2b15e381dfce114148676b3473b6b8c4d4f","toolCount":37,"serverName":"branchly-mcp-server","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-29T09:28:40.563Z","lastSeenAt":"2026-10-10T06:26:51.938Z","observations":41,"toolNames":["get_application","list_nodes","create_node","read_node","update_node","list_data_sources","create_data_source","update_data_source","run_data_source","read_data_source_runs","list_prompts","create_prompt","update_prompt","list_tools","read_tool","create_tool","update_tool","read_sessions","read_session_detail","get_active_sessions_over_time","get_top_locales","get_top_languages","get_top_devices","get_top_geographies","get_sentiment_distribution","get_top_cited_sources","get_top_clicked_urls","get_top_interaction_sources","get_top_searches","get_top_tags","get_answer_type_distribution","get_trending_classifications","read_chat_request_documents","read_chat_request_tool_calls","read_search_request_results","get_active_sessions_by_embed","update_chat_request_analytics"],"distinctSurfaces":4},"endpointFacts":[{"id":"ep_drcmncmx2mfm","url":"https://api.branchly.io/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T03:23:30.520Z","auth":{"observedAt":"2026-10-08T03:23:30.543Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-08T03:23:30.566Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"api.branchly.io","issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validFrom":"2026-08-17T10:59:37.000Z","validTo":"2026-11-15T10:59:36.000Z","daysToExpiry":36,"sanCount":4,"fingerprint256":"0F:33:35:2A:C9:2E:40:EC:83:6A:DA:A4:95:E1:5B:C2:09:9B:3B:0D:42:46:1A:A2:71:11:07:08:B6:3F:92:51"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.branchly/branchly","url":"https://registry.modelcontextprotocol.io/v0/servers/io.branchly%2Fbranchly","firstSeenAt":"2026-09-05T23:21:00.732Z","fetchedAt":"2026-10-09T15:22:44.535Z","normalizedAt":"2026-10-09T15:22:44.535Z"}]},"firstSeenAt":"2026-09-05T23:21:00.732Z","updatedAt":"2026-10-10T06:29:22.539Z"}