Skip to main content
Glama
tokportal

tokportal-mcp

Official
by tokportal

langchain-tokportal

PyPI CI License: MIT

LangChain / LangGraph integration for TokPortal.

TokPortal is the managed social infrastructure API: real TikTok, Instagram and YouTube accounts created, warmed and operated by human account managers in 16+ countries — exposed as a REST API and an MCP server. No OAuth per account, no 25-posts/day cap, no app review.

This package gives your agents two ways to drive TokPortal:

Mode

What you get

When to use

Native tools (toolkit.get_tools())

6 hand-written BaseTools wrapping the tokportal Python SDK: credit balance, create bundle, configure video, publish bundle, get bundle, list accounts

Simple sync agents, no MCP dependency at runtime

MCP tools (await toolkit.aget_tools("mcp"))

Every tool of the remote TokPortal MCP server (90+ operations: uploads, warming, analytics, webhooks, comments, bans…) loaded through langchain-mcp-adapters

Full API surface, async agents

Installation

pip install langchain-tokportal
# optional, for the LangGraph example below
pip install langchain langchain-openai

Get an API key at https://app.tokportal.com/developer and export it:

export TOKPORTAL_API_KEY=sk_...

Related MCP server: Outpost

Quick start (native tools)

from langchain_tokportal import TokPortalToolkit

toolkit = TokPortalToolkit.from_api_key()          # reads TOKPORTAL_API_KEY
tools = toolkit.get_tools()

for tool in tools:
    print(tool.name)
# tokportal_get_credit_balance
# tokportal_create_bundle
# tokportal_configure_bundle_video
# tokportal_publish_bundle
# tokportal_get_bundle
# tokportal_list_accounts

print(tools[0].invoke({}))                          # -> {"data": {"balance": ...}}

Every tool returns a JSON string (the raw TokPortal data envelope, or an {"error": {...}} object with status, code, request_id and retryable so the model can self-correct).

LangGraph agent example (langchain.agents.create_agent, LangChain 1.x)

import asyncio

from langchain_openai import ChatOpenAI
from langchain.agents import create_agent

from langchain_tokportal import TokPortalToolkit

SYSTEM = (
    "You operate TokPortal, a managed social infrastructure API. "
    "Always check the credit balance before creating bundles. "
    "A bundle must be published for a human account manager to start working on it."
)


async def main() -> None:
    toolkit = TokPortalToolkit.from_api_key()

    # "native" = 6 SDK tools, "mcp" = full remote MCP tool set, "all" = both
    tools = await toolkit.aget_tools("mcp")

    agent = create_agent(ChatOpenAI(model="gpt-4.1"), tools, system_prompt=SYSTEM)

    result = await agent.ainvoke(
        {
            "messages": [
                (
                    "user",
                    "Order one new TikTok account in the US with 3 video slots and "
                    "advanced warming on the terms 'home workout', 'protein snacks', "
                    "'gym motivation'. Publish it and tell me the bundle id.",
                )
            ]
        }
    )
    print(result["messages"][-1].content)


asyncio.run(main())

Sync-only code paths can call toolkit.get_mcp_tools() (wraps asyncio.run).

Using the MCP connection directly

from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain_tokportal import mcp_connection

client = MultiServerMCPClient({"tokportal": mcp_connection("sk_...")})
tools = await client.get_tools()

mcp_connection() returns a Streamable-HTTP connection dict pointing at https://app.tokportal.com/api/ext/mcp with Authorization: Bearer <api_key>.

Tool reference (native)

Tool

REST operation

tokportal_get_credit_balance

GET /credits/balance

tokportal_create_bundle

POST /bundles

tokportal_configure_bundle_video

PUT /bundles/{id}/videos/{position}

tokportal_publish_bundle

POST /bundles/{id}/publish

tokportal_get_bundle

GET /bundles/{id}

tokportal_list_accounts

GET /accounts

Typical flow: get_credit_balancecreate_bundle (draft) → configure_bundle_video × N → publish_bundle → poll get_bundle or subscribe to webhooks.

Resources

License

MIT

Install Server
A
license - permissive license
C
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    Social media API and MCP server for AI agents that enables publishing to X, Instagram, LinkedIn, Reddit, Bluesky, and Threads from a single endpoint.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server to manage social media accounts from AI assistants, enabling post creation, scheduling, publishing, and media uploads across multiple platforms.
    13
    23
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for QPost that lets AI agents schedule and publish video/image posts to YouTube, TikTok, and Instagram via QPost's REST API.
    7
    507
    MIT

View all related MCP servers

Related MCP Connectors

  • Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.

  • Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tokportal/langchain-tokportal'

If you have feedback or need assistance with the MCP directory API, please join our Discord server