MCP · Streamable HTTP
MCP server: tool reference
Updated November 11, 20266 min
Work with channels, bots, attribution and landing pages through an AI assistant. Find each tool's exact name, purpose and input parameter types below.
In this guide
- Connection and authentication
- Example prompts
- Using this reference
- Context, channels and analytics
- Reports and moderation
- Telegram channels and bots
- Meta and TikTok connections
- Landing pages and browser SDK
- Telegram notifications
- Calling a tool and handling results
- Data, limitations and support
- Direct answers
- Primary sources
Connection and authentication
Transport: Streamable HTTP. Header: Authorization: Bearer YOUR_LEADLI_ME_ACCESS_KEY. Create a key in Organization settings → Access keys and store it in your MCP client's configuration. It does not belong in landing-page HTML.
Example prompts
These examples read data. If there are no channels or events, the assistant should say so rather than invent results.
- 1
Check the connection
Prompt: "Show my leadli.me channels and explain my available permissions. Do not change anything." Tools:
leadli_get_context,leadli_list_channels. Expected: the key organization, permissions and accessible channels. - 2
Read attribution analytics
Prompt: "For the selected channel, show clicks, confirmed joins and delivered conversions for the last 7 days in UTC." Tools:
leadli_get_context,leadli_list_channels,leadli_get_analytics. Expected: aggregates for the agreed interval, explaining click-time cohorts. - 3
Check setup readiness
Prompt: "Check whether the selected channel is ready to activate and list missing steps. Do not change anything." Tools:
leadli_get_context,leadli_list_channels,leadli_get_setup_status. Expected: current ready checks and unfinished configuration.
Using this reference
Expand a tool to see every input parameter and its type. Required fields are marked. Names and types were checked against the current MCP server on November 11, 2026.
targetIdis the internal channel or bot ID fromleadli_list_channels;leadIdis an observed subscriber ID. Do not substitute a Telegram username for an ID.fromandtoare UTC timestamps. Join lists includefromand excludeto. Page pagination starts at 1;page/limitdefault to 1/20, with a maximumlimitof 100.- Before configuration or moderation, confirm the channel, person and consequence with the user. Never show integration tokens or
botKeyin answers. Secrets passed to an assistant for setup enter its provider's context.
Context, channels and analytics
leadli_get_contextGet this key’s organization, effective permissions, available tools and plan access.
Input parameters
No parameters. Pass an empty object {}.
leadli_list_channelsList a bounded page of channels accessible to the key creator.
Input parameters
- limitoptional
- number
- pageoptional
- number
leadli_get_channelGet channel details and safe Telegram setup metadata.
Input parameters
- targetIdrequired
- string
leadli_get_analyticsGet attribution aggregates. Clicks, confirmed joins and delivered conversions use click-time cohorts; membershipFlow uses observed event times. Hour/day/week ranges are capped at 31/90/365 days, with breakdowns available for 7/31/90 days.
Input parameters
- fromrequired
- string
- granularityoptional
- "hour" | "day" | "week"
- targetIdrequired
- string
- torequired
- string
leadli_list_joinsList observed join/rejoin events in the half-open UTC interval [from,to), up to 365 days. Filter before pagination. Missing ad attribution is unknown, not proof of organic traffic. Membership is the current observed state. landingId is the exact analytics landingPageUrl key.
Input parameters
- adIdoptional
- string
- adSetIdoptional
- string
- campaignIdoptional
- string
- cursoroptional
- string
- fromrequired
- string
- landingIdoptional
- string
- limitoptional
- number
- sourceoptional
- "all" | "ad" | "invite_link" | "none"
- targetIdrequired
- string
- torequired
- string
leadli_list_subscribersList observed subscribers only; this is not a complete Telegram member roster. Membership is the current observed state.
Input parameters
- limitoptional
- number
- pageoptional
- number
- statusoptional
- "active" | "former" | "all"
- targetIdrequired
- string
Reports and moderation
leadli_get_report_statusGet own report and the anonymous multiple-reports signal for up to 100 observed subscriber IDs.
Input parameters
- leadIdsrequired
- Array<string>
- targetIdrequired
- string
leadli_save_reportSave or replace the organization report for one observed subscriber. Reports do not ban subscribers.
Input parameters
- categoryrequired
- "spam" | "fake" | "scam"
- descriptionoptional
- string
- leadIdrequired
- string
- targetIdrequired
- string
leadli_withdraw_reportWithdraw the organization report for one observed subscriber.
Input parameters
- leadIdrequired
- string
- targetIdrequired
- string
leadli_list_organization_reportsList a bounded page of reports belonging to the current organization.
Input parameters
- limitoptional
- number
- pageoptional
- number
- statusoptional
- "active" | "withdrawn"
leadli_withdraw_organization_reportWithdraw one report belonging to the current organization.
Input parameters
- reportIdrequired
- string
leadli_ban_subscriberBan one observed person from the current Telegram channel; bots cannot be banned.
Input parameters
- leadIdrequired
- string
- targetIdrequired
- string
leadli_unban_subscriberRemove the ban for one observed person in the current Telegram channel. This does not automatically rejoin the person.
Input parameters
- leadIdrequired
- string
- targetIdrequired
- string
Telegram channels and bots
leadli_create_channelCreate a draft Telegram channel. Plan capacity is checked on activation. For a Telegram bot use leadli_create_bot.
Input parameters
- chatReferencerequired
- string
leadli_create_botCreate a draft Telegram bot from its @username or t.me link. Then connect an ad platform and a landing, install the code from leadli_get_bot_code, and activate it with leadli_activate_channel.
Input parameters
- botReferencerequired
- string
leadli_get_bot_codeRead what the bot's own server needs: forward private /start and my_chat_member updates unchanged to updatesPath, report successful payments to eventsPath, then have the user open verifyStartUrl. Both paths are relative to this MCP server's origin. botKey is private: keep it in the bot's server configuration and never show it in answers. Telegram bots only; channels answer BOT_ONLY_OPERATION.
Input parameters
- targetIdrequired
- string
leadli_connect_bot_tokenOptional: store the BotFather token of the same bot to show its exact name and photo. The token is a secret input and is never returned; the bot's webhook and updates are not touched. Telegram bots only; channels answer BOT_ONLY_OPERATION.
Input parameters
- targetIdrequired
- string
- tokenrequired
- string
leadli_update_channelUpdate the channel name.
Input parameters
- namerequired
- string
- targetIdrequired
- string
leadli_connect_telegram_botConnect and verify a Telegram bot. The token is a secret input and is never returned. Telegram channels only; bot channels answer CHANNEL_ONLY_OPERATION.
Input parameters
- targetIdrequired
- string
- tokenrequired
- string
leadli_set_telegram_destinationSet the Telegram channel reference and reset its verification. Telegram channels only; bot channels answer CHANNEL_ONLY_OPERATION.
Input parameters
- chatReferencerequired
- string
- targetIdrequired
- string
leadli_verify_telegram_destinationVerify the bot permissions for the configured Telegram channel. Telegram channels only; bot channels answer CHANNEL_ONLY_OPERATION.
Input parameters
- targetIdrequired
- string
leadli_get_setup_statusRead current channel readiness checks. ready is the answer: metaVerified or tiktokVerified is enough, so one of them may stay false on a ready channel.
Input parameters
- targetIdrequired
- string
leadli_activate_channelActivate the channel only when current setup and plan capacity allow it.
Input parameters
- targetIdrequired
- string
leadli_disable_channelDisable channel attribution and release its active plan slot.
Input parameters
- targetIdrequired
- string
Meta and TikTok connections
leadli_set_meta_connectionVerify and save a Meta dataset connection using its required test event code. The access token is never returned.
Input parameters
- accessTokenrequired
- string
- datasetIdrequired
- string
- targetIdrequired
- string
- testEventCoderequired
- string
leadli_remove_meta_connectionDisconnect the channel from Meta.
Input parameters
- targetIdrequired
- string
leadli_set_tiktok_connectionVerify and save a TikTok pixel connection for the Events API using its required test event code. The access token is never returned.
Input parameters
- accessTokenrequired
- string
- pixelCoderequired
- string
- targetIdrequired
- string
- testEventCoderequired
- string
leadli_remove_tiktok_connectionDisconnect the channel from TikTok.
Input parameters
- targetIdrequired
- string
Landing pages and browser SDK
leadli_set_landing_urlSet an HTTP(S) landing URL without credentials, query parameters or fragments.
Input parameters
- landingUrlrequired
- string
- targetIdrequired
- string
leadli_create_ready_made_landingCreate and publish the existing ready-made Telegram landing with current setup safeguards.
Input parameters
- targetIdrequired
- string
leadli_refresh_ready_made_landingRefresh and publish ready-made landing content from the current Telegram channel.
Input parameters
- targetIdrequired
- string
leadli_get_ready_made_landingRead the published ready-made landing metadata.
Input parameters
- targetIdrequired
- string
leadli_ensure_landing_installationEnsure landing SDK setup and return its public installation instructions and expiring installation token.
Input parameters
- targetIdrequired
- string
leadli_get_landing_installation_statusRead the landing SDK installation status.
Input parameters
- targetIdrequired
- string
leadli_restart_landing_installationRestart pending landing SDK installation, replacing the previous attempt and expiring token.
Input parameters
- targetIdrequired
- string
leadli_confirm_landing_installationConfirm an observed, ready landing installation for its exact HTTP(S) origin.
Input parameters
- installationIdrequired
- string
- landingUrloptional
- string
- originrequired
- string
- targetIdrequired
- string
leadli_list_landingsList the channel pages (own and ready-made), their state and plan usage.
Input parameters
- targetIdrequired
- string
leadli_add_landingAdd another HTTP(S) page to a channel that already has a confirmed page; query and fragment are ignored. Returns the page and its expiring installation token.
Input parameters
- targetIdrequired
- string
- urlrequired
- string
leadli_get_landing_installationRead the SDK installation state of one channel page.
Input parameters
- landingIdrequired
- string
- targetIdrequired
- string
leadli_restart_landingIssue a new installation token for a pending or disconnected own page, replacing the previous one.
Input parameters
- landingIdrequired
- string
- targetIdrequired
- string
leadli_confirm_landingConfirm a page once its SDK and CTA were observed on the page origin; allows that origin.
Input parameters
- landingIdrequired
- string
- targetIdrequired
- string
leadli_disconnect_landingDisconnect an own channel page; its history is kept and its slot is freed. The last confirmed page cannot be disconnected.
Input parameters
- landingIdrequired
- string
- targetIdrequired
- string
leadli_get_sdk_instructionsRead the public SDK script URL, subscription attribute and route key.
Input parameters
- targetIdrequired
- string
Telegram notifications
leadli_list_notification_receiversRead the channel notification receivers. Requires configuration permission. Telegram channels only; bot channels answer CHANNEL_ONLY_OPERATION.
Input parameters
- targetIdrequired
- string
leadli_create_notification_start_linkCreate a one-time, expiring Telegram notification subscription link. Telegram channels only; bot channels answer CHANNEL_ONLY_OPERATION.
Input parameters
- targetIdrequired
- string
leadli_update_notification_receiverEnable or disable an existing notification receiver. Telegram channels only; bot channels answer CHANNEL_ONLY_OPERATION.
Input parameters
- enabledrequired
- boolean
- targetIdrequired
- string
- telegramUserIdrequired
- string
leadli_remove_notification_receiverRemove an existing channel notification receiver. Telegram channels only; bot channels answer CHANNEL_ONLY_OPERATION.
Input parameters
- targetIdrequired
- string
- telegramUserIdrequired
- string
Calling a tool and handling results
After your MCP client initializes the connection, call leadli_get_context with empty arguments. Then use the tools available to that key. This example shows the JSON-RPC message sent by the client.
tools/call
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "leadli_get_context",
"arguments": {}
}
}- MCP returns tool results in
content; whenisError: trueis present, surface the failure and do not treat the action as completed. - For authentication failures, check the Bearer header and whether the key was revoked. For access failures, check context, permissions and plan access.
CHANNEL_ONLY_OPERATIONidentifies a Telegram-channel-only tool;BOT_ONLY_OPERATIONidentifies a Telegram-bot-only tool.
Data, limitations and support
The connected assistant receives results from tools called with your key's permissions. These can include channel, attribution and observed-subscriber data. Choose your MCP client and key permissions with those data in mind.
The current connection uses a static Bearer key. Your client must support a custom Authorization header. OAuth connections through the Claude or OpenAI directories are not currently supported.
Direct answers
Does every key have access to all tools?
No. Check effective permissions and available tools in leadli_get_context. Domain actions require an active trial or paid plan. Context remains available to explain plan access.
Does a report ban a subscriber?
A report records the organization's signal. Banning uses a separate tool and affects only the selected Telegram channel.