TvojeLajky hosted MCP (CZ)
MCP oficial hospedado para serviços tchecos de Instagram/TikTok: catálogo público em CZK e cotações, com compras pagas por crédito pré-pago que exigem OAuth e um orçamento aprovado pelo cliente; implementação privada.
Servidor MCP hospedado
npx add-mcp 'https://tvojelajky.cz/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Da descoberta à entrega.
Conecte seu assistente de IA a preços ao vivo, perfis reais e compras dentro de um orçamento aprovado pelo cliente.
API e MCP da TvojeLajky
A TvojeLajky.cz fornece seguidores, curtidas e visualizações de vídeo para Instagram e TikTok no mercado tcheco. O catálogo público e os orçamentos não exigem conta. Os pagamentos são em CZK. Todos os campos amountMinor da API são números inteiros em halere: 100 = CZK 1. Perfis e postagens vêm da ScrapeCreators. Números desconhecidos são null. A disponibilidade do serviço e os preços são verificados em relação ao catálogo ao vivo.
Conecte um cliente de IA
Endpoint MCP remoto: https://tvojelajky.cz/mcp. Use Streamable HTTP. Claude Code: claude mcp add --transport http tvojelajky https://tvojelajky.cz/mcp Codex: codex mcp add tvojelajky --url https://tvojelajky.cz/mcp Para ferramentas privadas, conclua o login OAuth no cliente (Codex: codex mcp login tvojelajky). Leia a descrição da ferramenta antes de invocar uma compra. O registro MCP não significa que este provedor esteja instalado automaticamente ou seja recomendado em todos os produtos de IA.
Recursos
list_services: seis categorias de serviço, preços iniciais ao vivo e limites de quantidade. get_profile / list_posts: perfil real e até 20 postagens recentes. get_quote: preço exato, expira após 15 minutos; sem cobrança. create_order: cria um pedido não pago e um link de checkout privado. get_order: leia o status de pagamento e entrega. get_wallet: saldo autenticado e orçamento restante. pay_order: gasta crédito pré-pago aprovado e inicia a entrega. Novos pedidos de API não aceitam cupons ou campos de fatura na v1; use o site quando esses forem necessários.
Início rápido HTTP público
curl https://tvojelajky.cz/api/v1/services
# Replace YOUR_PUBLIC_USERNAME with a real public account.
curl https://tvojelajky.cz/api/v1/quotes \
-H 'Content-Type: application/json' \
-d '{"platform":"instagram","username":"YOUR_PUBLIC_USERNAME","type":"followers","quantity":100,"postUrls":[]}'
# Use the returned quoteId and a new random key per intended order.
curl https://tvojelajky.cz/api/v1/orders \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: REPLACE_WITH_RANDOM_UUID' \
-d '{"quoteId":"REPLACE_WITH_QUOTE_ID"}'
Exemplo em TypeScript
const root = 'https://tvojelajky.cz/api/v1';
async function api(path: string, body?: unknown, key?: string) {
const r = await fetch(root + path, {
method: body === undefined ? 'GET' : 'POST',
headers: { 'Content-Type': 'application/json', ...(key ? { 'Idempotency-Key': key } : {}) },
...(body === undefined ? {} : { body: JSON.stringify(body) }),
});
const result = await r.json();
if (!r.ok) throw new Error(result.error.code);
return result.data;
}
const quote = await api('/quotes', { platform: 'instagram', username: 'YOUR_PUBLIC_USERNAME', type: 'followers', quantity: 100 });
// Persist this key before sending; reuse it after a timeout.
const key = crypto.randomUUID();
const order = await api('/orders', { quoteId: quote.quoteId }, key);
console.log(order.checkoutUrl); // Show privately to the customer; do not log tokens in production.
Exemplo em Python
import json, urllib.request, uuid
ROOT = 'https://tvojelajky.cz/api/v1'
def api(path, body=None, key=None):
headers = {'Content-Type': 'application/json'}
if key: headers['Idempotency-Key'] = key
req = urllib.request.Request(ROOT + path, data=None if body is None else json.dumps(body).encode(), headers=headers)
with urllib.request.urlopen(req, timeout=60) as response:
return json.load(response)['data']
quote = api('/quotes', {'platform': 'instagram', 'username': 'YOUR_PUBLIC_USERNAME', 'type': 'followers', 'quantity': 100})
key = str(uuid.uuid4()) # Persist and reuse on retries.
order = api('/orders', {'quoteId': quote['quoteId']}, key)
# Show order['checkoutUrl'] privately to the customer.
Alvos, preços e tentativas
Seguidores têm como alvo um perfil público. Curtidas/visualizações têm como alvo 1–20 postagens retornadas por list_posts para esse perfil; as quantidades são divididas em unidades inteiras de forma uniforme; as primeiras postagens selecionadas recebem o restante (500 / 3 = 167 + 167 + 166). Visualizações exigem postagens com isVideo:true; tipos de mídia desconhecidos não podem ser comprados como visualizações de vídeo. Um orçamento expira em 15 minutos e é verificado novamente antes do pedido. PRICE_CHANGED retorna um orçamento substituto para aceitação. Nenhum preço ou perfil substituto é retornado. Um pedido mantém seu preço aceito. Idempotency-Key é obrigatória para criação e pagamento com crédito (16–128 letras, números, sublinhados, pontos ou hífens). Reutilize tanto o corpo quanto a chave após falhas de rede. Um corpo diferente com uma chave existente produz IDEMPOTENCY_CONFLICT. Nunca crie outro pedido para resolver entrega incerta.
Autorize gastos
Abra /wallet e verifique seu e-mail por meio de um link de uso único. Não há senha. Recarregue via Finby (CZK 100–10.000 por recarga). Conceda um orçamento total, máximo por pedido e validade (até 90 dias) ao seu agente. As concessões cobrem qualquer perfil suportado. Recargas não aumentam concessões. Revogue em /wallet. Cobranças automáticas em cartão e recargas automáticas não são suportadas. Se houver crédito insuficiente, o cliente deve concluir uma nova recarga por conta própria. As credenciais de API/MCP nunca contêm dados de cartão.
Autenticação OAuth e HTTP
Metadados OAuth: /.well-known/oauth-authorization-server. Metadados de recurso protegido: /.well-known/oauth-protected-resource/mcp e /.well-known/oauth-protected-resource/api/v1. Registro de cliente público: POST /oauth/register com client_name, redirect_uris e token_endpoint_auth_method:none. Código de autorização com S256 PKCE e state é obrigatório. Recursos suportados: https://tvojelajky.cz/mcp e https://tvojelajky.cz/api/v1. Os tokens são vinculados ao público; obtenha uma autorização separada para o outro recurso. Escopos: orders:read, orders:write, wallet:read, wallet:spend. Tokens de acesso duram no máximo 1 hora; tokens de atualização rotacionados no máximo 30 dias, ambos limitados pela validade da concessão. Chamadas HTTP privadas usam Authorization: Bearer TOKEN. Mantenha tokens em armazenamento secreto, nunca em URLs ou arquivos de repositório.
Erros e status de entrega
HTTP retorna {data:...} ou {error:{code,details?}}. Falhas de validação: 400; autorização necessária: 401; escopo proibido: 403; pedido indisponível: 404; conflitos de preço/idempotência/orçamento/pagamento: 409; orçamento/link expirado: 410; limites: 429 com Retry-After; serviço/provedor indisponível: 503. Consulte o status do pedido no máximo a cada 30 segundos. pending significa não pago; paid significa pagamento aceito; processing_started/processing significa que a entrega está em andamento; completed significa entrega concluída; partial e failed precisam de inspeção. needsReview indica uma falha ou um pedido pago sem campanhas. Um retorno do navegador ou timeout do provedor nunca prova pagamento nem autoriza outro pedido.
Links e suporte
Catálogo: https://tvojelajky.cz/sluzby OpenAPI: https://tvojelajky.cz/openapi.json Carteira: https://tvojelajky.cz/wallet Termos: https://tvojelajky.cz/terms Privacidade: https://tvojelajky.cz/privacy Suporte: https://tvojelajky.cz/contact Relate um problema de pedido de forma privada com o ID do pedido. Não inclua tokens ou credenciais de pagamento.