iletiMerkezi MCP Server

Enviar SMS, consultar informes de entrega, gestionar remitentes/listas negras, registrar y verificar registros İYS (registro de consentimiento de mensajería turco) a través de la API de SMS con licencia BTK de iletiMerkezi. 11 herramientas, el manifiesto obtenido en tiempo de ejecución se mantiene sincronizado con la API en vivo. Instalación: npx -y @iletimerkezi/mcp-server

Documentación

iletiMerkezi MCP Server

npm version License Node Glama score Mentioned in Awesome MCP Servers

Servidor del Protocolo de Contexto de Modelo (MCP) para la API SMS de iletiMerkezi. Permite a los clientes LLM compatibles con MCP (Claude Code, Cursor, Codex CLI, Gemini CLI, VS Code+Cline, Claude Desktop, …) enviar SMS, consultar informes de entrega y gestionar remitentes / listas negras mediante llamadas a herramientas.

iletiMerkezi es una plataforma turca de SMS masivo / OTP / A2P con licencia BTK. Las formas de las herramientas (esquemas de entrada, descripciones, enlaces de documentación) se derivan de un manifiesto de API canónico que se construye a partir de la documentación oficial de los endpoints, por lo que este servidor se mantiene sincronizado con la API en vivo por diseño.

Herramientas

HerramientaEndpoint de APINotas
send_smsPOST /v1/send-sms/jsonEnviar SMS a uno o muchos números (transaccional 100/seg, masivo 50,000/solicitud)
cancel_orderPOST /v1/cancel-order/jsonCancelar un pedido programado para el futuro antes del envío
get_reportPOST /v1/get-report/jsonInforme de entrega de un solo pedido (resumen + por destinatario)
get_reportsPOST /v1/get-reports/jsonLista de resumen de pedidos dentro de un rango de fechas (máx. 10 días)
get_balancePOST /v1/get-balance/jsonSaldo de cuenta (TL + créditos SMS)
get_senderPOST /v1/get-sender/jsonLista de remitentes (encabezado) aprobados
get_blacklistPOST /v1/get-blacklist/jsonNúmeros bloqueados (paginado)
add_blacklistPOST /v1/add-blacklist/jsonBloquear un número (idempotente)
delete_blacklistPOST /v1/delete-blacklist/jsonDesbloquear un número
iys_registerPOST /v1/consent/create/jsonRegistrar registros de consentimiento İYS (lote, máx. 5000)
iys_checkPOST /v1/consent/show/jsonConsultar el estado de consentimiento İYS para un destinatario

Instalación

Cinco clientes comparten el mismo esquema JSON mcpServers; Claude Code y Codex CLI también exponen un comando CLI de una línea. Elige tu cliente a continuación.

Cliente → archivo de configuración

ClienteArchivo de configuraciónFormato
Claude Codeclaude mcp add ... (CLI) · .mcp.json (proyecto) · ~/.claude.json (usuario)JSON mcpServers
Cursor~/.cursor/mcp.json (global) · .cursor/mcp.json (proyecto)JSON mcpServers
Gemini CLI~/.gemini/settings.json (global) · .gemini/settings.json (proyecto)JSON mcpServers
VS Code + Clinecline_mcp_settings.json (Cline → MCP Servers → Configure)JSON mcpServers
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json (macOS)JSON mcpServers
Codex CLIcodex mcp add ... (CLI) · ~/.codex/config.tomlTOML [mcp_servers.X]

Configuración JSON compartida (Claude Code, Cursor, Gemini CLI, VS Code+Cline, Claude Desktop)

Añade este bloque al archivo de configuración correspondiente:

{
  "mcpServers": {
    "iletimerkezi": {
      "command": "npx",
      "args": ["-y", "@iletimerkezi/mcp-server"],
      "env": {
        "ILETIMERKEZI_API_KEY": "your-api-key",
        "ILETIMERKEZI_API_HASH": "your-api-hash"
      }
    }
  }
}

Cierra y reinicia el cliente por completo. Las 11 herramientas aparecen bajo el servidor iletimerkezi.

Claude Code — comando único

Ámbito de usuario (disponible en todos los proyectos):

claude mcp add iletimerkezi -s user \
  -e ILETIMERKEZI_API_KEY=your-api-key \
  -e ILETIMERKEZI_API_HASH=your-api-hash \
  -- npx -y @iletimerkezi/mcp-server

Cierra la sesión actual de Claude Code y comienza una nueva. Las herramientas aparecen como mcp__iletimerkezi__*. Elimínalas con claude mcp remove iletimerkezi -s user.

Codex CLI — formato TOML

Mediante la CLI:

codex mcp add iletimerkezi \
  --env ILETIMERKEZI_API_KEY=your-api-key \
  --env ILETIMERKEZI_API_HASH=your-api-hash \
  -- npx -y @iletimerkezi/mcp-server

O edita ~/.codex/config.toml directamente:

[mcp_servers.iletimerkezi]
command = "npx"
args = ["-y", "@iletimerkezi/mcp-server"]

[mcp_servers.iletimerkezi.env]
ILETIMERKEZI_API_KEY = "your-api-key"
ILETIMERKEZI_API_HASH = "your-api-hash"

Verificación

En el primer uso, prueba get_balance y get_sender — ambos son de solo lectura, ninguno consume créditos.

Clientes alojados (ChatGPT Apps, Gemini App, Claude Web Connectors)

Estos clientes requieren MCP remoto (endpoints HTTPS) y no ejecutan comandos npx locales. Este servidor se distribuye solo en modo stdio (local) por ahora. El soporte alojado está en la hoja de ruta.

Credenciales

Ambos valores provienen de panel.iletimerkezi.com → Configuración → Seguridad → Acceso a la API. Cópialos tal cual — no los hashes tú mismo; el panel emite un hash precalculado.

También debes habilitar Permitir acceso a la API en Configuración → Seguridad → Permisos de acceso, de lo contrario cada llamada devuelve 401. Este es el error más común al comenzar; el mensaje de error 401 del servidor apunta a este interruptor.

Para el contrato completo de autenticación, consulta https://www.iletimerkezi.com/docs/api/authentication.

Cómo se mantienen actualizadas las formas de las herramientas

Al iniciar, el servidor intenta, en orden:

  1. Caché local en ~/.cache/iletimerkezi-mcp/manifest.json, válida por 24 horas.
  2. Obtención en vivo de https://www.iletimerkezi.com/api/manifest.json (tiempo de espera de 5s). En caso de éxito, actualiza la caché atómicamente.
  3. Respaldo en tiempo de compilación (dist/manifest.fallback.json) incluido con el paquete npm — la instantánea del manifiesto en el momento de npm publish.

Esto significa que los nuevos endpoints o cambios de esquema publicados en el manifiesto se propagan a los clientes en ejecución dentro de 24 horas, sin necesidad de npm update. No hay ningún esquema de herramienta escrito manualmente en este repositorio: la documentación de la API es la única fuente de verdad.

Puedes sobrescribir la URL del manifiesto con ILETIMERKEZI_MANIFEST_URL para entornos de prueba / vista previa.

Desarrollo local

npm install
npm run build
npm test

Prueba el servidor contra la API en vivo con credenciales en tu shell:

ILETIMERKEZI_API_KEY=... ILETIMERKEZI_API_HASH=... node dist/index.js

Esto habla MCP sobre stdio. Usa un cliente MCP para interactuar, o canaliza un handshake JSON-RPC manualmente para depurar.

Referencia

Licencia

MIT — consulta LICENSE.