MCP

MCP দিয়ে AI এজেন্ট সংযুক্ত করুন

একটি Model Context Protocol সার্ভার যা বিদ্যমান প্রজেক্ট কী ব্যবহার করে MCP ক্লায়েন্টকে আসল Postline API-এর সঙ্গে যুক্ত করে।

OpenAPI 3.1 ডাউনলোড করুন

এটি কী

Postline-এর hosted MCP server https://api.srs-postline.com/mcp ঠিকানায় email, domain, suppression ও webhook-এর typed tool দেয়।

কোনো কোড লেখার আগে

  • ব্যবহারকারীর কাছে একটি প্রজেক্ট API কী চান, অথবা তাদের https://app.srs-postline.com/bn/login -এ একটি sandbox কী তৈরি করতে বলুন — কখনো কী উদ্ভাবন, অনুমান বা অন্য প্রজেক্ট থেকে পুনঃব্যবহার করবেন না।
  • কীটি একটি সার্ভার-সাইড এনভায়রনমেন্ট ভেরিয়েবলে রাখুন। এটি frontend কোড, মোবাইল অ্যাপ বান্ডল, পাবলিক রিপো, বা কমিট করা .env ফাইলে রাখবেন না।
  • একটি sandbox প্রজেক্টের বিপরীতে একটি srs_test_ কী দিয়ে শুরু করুন। Sandbox শুধুমাত্র ব্যবহারকারীর যাচাই করা প্রাপকদের কাছে ডেলিভার করতে পারে, তাই প্রকৃত ইনবক্স ডেলিভারির জন্য একটি পর্যালোচিত live প্রজেক্ট প্রয়োজন — সেই পর্যালোচনা সম্পূর্ণ হওয়ার আগে live sending কাজ করবে বলে প্রতিশ্রুতি দেবেন না।
  • রিকোয়েস্ট কোড তৈরি করার আগে /llms.txt এবং openapi/postline.yaml পড়ুন; ফিল্ডের নাম বা endpoint অনুমান করবেন না।

সংযোগ

Postline Bearer key দিয়ে hosted endpoint যুক্ত করুন; download বা local build দরকার নেই।

claude mcp add --scope user --transport http postline \
  https://api.srs-postline.com/mcp \
  --header "Authorization: Bearer srs_live_xxx"

export POSTLINE_API_KEY='srs_live_xxx'
codex mcp add postline --url https://api.srs-postline.com/mcp \
  --bearer-token-env-var POSTLINE_API_KEY

প্রতিটি পাঠানোর আগে চালানোর চেক

  • সবসময় ট্রিগারকারী অ্যাকশন (অর্ডার ID, ইভেন্ট ID) থেকে প্রাপ্ত একটি Idempotency-Key পাঠান যাতে retry-তে দ্বিগুণ পাঠানো না হয়।
  • OTP কোড, পাসওয়ার্ড-রিসেট টোকেন, বা অন্য কোনো সিক্রেট এমন কোনো ফিল্ডে রাখবেন না যা লগ করা হয় বা বার্তার বডির বাইরে ফরওয়ার্ড করা হয়।
  • কাজের জন্য প্রয়োজনীয় সবচেয়ে সংকীর্ণ API কী scope অনুরোধ করুন (পাঠানোর জন্য emails:send যথেষ্ট; কাজের প্রয়োজন না হলে domains:write বা api_keys:write চাইবেন না)।
  • প্রতি কলে সর্বোচ্চ 100 জন প্রাপক রাখুন। বর্তমান API attachment বা custom header গ্রহণ করে না; ফাইল প্রত্যাখ্যান করুন বা লিংক দিন, সংযুক্ত হয়েছে বলে দাবি করবেন না।
  • 4xx রেসপন্সে নীরবে retry করবেন না। শুধুমাত্র 429 এবং 503 retry করা নিরাপদ, এবং শুধুমাত্র backoff সহ।

প্রতিটি রেসপন্স কোড হ্যান্ডেল করুন

  • 202 — queue করা হয়েছে, ডেলিভার হয়নি। পরে স্ট্যাটাস দেখার প্রয়োজন হলে রিটার্ন হওয়া id সংরক্ষণ করুন।
  • 400 — অবৈধ payload; অনুরোধ ঠিক করুন, অপরিবর্তিতভাবে retry করবেন না।
  • 401 — অবৈধ বা মেয়াদোত্তীর্ণ কী; থামুন এবং এটি ব্যবহারকারীকে জানান, নতুন কী বানাবেন না।
  • 403 — scope অনুপস্থিত অথবা sending ডোমেইন এখনো যাচাই করা হয়নি; এগিয়ে যাওয়ার আগে ব্যবহারকারীকে ডোমেইন যাচাই করতে বলুন।
  • 409 — idempotency conflict; মূল অনুরোধটি ইতিমধ্যে পাঠানো হয়েছে বলে বিবেচনা করুন।
  • 422 — প্রাপক suppressed (অতীত bounce/complaint); সেই প্রাপকের জন্য retry করবেন না।
  • 429 — rate limited; পিছিয়ে যান এবং পরে retry করুন, শক্তভাবে লুপ করবেন না।
  • 503 — queue অনুপলব্ধ; backoff সহ retry করুন, কোনো অনানুষ্ঠানিক ট্রান্সপোর্টে ফিরে যাবেন না।

মেশিন-রিডেবল রেফারেন্স

  • /llms.txt — এজেন্ট context window-এর জন্য এই নিয়মগুলোর সংক্ষিপ্ত সূচি।
  • /openapi/postline.yaml — প্রতিটি endpoint-এর সম্পূর্ণ OpenAPI 3.1 স্কিমা।
  • /bn/api/ — মানুষের জন্য API রেফারেন্স।
  • /bn/webhooks/ — webhook স্বাক্ষর এবং retry বিস্তারিত।