একজন গ্রোথ-মার্কেটিং কনসালট্যান্ট একটি Model Context Protocol (MCP) সার্ভার তৈরি করার মাধ্যমে চৌদ্দটি ব্রাউজার ট্যাব এবং অন্তহীন স্প্রেডশিট থেকে ডেটা সংগ্রহের পেছনে পুরো একটি বিকেল ব্যয় করা বন্ধ করেছেন। এই সার্ভারটি একটি AI অ্যাসিস্ট্যান্টকে Google Ads, Meta, GA4 এবং Search Console থেকে ডেটা সংগ্রহ করতে এবং সেই অনুযায়ী কাজ করতে সাহায্য করে। এটি এখন মানুষের হস্তক্ষেপ ছাড়াই মাসিক রিপোর্ট তৈরি করে, অডিট চালায় এবং অপ্টিমাইজেশন প্রয়োগ করে, যা মার্কেটারকে ডেটা নিয়ে ব্যস্ত না থেকে কৌশলের দিকে মনোযোগ দেওয়ার সুযোগ করে দেয়।

কেন এই পরিবর্তনটি গুরুত্বপূর্ণ ছিল

পেইড-সার্চ, সোশ্যাল এবং অ্যানালিটিক্স প্ল্যাটফর্মগুলোর রিপোর্ট তৈরি করা আগে একটি ম্যানুয়াল প্রক্রিয়ার মতো ছিল: প্রতিটি ড্যাশবোর্ড খোলা, স্প্রেডশিটে সংখ্যাগুলো কপি করা, অমিলগুলো সংশোধন করা এবং তারপর ইনসাইট লেখা। এই প্রচেষ্টায় মূল্যবান সময় নষ্ট হতো এবং মানুষের ভুল হওয়ার সম্ভাবনা থাকত। MCP প্ল্যাটফর্মগুলোর নেটিভ কুয়েরি ল্যাঙ্গুয়েজ এবং API-তে AI-কে সরাসরি অ্যাক্সেস দিয়ে কাজের ধারা বদলে দেয়, যা “আমাকে সংখ্যাগুলো বলো” থেকে পরিবর্তন করে “আমার জন্য সংখ্যাগুলো নিয়ে এসো” তে রূপান্তর করে।

প্রযুক্তিগত ভিত্তি

MCP হলো একটি প্রোটোকল যা একটি LLM-চালিত অ্যাসিস্ট্যান্টকে তার যুক্তিনির্ভর কাজের অংশ হিসেবে এক্সটার্নাল টুলস ব্যবহার করার সুযোগ দেয়। বাস্তবে, কনসালট্যান্ট একটি ছোট ওয়েব সার্ভিস সেট আপ করেছেন যা প্রতিটি প্ল্যাটফর্মের র (raw) কুয়েরি ল্যাঙ্গুয়েজ (Google Ads → GAQL) এবং Meta, GA4 ও Search Console-এর স্ট্যান্ডার্ড REST এন্ডপয়েন্টগুলোকে উন্মুক্ত করে। AI কুয়েরি তৈরি করে, সেগুলো সার্ভারে পাঠায়, স্ট্রাকচার্ড ফলাফল গ্রহণ করে এবং রাইট-অপারেশন (write-operations) করার পর ভেরিফিকেশন রিড (verification reads) করতে পারে।

তিনটি ডিজাইন চয়েস যা ফলপ্রসূ হয়েছে

  • থিন র‍্যাপার (thin wrappers)-এর পরিবর্তে নেটিভ কুয়েরি ল্যাঙ্গুয়েজ উন্মুক্ত করা – প্রথম প্রচেষ্টায় প্রতিটি ডেটার প্রয়োজনের জন্য আলাদা ফাংশন লেখা হয়েছিল (যেমন, get_campaigns)। নতুন রিপোর্টিংয়ের প্রয়োজনে কোডবেস দ্রুত বড় হয়ে যাচ্ছিল। সরাসরি GAQL উন্মুক্ত করার ফলে একটি মাত্র এন্ডপয়েন্ট ব্যবহার করেই AI তার প্রয়োজনীয় যেকোনো কুয়েরি তৈরি করতে পারে। অ্যাসিস্ট্যান্টের GAQL কম্পোজিশন কনসালট্যান্টের ম্যানুয়াল স্ক্রিপ্টের চেয়েও ভালো ফলাফল দিয়েছে এবং একই প্যাটার্ন অন্যান্য প্ল্যাটফর্মের ক্ষেত্রেও কাজ করে।
  • প্রতিটি রাইট (write)-কে রিড (read)-এর মাধ্যমে যাচাই করা – অনেক সময় API পরিবর্তন সফল না হলেও 'success flag' রিটার্ন করে। এখন সার্ভার প্রতিটি রাইট করার পর পুনরায় ডেটা রিড করে; যদি প্রত্যাশিত মান না পাওয়া যায়, তবে এটি একটি ব্যর্থতা লগ করে এবং ব্যবহারকারীকে সতর্ক করে। এই গার্ডরেলটি এমন সব নীরব ত্রুটি রোধ করে যা পারফরম্যান্স ডেটা নষ্ট করতে পারত।
  • একটি মার্কডাউন এরর লগ (markdown error log) রাখা – প্রতিটি বাগ, ভুল টাইপ করা ফিল্ড বা ভুল বোঝা নিয়ম learned-errors.md-এ জমা হয়। AI প্রতিটি সেশনের শুরুতে এই ফাইলটি পড়ে, যাতে সে বুঝতে পারে কোন ভুলগুলো পুনরাবৃত্তি করা যাবে না।

তিনটি ভুল যা সময় নষ্ট করেছে

  • টুলস এবং ইমপোর্টের মধ্যে নামের সংঘাত (Name collisions) – একটি ফাংশনের নাম একটি ইমপোর্ট করা মডিউলের সাথে মিলে যাওয়ায় রানটাইমে সার্ভার ক্র্যাশ করছিল। প্রতিটি ইমপোর্টের জন্য আলাদা এলিয়াস (alias) ব্যবহার করায় এই সমস্যা দূর হয়েছে।
  • হট রিলোড (hot reloads) অবহেলা করা – MCP সার্ভারটি লঞ্চ করার সময় কোডটি একবার লোড করত। কোডবেসে কোনো পরিবর্তন করলে পুরো ক্লায়েন্ট প্রসেস রিস্টার্ট না করা পর্যন্ত তা কার্যকর হতো না, যার ফলে ডেড কোড ডিবাগ করতে ঘণ্টার পর ঘণ্টা সময় নষ্ট হতো। প্রতিটি এডিট করার পর একটি ফুল রিস্টার্ট ওয়ার্কফ্লো যুক্ত করায় সমস্যাটি সমাধান হয়েছে।
  • নির্ভরতা বা ডিপেন্ডেন্সি (dependencies) মিস করা – ভার্চুয়াল এনভায়রনমেন্টে অনুপস্থিত একটি ইমপোর্টের কারণে সার্ভার চালু হওয়ার সময় বন্ধ হয়ে যাচ্ছিল। এখন রিস্টার্ট করার আগে প্রি-ফ্লাইট চেকগুলো সমস্ত প্রয়োজনীয় প্যাকেজ ইনস্টল এবং যাচাই করে নেয়, ফলে সমস্যাটি দ্রুত ধরা পড়ে।

সারসংক্ষেপ

একটি সাধারণ MCP সার্ভার শ্রমসাধ্য রিপোর্টিং প্রক্রিয়াকে একটি স্বয়ংক্রিয় এবং অডিট-রেডি ওয়ার্কফ্লোতে রূপান্তরিত করতে পারে, তবে এর জন্য সুশৃঙ্খল কোডিং অনুশীলন এবং একটি ছোট সার্ভিস রক্ষণাবেক্ষণের মানসিকতা প্রয়োজন। যে মার্কেটাররা সেটআপের জন্য সময় বিনিয়োগ করেন, তারা স্প্রেডশিটের একঘেয়েমি ছেড়ে কৌশলগত বিশ্লেষণের দিকে মনোযোগ দিতে পারেন।