Public log

tokportal-mcp

Public MCP server for the TokPortal API.

npm · fingerprint 8117400d53f30be8004e2f33 · repository · RSS

108tools
5recorded versions
45dtracked
changed today

What changed

Changed 2026-10-18 10:51 UTC

1 description rewritten, 4 schema or annotation changes with the description left byte-identical, 9 tools added.

+ tool added: tokportal_create_account_comment_action

+ tool added: tokportal_create_account_private_reply

--- pinned/tokportal_create_bundle
+++ observed/tokportal_create_bundle
  {
    "annotations": {
      "destructiveHint": true,
-           "wants_instagram_business": {
-             "default": false,
-             "description": "New Instagram accounts only. Adds 5 credits, requests a manager Business setup after creation, and acknowledges restricted commercial music access.",
-             "type": "boolean"
-           },
            "wants_niche_warming": {
              "default": false,
              "deprecated": true,
--- pinned/tokportal_create_bundles_bulk
+++ observed/tokportal_create_bundles_bulk
  {
    "annotations": {
      "destructiveHint": true,
-           "wants_instagram_business": {
-             "default": false,
-             "description": "Apply Business setup to every new Instagram account only, adding 5 credits each. Requires Instagram in platforms and acknowledges restricted commercial music access.",
-             "type": "boolean"
-           },
            "wants_niche_warming": {
              "default": false,
              "deprecated": true,
--- pinned/tokportal_create_webhook_endpoint
+++ observed/tokportal_create_webhook_endpoint
  {
    "annotations": {
      "destructiveHint": false,
+                 "inbox.comment.action.updated",
+                 "inbox.comment.moderation.updated",
+                 "inbox.message.send.updated",
+                 "inbox.comment.private_reply.updated",
+                 "inbox.comment.automation.updated",
                  "bundle.created",
                  "bundle.published",
                  "bundle.cancelled",

+ tool added: tokportal_get_account_comment_action

+ tool added: tokportal_get_account_comment_dm

+ tool added: tokportal_get_account_comment_moderation

--- pinned/tokportal_get_account_inbox
+++ observed/tokportal_get_account_inbox
  {
    "annotations": {
      "destructiveHint": false,
-   "description": "Read account messages or comments. Read-only inbox for one owned account with active API connection and eligible TokPortal Coverage. Posts/comments work for eligible Instagram and TikTok connections; conversations/messages currently require an eligible Instagram Business setup. First list posts or conversations, then pass the returned opaque reference for comments or messages. To read comment replies, keep the post reference and pass the comment's reference as reply_reference. References and pagination cursors expire after one hour and are bound to the account, connection and resource. Refresh the parent list on inbox_reference_expired_or_invalid. Messages are newest first; reading never marks them as read. Comments may be cached upstream for 10 minutes. Replayed Instagram DM history is limited to the latest 500 conversations and 500 messages per conversation. This endpoint does not send, reply, moderate, create automations or charge credits. The separate /comments routes are paid human commenting tasks. Subscribe to inbox.comment.received and inbox.message.received for metadata notifications, then fetch this scoped endpoint. Public replies use POST /accounts/{id}/inbox/replies with reply_action_reference; this GET remains read-only.",
+   "description": "Read account messages or comments. Read-only inbox for one owned account with active API connection and eligible TokPortal Coverage. Posts/comments work for eligible Instagram and TikTok connections; conversations/messages require an eligible Instagram professional account (Creator or Business), granted messaging permissions and no current messaging restriction. First list posts or conversations, then pass the returned opaque reference for comments or messages. To read comment replies, keep the post reference and pass the comment's reference as reply_reference. References and pagination cursors expire after one hour and are bound to the account, connection and resource. Refresh the parent list on inbox_reference_expired_or_invalid. Messages are newest first; reading never marks them as read. Comments may be cached upstream for 10 minutes. Replayed Instagram DM history is limited to the latest 500 conversations and 500 messages per conversation. This endpoint does not send, reply, moderate, create automations or charge credits. The separate /comments routes are paid human commenting tasks. Subscribe to inbox.comment.received and inbox.message.received for metadata notifications, then fetch this scoped endpoint. Public replies use POST /accounts/{id}/inbox/replies with reply_action_reference; this GET remains read-only. Instagram DM writes and private replies use the separate messages/private-replies endpoints; messaging metadata reports the current reply window.",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {

+ tool added: tokportal_get_account_message_operation

+ tool added: tokportal_send_account_inbox_message

+ tool added: tokportal_update_account_comment_dm

+ tool added: tokportal_update_account_comment_moderation

--- pinned/tokportal_update_webhook_endpoint
+++ observed/tokportal_update_webhook_endpoint
  {
    "annotations": {
      "destructiveHint": false,
+                 "inbox.comment.action.updated",
+                 "inbox.comment.moderation.updated",
+                 "inbox.message.send.updated",
+                 "inbox.comment.private_reply.updated",
+                 "inbox.comment.automation.updated",
                  "bundle.created",
                  "bundle.published",
                  "bundle.cancelled",

Changed 2026-10-16 11:16 UTC

2 descriptions rewritten, 4 schema or annotation changes with the description left byte-identical, 6 tools added.

--- pinned/tokportal_cancel_account_managed_subscription
+++ observed/tokportal_cancel_account_managed_subscription
  {
    "annotations": {
      "destructiveHint": true,
-   "description": "Pause TokPortal Coverage. Immediately blocks new and ongoing TokPortal work for the account. Payments are not refunded. If a paid or included current period remains, reactivation is free until its original end. Otherwise it costs exactly the unpaid 30-day periods at the rate returned by the Coverage status endpoint.",
+   "description": "Pause TokPortal Coverage. Stops renewal without refunding payments. Account actions and analytics remain available through the paid/included period if no overdue Coverage is unpaid. Afterwards they are blocked until Coverage is restored; after 30 days of unavailability the API connection is removed. Resuming renewal during the current paid period is free. Otherwise reactivation costs exactly the unpaid 30-day periods shown by the Coverage status endpoint.",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {

+ tool added: tokportal_create_account_comment_reply

--- pinned/tokportal_create_bundle
+++ observed/tokportal_create_bundle
  {
    "annotations": {
      "destructiveHint": true,
+           "wants_instagram_business": {
+             "default": false,
+             "description": "New Instagram accounts only. Adds 5 credits, requests a manager Business setup after creation, and acknowledges restricted commercial music access.",
+             "type": "boolean"
+           },
            "wants_niche_warming": {
              "default": false,
              "deprecated": true,
--- pinned/tokportal_create_bundles_bulk
+++ observed/tokportal_create_bundles_bulk
  {
    "annotations": {
      "destructiveHint": true,
+           "wants_instagram_business": {
+             "default": false,
+             "description": "Apply Business setup to every new Instagram account only, adding 5 credits each. Requires Instagram in platforms and acknowledges restricted commercial music access.",
+             "type": "boolean"
+           },
            "wants_niche_warming": {
              "default": false,
              "deprecated": true,
--- pinned/tokportal_create_webhook_endpoint
+++ observed/tokportal_create_webhook_endpoint
  {
    "annotations": {
      "destructiveHint": false,
+                 "account.connection.connected",
+                 "account.connection.disconnected",
+                 "account.connection.removed",
+                 "account.business_setup.requested",
+                 "account.business_setup.updated",
+                 "account.business_setup.completed",
+                 "inbox.comment.received",
+                 "inbox.message.received",
+                 "inbox.comment.reply.updated",
                  "bundle.created",
                  "bundle.published",
                  "bundle.cancelled",

+ tool added: tokportal_get_account_business_setup

+ tool added: tokportal_get_account_comment_reply

+ tool added: tokportal_get_account_connection

+ tool added: tokportal_get_account_inbox

--- pinned/tokportal_reactivate_account_managed_subscription
+++ observed/tokportal_reactivate_account_managed_subscription
  {
    "annotations": {
      "destructiveHint": true,
-   "description": "Reactivate TokPortal Coverage. Reactivates TokPortal Coverage from an explicit GET snapshot, and debits the projected unpaid 30-day periods — read the quote from getAccountManagedSubscription and confirm the amount with the user first. Reactivation is free while the current billing period is already paid or included; Coverage benefits and tasks remain paused until reactivation. At and after current_period_end, the endpoint accepts the effective lapsed state even if recorded_status has not yet been updated by the renewal worker, and charges exactly the projected unpaid periods without adding an extra period. The expected credits, period end, and lock version are checked atomically before any debit or task resume. Scheduled videos receive new future dates while preserving their cadence.",
+   "description": "Reactivate TokPortal Coverage. Reactivates TokPortal Coverage from an explicit GET snapshot, and debits the projected unpaid 30-day periods — read the quote from getAccountManagedSubscription and confirm the amount with the user first. Reactivation is free while the current billing period is already paid or included. After cancellation, access continues through the current paid period if no overdue Coverage is unpaid. After it expires, account features stay unavailable until Coverage is restored. At and after current_period_end, the endpoint accepts the effective lapsed state even if recorded_status has not yet been updated by the renewal worker, and charges exactly the projected unpaid periods without adding an extra period. The expected credits, period end, and lock version are checked atomically before any debit or task resume. Scheduled videos receive new future dates while preserving their cadence.",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {

+ tool added: tokportal_request_account_business_setup

--- pinned/tokportal_update_webhook_endpoint
+++ observed/tokportal_update_webhook_endpoint
  {
    "annotations": {
      "destructiveHint": false,
+                 "account.connection.connected",
+                 "account.connection.disconnected",
+                 "account.connection.removed",
+                 "account.business_setup.requested",
+                 "account.business_setup.updated",
+                 "account.business_setup.completed",
+                 "inbox.comment.received",
+                 "inbox.message.received",
+                 "inbox.comment.reply.updated",
                  "bundle.created",
                  "bundle.published",
                  "bundle.cancelled",

Changed 2026-10-15 11:19 UTC

5 descriptions rewritten, 1 tool added.

--- pinned/tokportal_add_video_slots
+++ observed/tokportal_add_video_slots
  {
    "annotations": {
      "destructiveHint": true,
-   "description": "Add video slots to a bundle. Buys additional video slots on an existing bundle and debits credits immediately (see `video_upload` in getCreditCosts). The slots are non-refundable and there is no cancellation path for this purchase — confirm the exact cost with the user before calling. Configure the new positions with configureBundleVideo, then publish them.",
+   "description": "Add video slots to a bundle. Buys additional video slots on an existing bundle and debits credits immediately (see `video_upload` in getCreditCosts). The slots are non-refundable and there is no cancellation path for this purchase; confirm the exact cost with the user before calling. Allowed bundle statuses: `pending_setup`, `published`, `published_priority`, `accepted`. An `account_only` or `completed` bundle cannot receive more slots; create a `videos_only` bundle for the saved account instead, subject to account eligibility. Configure the new positions with configureBundleVideo, then publish them.",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {
--- pinned/tokportal_get_analytics_account
+++ observed/tokportal_get_analytics_account
  {
    "annotations": {
      "destructiveHint": false,
-   "description": "Get account analytics drilldown. Analytics v2 drilldown for one account: current metrics, top posts and demographics. This is the current endpoint; getAccountAnalytics is the older compatibility shape of the same data. Call getAnalyticsContract before interpreting these numbers: top-line values are lifetime per-post totals, connected-account values are rolling windows, the two intentionally do not mirror each other, and your access tier may redact metrics — a missing field means unavailable, never zero.",
+   "description": "Get account analytics drilldown. Analytics v2 drilldown for one account: current metrics, top posts and demographics. Includes optional connected_analytics with account-period insights and post depth only while a Zernio connection has recent active identity proof; absent for disconnected accounts and Starter plans. getAnalyticsAccountInsights returns this block alone. This is the current endpoint; getAccountAnalytics is the older compatibility shape. Call getAnalyticsContract before interpreting numbers: top-line values are lifetime per-post totals, connected-account values are rolling windows, and your access tier may redact metrics. Missing fields mean unavailable, never zero.",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {

+ tool added: tokportal_get_analytics_account_insights

--- pinned/tokportal_get_bundle
+++ observed/tokportal_get_bundle
  {
    "annotations": {
      "destructiveHint": false,
-   "description": "Get a bundle. Full state of one bundle: status, account configuration, video slot counts, warming purchase, cancellation and remake history, and `next_action`. A remade bundle keeps the same id while its `saved_account_id` changes.",
+   "description": "Get a bundle. Full state of one bundle: status, account configuration, video slot counts, warming purchase, cancellation and remake history, and `next_action`. A remade bundle keeps the same id while its `saved_account_id` changes. Includes all video slots, including bundles with more than 1,000 slots. For unused capacity, count `videos` with status `pending`; `videos_configured_count` includes slots that have since been published or finalized. Counters have the same meaning as listBundles.",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {
--- pinned/tokportal_list_bundle_videos
+++ observed/tokportal_list_bundle_videos
  {
    "annotations": {
      "destructiveHint": false,
-   "description": "List bundle video slots. Lists every video slot of a bundle with its position, configuration, schedule and review status. Positions are 1-based and run up to the bundle's `videos_quantity`. Every video carries `platform_signals`, what the platform did with the live post once it exists: `not_recommended` (TikTok Not For Feed / Not Recommended — online but no distribution), `ai_label` (`creator` | `platform`), `sound` (`ok` | `non_commercial` | `removed` | `muted`) with `sound_reason`, and `checked_at`. All fields are null until the post has been checked (~48 h after posting, again at 7 days); `null` means unknown, never 'no'. The same events arrive as `video.not_recommended`, `video.ai_labeled` and `video.sound_restricted` webhooks.",
+   "description": "List bundle video slots. Lists every video slot of a bundle with its position, configuration, schedule and review status, including bundles with more than 1,000 slots. Unused slots have status `pending`; configured, scheduled and finalized slots are already allocated. Positions are 1-based and run up to the bundle's `videos_quantity`. Every video carries `platform_signals`, what the platform did with the live post once it exists: `not_recommended` (TikTok Not For Feed / Not Recommended — online but no distribution), `ai_label` (`creator` | `platform`), `sound` (`ok` | `non_commercial` | `removed` | `muted`) with `sound_reason`, and `checked_at`. All fields are null until the post has been checked (~48 h after posting, again at 7 days); `null` means unknown, never 'no'. The same events arrive as `video.not_recommended`, `video.ai_labeled` and `video.sound_restricted` webhooks.",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {
--- pinned/tokportal_list_bundles
+++ observed/tokportal_list_bundles
  {
    "annotations": {
      "destructiveHint": false,
-   "description": "List bundles. Lists your bundles with their lifecycle status and the computed `next_action` (`configure_account`, `configure_videos`, `publish_bundle`, or null). `next_action` is the recommended way to find what a bundle still needs.",
+   "description": "List bundles. Lists your bundles with their lifecycle status and the computed `next_action` (`configure_account`, `configure_videos`, `publish_bundle`, or null). `next_action` is the recommended way to find what a bundle still needs. Video counters cover all slots and are independent of page/per_page: `videos_quantity` is the recorded slot quantity, `videos_total` counts existing slots, and `videos_configured_count` includes configured, published, accepted, in_review, pending_corrections and finalized slots. Unused slots have status `pending`; with the current status set their count is `videos_total - videos_configured_count`. Configured or finalized slots are not unused capacity. A failed video read returns an error, never zero counters.",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {

Changed 2026-10-05 14:19 UTC

3 descriptions rewritten, 3 schema or annotation changes with the description left byte-identical, 1 tool added.

--- pinned/tokportal_create_webhook_endpoint
+++ observed/tokportal_create_webhook_endpoint
  {
    "annotations": {
      "destructiveHint": false,
+                 "video.not_recommended",
+                 "video.ai_labeled",
+                 "video.sound_restricted",
+                 "account.distribution_warning",
                  "warming.session_started",
                  "warming.term_verified",
                  "warming.session_completed",
--- pinned/tokportal_get_bundle_video
+++ observed/tokportal_get_bundle_video
  {
    "annotations": {
      "destructiveHint": false,
-   "description": "Get video slot configuration. Returns one video slot's configuration, schedule, review status and post link. Use it to check whether a slot is still inside its review window before finalizing it.",
+   "description": "Get video slot configuration. Returns one video slot's configuration, schedule, review status and post link, plus `platform_signals` (TikTok not-recommended flag, AI label, sound status — null until the live post has been checked). Use it to check whether a slot is still inside its review window before finalizing it, or whether the platform is distributing the post at all.",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {
--- pinned/tokportal_get_video_analytics
+++ observed/tokportal_get_video_analytics
  {
    "annotations": {
      "destructiveHint": false,
-   "description": "Get single video analytics. Lifetime metrics for one tracked post. Interpret them with getAnalyticsContract: these are lifetime per-post totals and deliberately do not match the rolling-window figures shown for a connected account.",
+   "description": "Get single video analytics. Lifetime metrics for one tracked post. Interpret them with getAnalyticsContract: these are lifetime per-post totals and deliberately do not match the rolling-window figures shown for a connected account. Also returns `platform_signals` (not recommended, AI label, sound) and `signal_insights` (followers gained, audience split, impression sources, retention curve — Creator tier and above).",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {

+ tool added: tokportal_list_analytics_signals

--- pinned/tokportal_list_bundle_videos
+++ observed/tokportal_list_bundle_videos
  {
    "annotations": {
      "destructiveHint": false,
-   "description": "List bundle video slots. Lists every video slot of a bundle with its position, configuration, schedule and review status. Positions are 1-based and run up to the bundle's `videos_quantity`.",
+   "description": "List bundle video slots. Lists every video slot of a bundle with its position, configuration, schedule and review status. Positions are 1-based and run up to the bundle's `videos_quantity`. Every video carries `platform_signals`, what the platform did with the live post once it exists: `not_recommended` (TikTok Not For Feed / Not Recommended — online but no distribution), `ai_label` (`creator` | `platform`), `sound` (`ok` | `non_commercial` | `removed` | `muted`) with `sound_reason`, and `checked_at`. All fields are null until the post has been checked (~48 h after posting, again at 7 days); `null` means unknown, never 'no'. The same events arrive as `video.not_recommended`, `video.ai_labeled` and `video.sound_restricted` webhooks.",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {
--- pinned/tokportal_patch_bundle_video
+++ observed/tokportal_patch_bundle_video
  {
    "annotations": {
      "destructiveHint": false,
-             "description": "End of an EXPLICIT publication window (ISO 8601 date-time). Must be strictly after target_publish_start_date, and must be sent together with it — never alongside target_publish_date, and never on the configuration or CSV endpoints, where the end is derived and this field is refused.",
+             "description": "Accepted for backward compatibility only. Must be strictly after target_publish_start_date and sent together with it — never alongside target_publish_date, and never on the configuration or CSV endpoints, where this field is refused. It does not choose the window: the end day is always the start day + 1 (2026-09-05), and the response returns the stored window.",
              "format": "date-time",
              "type": [
                "string",
-             "description": "Start of an EXPLICIT publication window (ISO 8601 date-time). This is the only endpoint where the window's end is choosable — configuration and CSV import always derive it as start + 1 day. Send it together with target_publish_end_date and never alongside target_publish_date. Since 2026-08-26 it obeys the same minimum lead time as configuration (today+1 with a delivered or existing account, today+3 while the account is still being created, in UTC); an earlier value is rejected with INVALID_DATE carrying min_days_ahead and earliest_allowed.",
+             "description": "Start of the publication window as an ISO 8601 date-time; only its UTC calendar day is kept. The window is always the same 2-day window as everywhere else: that day at 00:00 UTC and the next day — the end is derived and can never be shortened or extended (any time-of-day or caller-supplied end is normalized away; the response returns the stored window). Prefer target_publish_date (YYYY-MM-DD); never send both. Since 2026-08-26 it obeys the same minimum lead time as configuration (today+1 with a delivered or existing account, today+3 while the account is still being created, in UTC); an earlier value is rejected with INVALID_DATE carrying min_days_ahead and earliest_allowed.",
              "format": "date-time",
              "type": [
                "string",
--- pinned/tokportal_update_webhook_endpoint
+++ observed/tokportal_update_webhook_endpoint
  {
    "annotations": {
      "destructiveHint": false,
+                 "video.not_recommended",
+                 "video.ai_labeled",
+                 "video.sound_restricted",
+                 "account.distribution_warning",
                  "warming.session_started",
                  "warming.term_verified",
                  "warming.session_completed",

Current tools

Show all 108 tool fingerprints
tokportal_add_edit_slots
c6bdabc18bca6561
tokportal_add_video_slots
3a22c3316a86a833
tokportal_approve_comment_task
bf93fbe48bc916cc
tokportal_batch_configure_bundle_videos
12e38b1709f9c373
tokportal_can_refresh_account_analytics
9b533140ca842535
tokportal_cancel_account_managed_subscription
c1a8526a74a73fb5
tokportal_configure_bundle_account
786b1aaf8b971100
tokportal_configure_bundle_video
6393340aebec9471
tokportal_configure_bundle_warming_terms
88fa7aced0def145
tokportal_create_account_comment_action
7c39ffbe3f91c18d
tokportal_create_account_comment_reply
d39f673a3d228027
tokportal_create_account_edit_request
9e63767abbbfb376
tokportal_create_account_private_reply
5056744e11b07719
tokportal_create_analytics_report
6edd09654e553cf3
tokportal_create_bundle
236001eb5a49e8c9
tokportal_create_bundles_bulk
b89ca407613e3aae
tokportal_create_comment_tasks
dfc724bdd7ceed0f
tokportal_create_video_ad_code_request
055248eead2e75bb
tokportal_create_webhook_endpoint
5e7f6ed294672fa5
tokportal_delete_comment_task
5a80fbca0e86e181
tokportal_delete_webhook_endpoint
36591ecfd9bea816
tokportal_dispute_comment_task
a31e6edcc3ecd8b4
tokportal_export_analytics_report_html
42076ff3f7f6f4b6
tokportal_export_analytics_videos
a2d8a281c97a987c
tokportal_finalize_bundle_account
f319ff3190a8c0e3
tokportal_finalize_bundle_video
6e4bb979383b63b5
tokportal_fix_bundle_video_download
e49268bb5e78022a
tokportal_generate_warming_terms
eba453638afde587
tokportal_get_account
cb00b1923a96016f
tokportal_get_account_analytics
efcb9bbe06af1ae9
tokportal_get_account_business_setup
e02b9db01952da45
tokportal_get_account_comment_action
a9286d71e87eef31
tokportal_get_account_comment_dm
b8eafefaaf06ff44
tokportal_get_account_comment_moderation
bef8ed323d42fc6b
tokportal_get_account_comment_reply
90d14a0cd36159e1
tokportal_get_account_connection
af3c4108225e1b42
tokportal_get_account_edit_request
de9859cf9f1ee509
tokportal_get_account_inbox
d425c700222f5d95
tokportal_get_account_managed_subscription
2cc1bd969a4bc6a6
tokportal_get_account_message_operation
7f9021a47b38dd2e
tokportal_get_analytics_account
a0c18e799c762fc7
tokportal_get_analytics_account_insights
67577310395062b7
tokportal_get_analytics_contract
1e4133aa37a2e08c
tokportal_get_analytics_dashboard
4bf5db3b19557273
tokportal_get_analytics_series
62079ed2d69cff79
tokportal_get_bundle
3e6c710cbbfaed49
tokportal_get_bundle_account
2a476e46f9a73e26
tokportal_get_bundle_publish_readiness
290cf058e1e57b8d
tokportal_get_bundle_video
9b08981b595c357c
tokportal_get_comment_pulse
f0d6e871fc856cdd
tokportal_get_comment_task
312139f046baf476
tokportal_get_credit_balance
15a93084d950d12c
tokportal_get_credit_costs
239ed47d6673ef52
tokportal_get_current_user
9d0d3208d45abc91
tokportal_get_video_ad_code_request
b54abe8b93c0d25a
tokportal_get_video_analytics
5ec3cf81221764cc
tokportal_get_warming_session
198a944ac7265394
tokportal_get_webhook_endpoint
435e697cbf16280c
tokportal_import_bundle_videos_csv
d17196ce53987eee
tokportal_list_account_bans
c2e66431391322ba
tokportal_list_account_bundles
514906ff4d74887a
tokportal_list_account_video_analytics
99280fe372392208
tokportal_list_account_warming_sessions
73c7613219fe8071
tokportal_list_accounts
a59bcd3694e11ed3
tokportal_list_analytics_account_comments
085d5c72ecdfa8bd
tokportal_list_analytics_account_raw_snapshots
798e242f9d1e3622
tokportal_list_analytics_post_raw_snapshots
29da4014728915fc
tokportal_list_analytics_signals
6ad637e6464d7059
tokportal_list_bundle_videos
5a9e0c5a10145333
tokportal_list_bundles
c31aaa2914a498f9
tokportal_list_comment_task_verifications
dc6e8e4488c08cf9
tokportal_list_comment_tasks
b4c80cae6c0564d4
tokportal_list_countries
74ef25c0fe7a6748
tokportal_list_credit_transactions
9e80b26610394b81
tokportal_list_platforms
99aa1ddd2a28fac5
tokportal_list_webhook_deliveries
5996424b8fbee1b4
tokportal_list_webhook_endpoints
3483a7f475539575
tokportal_list_webhook_events
ef2342756ee26f46
tokportal_patch_bundle_video
0d35dc3f5ce29591
tokportal_publish_all_bundle_videos
7353b586039a0dad
tokportal_publish_bundle
140c636ca11d1ed3
tokportal_publish_bundle_video
aa98e771d8d3e36d
tokportal_reactivate_account_managed_subscription
3be264efd3dcc8f7
tokportal_refresh_account_analytics
8ff406b5124a0971
tokportal_refresh_analytics_account
c494d9bc70859e27
tokportal_request_account_business_setup
f9d55a04538710da
tokportal_request_bundle_account_corrections
d1032421311d0a79
tokportal_request_bundle_video_corrections
aa07f6589cf430a5
tokportal_reset_bundle_video
6abf13b76ab5239f
tokportal_retrieve_account_verification_code
0f02835a508435c4
tokportal_retry_webhook_delivery
baf1375a84d5a474
tokportal_reveal_account_credentials
850ea45794b6a00c
tokportal_rewarm_account
9e86a7d96ef6c534
tokportal_send_account_inbox_message
478e25c94443f579
tokportal_test_webhook_endpoint
bdfa1d4c6bb22f08
tokportal_unpublish_bundle
08fe165b9741bba7
tokportal_unschedule_bundle_video
05c8dd144f590f74
tokportal_update_account_comment_dm
495b43c6d86752eb
tokportal_update_account_comment_moderation
93c9ef5b2c6b49d8
tokportal_update_account_commenting_profile
7b11901058c0f713
tokportal_update_bundle
2bcf68dbac0c7bea
tokportal_update_current_user_settings
de51307ff6e89349
tokportal_update_webhook_endpoint
18611b566e01af41
tokportal_upload_image
b9cd2d5f7eaa14f2
tokportal_upload_image_direct
a66d59de83f244b2
tokportal_upload_image_from_url
c747cc81ba8259e6
tokportal_upload_video
df22dd87c0dc8f94
tokportal_upload_video_direct
4fb1249592305980

Watch this server yourself

If you run this server, put the proxy in front of it. It pins these exact fingerprints on first connect and stops the session if they move.

npx -y mcp-pin@0.2.3 -- <your tokportal-mcp command>

Or subscribe to this page's RSS feed to be told when it changes.

Badge

mcp-pin status badge for tokportal-mcp

The badge states one fact about time and nothing else. It never claims a server is safe.

[![mcp-pin](https://mcp-pin.gautamkhosla.com/badge/19639003474802b3.svg)](https://mcp-pin.gautamkhosla.com/servers/19639003474802b3.html)