Synap by Linkrra

Servidor MCP remoto para a API de inferência compatível com OpenAI da Linkrra para modelos de pesos abertos. Agentes podem listar modelos com preços por token em tempo real, estimar o custo de um trabalho e executar conclusões de chat. Listar modelos e preços não requer chave. Endpoint HTTP transmissível: https://pool.linkrra.com/mcp

Servidor MCP hospedado

npx add-mcp 'https://pool.linkrra.com/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

Use o Linkrra a partir das suas ferramentas

Uma chave, dois protocolos, uma linha de configuração. Tudo abaixo funciona hoje.

Uma chave, dois protocolos. Obtenha uma chave na sua página de conta — ela se parece com sk-pool-… e funciona em todos os lugares abaixo.

Qualquer coisa compatível com OpenAI

Altere a URL base. Nada mais no seu código muda. Isso cobre os SDKs da OpenAI, Cline, Continue, Aider, Roo, Cursor e a maioria dos frameworks de agentes. Vindo da API de inferência aposentada da Hyperbolic? Há um guia de migração curto.

curl

curl https://pool.linkrra.com/v1/chat/completions \
  -H "Authorization: Bearer $LINKRRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen/qwen3-coder",
    "messages": [{"role": "user", "content": "Say hello"}]
  }'

Python

O SDK oficial da OpenAI, apontado para nós.

from openai import OpenAI

client = OpenAI(
    base_url="https://pool.linkrra.com/v1",
    api_key="sk-pool-...",
)

resp = client.chat.completions.create(
    model="qwen/qwen3-coder",
    messages=[{"role": "user", "content": "Say hello"}],
)

Node

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://pool.linkrra.com/v1",
  apiKey: process.env.LINKRRA_API_KEY,
});

Codex CLI

Adicione um provedor em ~/.codex/config.toml e depois selecione-o.

[model_providers.linkrra]
name = "Linkrra"
base_url = "https://pool.linkrra.com/v1"
env_key = "LINKRRA_API_KEY"

model_provider = "linkrra"
model = "qwen/qwen3-coder"

Cline · Continue · Cursor

Escolha o provedor compatível com OpenAI e preencha dois campos.

Base URL:  https://pool.linkrra.com/v1
API key:   sk-pool-...
Model:     qwen/qwen3-coder

Claude Code beta

Claude Code fala a API Messages da Anthropic em vez da OpenAI, então ele precisa de um endpoint diferente — nós também oferecemos isso, incluindo uso de ferramentas. Aponte-o para nós com duas variáveis de ambiente.

Beta, honestamente: o endpoint está construído, testado e implantado, e o caminho de autenticação está verificado contra o serviço ao vivo. Uma sessão completa do Claude Code ainda não foi executada de ponta a ponta contra ele. Se algo se comportar mal, escreva para weare@linkrra.com — isso é um relatório de bug que queremos.

Claude Code

export ANTHROPIC_BASE_URL="https://pool.linkrra.com"
export ANTHROPIC_AUTH_TOKEN="sk-pool-..."

claude

Codex

Mesma forma da seção Codex CLI acima — Codex fala o protocolo da OpenAI, então ele precisa da URL base /v1, não a da Anthropic.

export OPENAI_BASE_URL="https://pool.linkrra.com/v1"
export OPENAI_API_KEY="sk-pool-..."

Execute seu próprio agente a partir do seu editor beta

Um agente que você construiu no Agent Studio é endereçável como um id de modelo. Passe agent:<your-agent-id> onde quer que uma ferramenta peça um modelo, e a solicitação é executada com as instruções desse agente e suas fontes de conhecimento em vez de um modelo puro. Nada mais muda: mesma chave, mesmo saldo, mesma taxa por token.

# Claude Code
export ANTHROPIC_BASE_URL="https://pool.linkrra.com"
export ANTHROPIC_AUTH_TOKEN="sk-pool-..."
claude --model "agent:acme-support"

# Codex CLI — ~/.codex/config.toml
model_provider = "linkrra"
model = "agent:acme-support"

# Codex / any OpenAI-speaking tool, by environment
export OPENAI_BASE_URL="https://pool.linkrra.com/v1"
export OPENAI_API_KEY="sk-pool-..."
export OPENAI_MODEL="agent:acme-support"

# Cline · Continue · Cursor — the OpenAI-compatible provider
Base URL:  https://pool.linkrra.com/v1
API key:   sk-pool-...
Model:     agent:acme-support

Dois cabeçalhos de resposta informam o que aconteceu: X-Linkrra-Agent nomeia o agente que respondeu, e X-Linkrra-Agent-Sources relata quantas das suas fontes enviadas foram recuperadas naquela rodada. Quando ele lê 0, a resposta não foi fundamentada nos seus documentos — vale a pena saber antes de confiar nela.

Respostas citam suas fontes inline como [1], [2]. Um número de citação que a recuperação não forneceu de fato é removido antes que você o veja, então uma nota de rodapé em uma resposta sempre aponta para um trecho real de um documento real.

Um agente que você pausou no estúdio também é recusado aqui, com um 403. Se nosso armazenamento de agentes não puder ser alcançado, você recebe um 503 e nenhuma cobrança — nunca um 404, que seria lido como "seu agente foi excluído".

Demonstração privada de Agent Teams

Toda ferramenta acima autentica como sua conta — a mesma chave gasta o mesmo saldo de créditos em todos os lugares.

O que uma chave em uma ferramenta de desenvolvimento carrega e não carrega. Executar agent:<id> a partir do Claude Code dá a você o prompt desse agente e seu conhecimento. Isso não coloca o envelope de Agent Teams do agente ao redor do seu editor: as ferramentas que o Claude Code executa na sua máquina são do Claude Code, e nosso gateway nunca as vê, então ele não pode limitá-las. O envelope — quais ferramentas, quais hosts, qual teto de gastos, qual expiração — é aplicado apenas para ações que passam pelo nosso próprio gateway de execução, que é o que acontece quando o agente roda dentro do Agent Teams. Trate uma chave colada em uma ferramenta de desenvolvimento como escopo de conta, não escopo de membro de equipe, e não a use como controle de acesso.

Modelos

Passe qualquer id do catálogo como model. Peça um modelo que não servimos e a solicitação é recusada em vez de ser respondida silenciosamente por um diferente — você sempre sabe qual modelo respondeu.

Modo confidencial (GPU TEE)

Adicione "confidential": true a uma solicitação de conclusão de chat para exigir que ela seja respondida dentro de um Ambiente de Execução Confiável de GPU atestado — o provedor não pode ler o prompt mesmo com acesso root à máquina em que ele roda, o que é uma garantia mais forte do que nosso roteamento padrão de retenção zero de dados. Apenas um subconjunto de modelos pode sustentar essa afirmação hoje; pedir isso em qualquer outro modelo retorna 400 em vez de cair silenciosamente em um não atestado. Modelos atuais capazes de confidencialidade: moonshotai/kimi-k3, z-ai/glm-5.2, deepseek/deepseek-v4-flash, openai/gpt-oss-120b.

curl https://pool.linkrra.com/v1/chat/completions \
  -H "Authorization: Bearer $LINKRRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/gpt-oss-120b","confidential":true,"messages":[{"role":"user","content":"hi"}]}'

Texto para fala

TTS em tempo real, transmitido do mesmo mecanismo de voz Gemini Live que alimenta nosso próprio agente telefônico — além de um caminho em hebraico que a maioria dos provedores nem tem: texto roteado pelo mecanismo de nikud da Dicta antes da síntese, então o hebraico é lido com vocalização correta em vez de adivinhada. Detectado automaticamente — envie texto em hebraico e ele é aplicado; nada para configurar.

REST (sua chave de API)

curl https://pool.linkrra.com/v1/audio/speech \
  -H "Authorization: Bearer $LINKRRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello from Linkrra."}' \
  --output speech.wav

Retorna um arquivo audio/wav reproduzível — sem etapa separada de decodificação. sampleRate (padrão 24000) e nikud (padrão true — defina false para ler texto em hebraico sem vocalização, na taxa padrão em vez da taxa de nikud) são ambos opcionais. Limite de 5.000 caracteres por chamada.

x402 — sem conta, um agente paga por chamada

Mesmo mecanismo, sem chave de API: um agente de IA segurando USDC na Base paga por clipe na mesma ida e volta, da mesma forma que /v1/chat/completions já funciona para inferência (veja Agents). POST sem pagamento e você recebe um HTTP 402 com uma cotação de preço exata para aquele texto — sem estimativa, porque o custo de um clipe de TTS é totalmente determinado pela sua contagem de caracteres. Toda chamada paga x402 carrega uma cobrança mínima de $0,01 (em TTS e chat/completions igualmente): abaixo disso, a cotação e a liquidação são exatamente $0,01; acima disso, você paga o preço baseado no uso. Recargas de crédito via /api/billing/x402/topup são mínimas de $1,00. Repita com um cabeçalho PAYMENT-SIGNATURE e a mesma solicitação retorna o clipe WAV.

curl https://pool.linkrra.com/api/billing/x402/tts \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello from Linkrra."}'
# -> 402, PAYMENT-REQUIRED header + body with the exact quote for this text

curl https://pool.linkrra.com/api/billing/x402/tts \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: " \
  -d '{"text": "Hello from Linkrra."}' \
  --output speech.wav

Preços e mecanismo legíveis por máquina: GET /api/billing/x402/tts/info.

Preços

$0,010 por 1.000 caracteres padrão. $0,15 por 1.000 caracteres para o caminho hebraico-nikud. Uma solicitação é precificada uma vez, a partir do seu próprio texto, antes que qualquer coisa seja gerada.

Pelo que você é cobrado

Um crédito é um token, a mesma taxa em todos os modelos que servimos, e você é cobrado pelos tokens que uma solicitação realmente consumiu — liquidado após sua conclusão, não na estimativa pré-voo. Seu saldo e um detalhamento por dia estão na página de conta; os preços estão em preços.

Erros que vale a pena conhecer

401 — a chave está ausente ou malformada; chaves começam com sk-pool-.
402 — sem créditos. Recarregue ou inicie um plano na sua página de conta.
429 — acima do limite de taxa do seu plano; ele é redefinido em breve.
503 — nada está servindo esse modelo agora. Isso é nosso, não seu.