𝗠𝗼𝗱𝗲𝗹 𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹 𝗘𝘅𝗽𝗹𝗮𝗶𝗻𝗲𝗱
আপনি যদি কোনো LLM-কে একটি ডাটাবেস বা API-এর সাথে যুক্ত করতে চান, তবে আপনাকে glue code লিখতে হয়। আপনি এটি একটি মডেলের জন্য লেখেন। তারপর পরবর্তী মডেলের জন্য আবার সেটি লেখেন। এটি ইন্টিগ্রেশনের একটি বিশৃঙ্খল অবস্থা তৈরি করে।
Model Context Protocol (MCP) এই সমস্যার সমাধান করে। এটি AI-এর জন্য একটি USB-C পোর্টের মতো কাজ করে। প্রতিটি ডিভাইসের জন্য আলাদা আলাদা কাস্টম ক্যাবল ব্যবহার করার পরিবর্তে, সবাই একটি স্ট্যান্ডার্ড কানেক্টর ব্যবহার করে।
MCP ইন্টিগ্রেশনের হিসাব M x N থেকে পরিবর্তন করে M + N করে দেয়।
- টুল নির্মাতারা একটি MCP সার্ভার লেখেন।
- অ্যাপ্লিকেশন নির্মাতারা একটি MCP ক্লায়েন্ট যুক্ত করেন।
- যে কোনো হোস্ট যা MCP বোঝে, তা যেকোনো সার্ভার ব্যবহার করতে পারে।
এই আর্কিটেকচারে তিনটি ভূমিকা রয়েছে:
• Host: আপনি যে AI অ্যাপটি ব্যবহার করেন, যেমন Claude Code বা কোনো IDE। এটি সিদ্ধান্ত নেয় কোন সার্ভারের সাথে যুক্ত হতে হবে। • Client: হোস্টের ভেতরে থাকা কানেক্টর। এটি সার্ভারের সাথে সংযোগ বজায় রাখে। • Server: আপনি যে প্রোগ্রামটি তৈরি করেন। এটি টুলস, ডাটা বা প্রম্পট প্রদান করে।
আপনি তিনটি প্রধান প্রিমিটিভ (primitives) ব্যবহার করেন:
- Tools: মডেল কোনো কাজ করার জন্য যে ফাংশনগুলো কল করে, যেমন ইমেল পাঠানো বা ডাটাবেস কুয়েরি করা।
- Resources: রিড-অনলি (read-only) ডাটা যা অ্যাপটি কনটেক্সটে নিয়ে আসে, যেমন কোনো ফাইল বা লগ।
- Prompts: পুনরায় ব্যবহারযোগ্য টেমপ্লেট যা ব্যবহারকারীদের নির্দিষ্ট টাস্ক শুরু করতে সাহায্য করে।
আপনি FastMCP SDK ব্যবহার করে Python-এ একটি সার্ভার তৈরি করতে পারেন। এখানে একটি সহজ উদাহরণ দেওয়া হলো:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("demo-tools")
@mcp.tool()
def word_count(text: str) -> int:
"""Count the words in a text."""
return len(text.split())
@mcp.resource("notes://team")
def team_notes() -> str:
"""Expose team notes."""
return "Release freeze starts Friday."
@mcp.prompt()
def code_review(language: str, code: str) -> str:
"""Template for reviewing code."""
return f"Review this {language} code: {code}"
if __name__ == "__main__":
mcp.run()
যখন আপনি সার্ভার তৈরি করবেন, তখন এই নিয়মগুলো মাথায় রাখবেন:
- Security: ধ্বংসাত্মক (destructive) টুলসের ক্ষেত্রে ব্যবহারকারীর অনুমতির ব্যবস্থা রাখুন। সমস্ত আর্গুমেন্ট ভ্যালিডেট করুন।
- Context: টুলের বর্ণনা সংক্ষিপ্ত রাখুন। দীর্ঘ বর্ণনা আপনার টোকেন বাজেট কমিয়ে দেয়।
- Errors: স্পষ্ট মেসেজ প্রদান করুন যাতে মডেল নিজেই তার ভুল সংশোধন করতে পারে।
MCP টুলসগুলোকে একটি পুনরায় ব্যবহারযোগ্য সম্পদে পরিণত করে। একবার লিখুন। প্রতিটি মডেলকে এটি ব্যবহার করতে দিন।
Source: https://dev.to/galian/model-context-protocol-explained-build-your-first-mcp-server-in-python-ian
Optional learning community: https://t.me/GyaanSetuAi