Synap by Linkrra
Servidor MCP remoto para la API de inferencia compatible con OpenAI de Linkrra para modelos de peso abierto. Los agentes pueden listar modelos con precios en vivo por token, estimar el costo de un trabajo y ejecutar completaciones de chat. Listar modelos y precios no requiere clave. Endpoint HTTP transmisible: https://pool.linkrra.com/mcp
Servidor MCP alojado
npx add-mcp 'https://pool.linkrra.com/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Usa Linkrra desde tus herramientas
Una clave, dos protocolos, una línea de configuración. Todo lo siguiente funciona hoy.
Una clave, dos protocolos. Obtén una clave en tu página de cuenta — se ve como sk-pool-… y funciona en todo lo que aparece a continuación.
Cualquier cosa compatible con OpenAI
Cambia la URL base. Nada más en tu código se mueve. Esto cubre los SDK de OpenAI, Cline, Continue, Aider, Roo, Cursor y la mayoría de los frameworks de agentes. ¿Vienes de la API de inferencia retirada de Hyperbolic? Hay una guía de migración breve.
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
El SDK oficial de OpenAI, apuntando hacia nosotros.
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
Añade un proveedor en ~/.codex/config.toml, luego selecciónalo.
[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
Elige el proveedor compatible con OpenAI y completa dos campos.
Base URL: https://pool.linkrra.com/v1
API key: sk-pool-...
Model: qwen/qwen3-coder
Claude Code beta
Claude Code habla el API de Mensajes de Anthropic en lugar del de OpenAI, por lo que necesita un endpoint diferente — también lo servimos, incluyendo el uso de herramientas. Apúntalo hacia nosotros con dos variables de entorno.
Beta, honestamente: el endpoint está construido, probado y desplegado, y la ruta de autenticación está verificada contra el servicio en vivo. Aún no se ha ejecutado una sesión completa de Claude Code de extremo a extremo contra él. Si algo se comporta mal, escribe a weare@linkrra.com — eso es un informe de error que queremos.
Claude Code
export ANTHROPIC_BASE_URL="https://pool.linkrra.com"
export ANTHROPIC_AUTH_TOKEN="sk-pool-..."
claude
Codex
Misma forma que la sección de Codex CLI anterior — Codex habla el protocolo de OpenAI, por lo que necesita la URL base /v1, no la de Anthropic.
export OPENAI_BASE_URL="https://pool.linkrra.com/v1"
export OPENAI_API_KEY="sk-pool-..."
Ejecuta tu propio agente desde tu editor beta
Un agente que construiste en Agent Studio es direccionable como un id de modelo. Pasa agent:<your-agent-id> donde una herramienta pida un modelo, y la solicitud se ejecuta con las instrucciones de ese agente y sus fuentes de conocimiento en lugar de un modelo simple. Nada más cambia: misma clave, mismo saldo, misma tarifa 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
Dos encabezados de respuesta te dicen qué pasó: X-Linkrra-Agent nombra al agente que respondió, y X-Linkrra-Agent-Sources informa cuántas de tus fuentes subidas se recuperaron en ese turno. Cuando lee 0, la respuesta no se basó en tus documentos — vale la pena saberlo antes de confiar en ella.
Las respuestas citan tus fuentes en línea como [1], [2]. Un número de cita que la recuperación no proporcionó realmente se elimina antes de que lo veas, por lo que una nota al pie en una respuesta siempre apunta a un fragmento real de un documento real.
Un agente que has pausado en el estudio también se rechaza aquí, con un 403. Si no se puede acceder a nuestro almacén de agentes, obtienes un 503 y sin cargo — nunca un 404, que se leería como "tu agente fue eliminado".
Demo privada de Agent Teams
Cada herramienta anterior autentica como tu cuenta — la misma clave gasta el mismo saldo de crédito en todas partes.
Lo que una clave en una herramienta de desarrollo lleva y no lleva. Ejecutar agent:<id> desde Claude Code te da el prompt de ese agente y su conocimiento. No pone el envoltorio de Agent Teams del agente alrededor de tu editor: las herramientas que Claude Code ejecuta en tu máquina son de Claude Code, y nuestra puerta de enlace nunca las ve, por lo que no puede limitarlas. El envoltorio — qué herramientas, qué hosts, qué límite de gasto, qué caducidad — se aplica solo a acciones que pasan por nuestra propia puerta de enlace de ejecución, que es lo que sucede cuando el agente se ejecuta dentro de Agent Teams. Trata una clave pegada en una herramienta de desarrollo como limitada a la cuenta, no al miembro del equipo, y no la uses como control de acceso.
Modelos
Pasa cualquier id del catálogo como model. Pide un modelo que no servimos y la solicitud se rechaza en lugar de ser respondida silenciosamente por uno diferente — siempre sabes qué modelo respondió.
Modo confidencial (GPU TEE)
Añade "confidential": true a una solicitud de chat completion para requerir que se responda dentro de un Entorno de Ejecución Confiable de GPU atestiguado — el proveedor no puede leer el prompt incluso con acceso root a la máquina en la que se ejecuta, lo cual es una garantía más fuerte que nuestro enrutamiento predeterminado de cero retención de datos. Solo un subconjunto de modelos puede respaldar esta afirmación hoy; pedirlo en cualquier otro modelo devuelve 400 en lugar de caer silenciosamente a uno no atestiguado. Modelos actuales capaces de confidencialidad: 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 a voz
TTS en tiempo real, transmitido desde el mismo motor de voz Gemini Live que impulsa nuestro propio agente telefónico — además de una ruta de hebreo que la mayoría de los proveedores no tienen en absoluto: texto enrutado a través del motor de nikud de Dicta antes de la síntesis, por lo que el hebreo se lee con vocalización correcta en lugar de adivinada. Se detecta automáticamente — envía texto en hebreo y se aplica; nada que configurar.
REST (tu clave 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
Devuelve un archivo audio/wav reproducible — sin paso de decodificación separado. sampleRate (predeterminado 24000) y nikud (predeterminado true — establece false para leer texto en hebreo sin vocalización, a la tarifa estándar en lugar de la tarifa de nikud) son ambos opcionales. Límite de 5,000 caracteres por llamada.
x402 — sin cuenta, un agente paga por llamada
Mismo motor, sin clave de API: un agente de IA que tiene USDC en Base paga por clip en el mismo viaje de ida y vuelta, de la manera en que /v1/chat/completions ya funciona para inferencia (ver Agents). Haz POST sin pago y obtienes un HTTP 402 con una cotización de precio exacta para ese texto — sin estimación, porque el costo de un clip de TTS está completamente determinado por su número de caracteres. Cada llamada pagada x402 lleva un cargo mínimo de $0.01 (en TTS y chat/completions por igual): por debajo de eso, la cotización y el pago son exactamente $0.01; por encima, pagas el precio basado en uso. Las recargas de crédito a través de /api/billing/x402/topup tienen un mínimo de $1.00. Reintenta con un encabezado PAYMENT-SIGNATURE y la misma solicitud devuelve el clip 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
Precios y mecanismo legibles por máquina: GET /api/billing/x402/tts/info.
Precios
$0.010 por 1,000 caracteres estándar. $0.15 por 1,000 caracteres para la ruta de hebreo-nikud. Una solicitud se cotiza una vez, desde su propio texto, antes de que se genere cualquier cosa.
Lo que se te cobra
Un crédito es un token, la misma tarifa en cada modelo que servimos, y se te cobra por los tokens que una solicitud realmente consumió — se liquida después de que se completa, no en la estimación previa al vuelo. Tu saldo y un desglose diario están en la página de cuenta; los precios están en pricing.
Errores que vale la pena conocer
401 — la clave falta o está malformada; las claves comienzan con sk-pool-.
402 — sin créditos. Recarga o inicia un plan en tu página de cuenta.
429 — superaste el límite de tasa de tu plan; se restablece pronto.
503 — nada está sirviendo ese modelo en este momento. Esto es nuestro, no tuyo.