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
  1. Connection and authentication
  2. Example prompts
  3. Using this reference
  4. Context, channels and analytics
  5. Reports and moderation
  6. Telegram channels and bots
  7. Meta and TikTok connections
  8. Landing pages and browser SDK
  9. Telegram notifications
  10. Calling a tool and handling results
  11. Data, limitations and support
  12. Direct answers
  13. 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. 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. 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. 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.

  • targetId is the internal channel or bot ID from leadli_list_channels; leadId is an observed subscriber ID. Do not substitute a Telegram username for an ID.
  • from and to are UTC timestamps. Join lists include from and exclude to. Page pagination starts at 1; page/limit default to 1/20, with a maximum limit of 100.
  • Before configuration or moderation, confirm the channel, person and consequence with the user. Never show integration tokens or botKey in 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_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; when isError: true is 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_OPERATION identifies a Telegram-channel-only tool; BOT_ONLY_OPERATION identifies 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.

Primary sources

Start with one channel for free.

See subscribers, joins and leaves with no plan and no card. Connect Meta and TikTok ads when you are ready.

MCP server: tool reference | leadli.me