iletiMerkezi MCP Server
@iletimerkezi/mcp-server is the official Model Context Protocol server that connects the iletiMerkezi SMS API to MCP-aware LLM clients (Claude Desktop, Cursor, Cline, …). The LLM takes your natural-language request, picks the right tool call, and interprets the response — sending SMS, pulling delivery reports, checking balance, and managing blacklists all happen inside a single conversation.
The server is fully open-source under MIT, written in TypeScript: iletimerkezi/iletimerkezi-mcp-server.
The 7 tools
| Tool | API endpoint | Purpose | |---|---|---| | send_sms | POST /v1/send-sms/json | Send SMS to one or many numbers | | get_report | POST /v1/get-report/json | Order delivery report (summary + per-recipient) | | get_balance | POST /v1/get-balance/json | Account balance (TL + SMS credits) | | get_sender | POST /v1/get-sender/json | Approved sender (header) list | | get_blacklist | POST /v1/get-blacklist/json | Blocked numbers (paginated) | | add_blacklist | POST /v1/add-blacklist/json | Block a number (idempotent) | | delete_blacklist | POST /v1/delete-blacklist/json | Unblock a number |
Setup (Claude Desktop)
Add an mcpServers entry to claude_desktop_config.json:
{
"mcpServers": {
"iletimerkezi": {
"command": "npx",
"args": ["-y", "@iletimerkezi/mcp-server"],
"env": {
"ILETIMERKEZI_API_KEY": "your-api-key",
"ILETIMERKEZI_API_HASH": "your-api-hash"
}
}
}
}Both values come from panel.iletimerkezi.com → Settings → Security → API Access. Don't compute the hash yourself — the panel issues a precomputed value. See authentication.
After a full quit-and-relaunch of Claude Desktop, open a new conversation and click the tool icon below the message box; you should see the "iletimerkezi" server with 7 tools.
Important prerequisite: The panel's Settings → Security → Access Permissions → Allow API access toggle must be ON. If it is off, every call returns
401. The server's error message walks you through this exact toggle.
Cursor, Cline, and other clients
The same mcpServers config works in Cursor (~/.cursor/mcp.json), Cline, and other MCP-aware clients. Only the file path changes; the command and env vars are identical.
Single source of truth
@iletimerkezi/mcp-server does not author its own tool schemas. Tool definitions are pulled at runtime from /api/manifest.json, which is generated from the canonical iletiMerkezi endpoint documentation. A documentation update propagates to every running MCP client within 24 hours — no npm update required.
This setup means:
- Drift = 0 between the live API and what the LLM sees.
- If iletimerkezi.com is unreachable, the server keeps working using a build-time fallback baked into the npm package at publish time.
- New endpoints become tools as soon as the docs are published.
Example prompts
A single English sentence becomes one tool call behind the scenes:
- "Show me my balance." →
get_balance - "Send 'Your appointment is tomorrow at 2pm' to 905XXXXXXXXX." →
send_sms(sender, iys, full envelope handled automatically) - "Pull the delivery report for order 312988299." →
get_report - "Block this number." →
add_blacklist - "List my approved sender IDs." →
get_sender
Security
- The API Key + Hash carry full account permissions; if leaked, a single API call can drain the balance.
- Never commit credentials to source code or output files; the MCP client config stays on your local machine.
- The server does not retain credentials in memory; it reads them from env on every call.
- For production integrations, enable IP restriction and rotate keys monthly.
Help and contributing
- Bug reports: GitHub Issues
- API documentation: API overview
- Error codes: Error codes table
- Support:
[email protected]
Last updated: 2026-04-29 · Türkçe