In-depth architectural comparison of the Iletimerkezi MCP Server and MCP Server MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Iletimerkezi MCP Server
Communication · Local stdio
Quality: 63/100 (Good) | Auth: API Key required
MCP Server
Communication · Local stdio
Quality: 57/100 (Good) | Auth: No auth required
Verdict Summary: Choose Iletimerkezi MCP Server if you need specialized Communication tools running via a local process. Choose MCP Server if your workspace requires Communication integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Iletimerkezi MCP Server when:
You need dedicated capabilities in the Communication domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (BYOK (Pay Provider Direct)).
You have access to required keys: ILETIMERKEZI_API_KEY, ILETIMERKEZI_API_HASH.
Send SMS, query delivery reports, manage senders / blacklists, register and check İYS (Turkish messaging consent registry) records through the iletiMerkezi BTK-licensed SMS API. 11 tools, runtime-fetched manifest stays in lock-step with the live API. Install: npx -y @iletimerkezi/mcp-server.
Phone numbers for AI agents: order a private number, read the SMS verification code, hand it back.
Category & Scope
Tools & Capabilities Breakdown
Iletimerkezi MCP Server Tools (11)
send_sms
Send an SMS to one or many Turkish or international mobile numbers in a single request. Returns an orderId used for delivery reports (get_report) and scheduled-order cancellation (cancel_order).
Destructive and irreversible: dispatches a real SMS, deducts paid credit, and cannot be recalled once the message enters the carrier queue. For pre-approval testing use sender "APITEST"; this forces iys="0" and replaces the message text with a fixed verification string. Once a real sender is approved on the account, "APITEST" returns code 450.
Auth: API key + hash. The panel toggle "Allow API access" (Settings > Security > Access Permissions) must be ON or every call returns 401. IP allowlist applies when configured.
Conditional fields: order.sender must be a panel-approved alphanumeric header, max 11 chars. order.iys is required and chooses the regulatory channel. Use "0" for transactional messages (OTP, password reset, order/delivery/payment notification, appointment reminder, regulatory notice); these are out of scope of commercial-message consent under Turkish Law No. 6563 and IYS rules. Use "1" for commercial messages (campaign, promotion, discount, marketing); with iys="1", order.iysList is also required and must be "BIREYSEL" (individuals) or "TACIR" (businesses). KVKK personal-data obligations remain separate and always apply.
Field naming caveat: the recipient container is order.message.receipents (sic.); this is a backward-compatibility typo and "recipients" returns error 452.
Rate limits: 100 SMS per second per account for transactional sends, counted by recipient count rather than request count, so one request to five numbers consumes five SMS units. Bulk sends accept up to 50,000 recipients per request; chunk larger lists client-side at 50,000.
Scheduling: order.sendDateTime ("dd/MM/yyyy HH:mm", Turkey local time, no seconds) schedules a future dispatch. Cancel before the message leaves the queue via cancel_order with the returned orderId.
Reference: https://www.iletimerkezi.com/en/docs/api/send-sms
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Iletimerkezi MCP Server is categorized under Communication and uses a local stdio subprocess. In contrast, MCP Server belongs to Communication using local stdio subprocess. Select Iletimerkezi MCP Server when you need capabilities focused on communication and MCP Server when you require tools for communication.
The cancel-order endpoint cancels an order created via send-sms with a sendDateTime in the future, before it is dispatched to the carrier. Only orders that have not started sending can be cancelled; once the order enters the send pipeline, the cancel window has closed and the request returns 455.
Reference: https://www.iletimerkezi.com/en/docs/api/cancel-order
get_report
The get-report endpoint returns the delivery report for an order created via send-sms. One response carries the overall order status, summary counters (total / delivered / undelivered / waiting), timestamps, sender, order price, and per-recipient delivery status. Large orders paginate via page + rowCount.
Reference: https://www.iletimerkezi.com/en/docs/api/get-report
get_reports
The get-reports endpoint returns the aggregate summary list of all SMS orders created within a given date range. For each order the response carries counters (total / delivered / undelivered / waiting), timestamps, and sender; per-recipient breakdown is not included. For recipient-level details, call get-report for the specific order. This endpoint backs the Reports > Bulk SMS History screen in the panel. Typical use cases: dashboards, periodic analytics, queries like "list orders from the last week".
Reference: https://www.iletimerkezi.com/en/docs/api/get-reports
get_balance
The get-balance endpoint returns the TL balance remaining on your account and the number of standard SMS messages that balance can fund. It has no side effects and consumes no credits, making it the safest call for verifying authentication and checking remaining budget before a campaign.
Reference: https://www.iletimerkezi.com/en/docs/api/get-balance
get_sender
The get-sender endpoint returns the list of sender IDs (headers) registered and approved on your account. The order.sender field of send-sms only accepts values from this list; using anything else is rejected. The call has no side effects and consumes no credits.
Reference: https://www.iletimerkezi.com/en/docs/api/get-sender
get_blacklist
The get-blacklist endpoint returns the list of phone numbers that you have blocked on your account. Numbers on this list are skipped during send-sms delivery. The call has no side effects and consumes no credits.
Reference: https://www.iletimerkezi.com/en/docs/api/get-blacklist
add_blacklist
The add-blacklist endpoint adds one phone number to your account's blacklist so it is skipped by send-sms. Idempotent: re-adding the same number returns 200 instead of an error. One number per request.
Reference: https://www.iletimerkezi.com/en/docs/api/add-blacklist
delete_blacklist
The delete-blacklist endpoint removes a phone number from your account's blacklist. After removal, send-sms can deliver to that number again. One number per request; not idempotent, removing a number that is not on the list returns an error.
Reference: https://www.iletimerkezi.com/en/docs/api/delete-blacklist
iys_register
The iys-register endpoint creates İYS (İleti Yönetim Sistemi) consent records, the legally required Turkish national registry for commercial electronic messaging. Consents (or rejections) collected via web forms, signed contracts, call-center confirmations, etc. are submitted to iletiMerkezi through this endpoint and forwarded to the national İYS registry. Up to 5000 recipients per request. İYS registration is mandatory for any commercial SMS sent in Turkey. Without a valid consent record, the corresponding send-sms call with iys: "1" is rejected with code 468 / 469 / 470.
Reference: https://www.iletimerkezi.com/en/docs/api/iys-register
iys_check
The iys-check endpoint returns the current İYS (İleti Yönetim Sistemi) consent status for a given recipient. Use it to verify a record submitted via iys-register has been processed, to check ONAY (consent) / RET (rejection) before a commercial send, or to produce audit reports. The call has no side effects and consumes no credits.
Reference: https://www.iletimerkezi.com/en/docs/api/iys-check
MCP Server Tools (9)
get_balance
what is left on the account
list_countries
every country with its id and operators
list_services
find the code for a site: search by name or domain, best match first, price, how many are online, and the share of codes that actually arrived
order_number
order a private number for one service in one country
wait_for_code
poll until the code lands and return it, already parsed out of the SMS
finish_activation
close a successful activation
cancel_activation
cancel and get the money back
request_another_sms
ask for one more code on the same number
totp_code
compute the authenticator code locally, by RFC 6238