7.0 KiB
Model Context Protocol (MCP) Python ইমপ্লিমেন্টেশন
এই রিপোজিটরিটি Model Context Protocol (MCP)-এর একটি Python ইমপ্লিমেন্টেশন ধারণ করে, যা দেখায় কিভাবে MCP স্ট্যান্ডার্ড ব্যবহার করে একটি সার্ভার এবং ক্লায়েন্ট অ্যাপ্লিকেশন তৈরি করা যায় যা একে অপরের সাথে যোগাযোগ করে।
ওভারভিউ
MCP ইমপ্লিমেন্টেশনটি দুটি প্রধান উপাদান নিয়ে গঠিত:
-
MCP সার্ভার (
server.py) - একটি সার্ভার যা প্রদান করে:- Tools: এমন ফাংশন যা রিমোটলি কল করা যায়
- Resources: এমন ডেটা যা রিট্রিভ করা যায়
- Prompts: ভাষা মডেলের জন্য প্রম্পট তৈরির টেমপ্লেট
-
MCP ক্লায়েন্ট (
client.py) - একটি ক্লায়েন্ট অ্যাপ্লিকেশন যা সার্ভারের সাথে সংযুক্ত হয়ে তার ফিচারগুলো ব্যবহার করে
ফিচারসমূহ
এই ইমপ্লিমেন্টেশনটি MCP-এর কয়েকটি মূল ফিচার প্রদর্শন করে:
Tools
completion- AI মডেল থেকে টেক্সট কমপ্লিশন তৈরি করে (সিমুলেটেড)add- একটি সহজ ক্যালকুলেটর যা দুইটি সংখ্যা যোগ করে
Resources
models://- উপলব্ধ AI মডেলগুলোর তথ্য প্রদান করেgreeting://{name}- নির্দিষ্ট নামের জন্য ব্যক্তিগতকৃত শুভেচ্ছা প্রদান করে
Prompts
review_code- কোড রিভিউ করার জন্য একটি প্রম্পট তৈরি করে
ইনস্টলেশন
এই MCP ইমপ্লিমেন্টেশন ব্যবহার করতে, প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করুন:
pip install mcp-server mcp-client
সার্ভার এবং ক্লায়েন্ট চালানো
সার্ভার শুরু করা
একটি টার্মিনাল উইন্ডোতে সার্ভার চালান:
python server.py
সার্ভার MCP CLI ব্যবহার করে ডেভেলপমেন্ট মোডেও চালানো যেতে পারে:
mcp dev server.py
অথবা Claude Desktop-এ ইনস্টল করা যেতে পারে (যদি উপলব্ধ থাকে):
mcp install server.py
ক্লায়েন্ট চালানো
অন্য একটি টার্মিনাল উইন্ডোতে ক্লায়েন্ট চালান:
python client.py
এটি সার্ভারের সাথে সংযুক্ত হবে এবং সব উপলব্ধ ফিচার প্রদর্শন করবে।
ক্লায়েন্ট ব্যবহার
ক্লায়েন্ট (client.py) MCP-এর সব ক্ষমতা প্রদর্শন করে:
python client.py
এটি সার্ভারের সাথে সংযুক্ত হয়ে টুলস, রিসোর্সেস এবং প্রম্পটসহ সব ফিচার ব্যবহার করবে। আউটপুটে দেখা যাবে:
- ক্যালকুলেটর টুলের ফলাফল (5 + 7 = 12)
- "What is the meaning of life?" প্রশ্নের জন্য completion টুলের উত্তর
- উপলব্ধ AI মডেলগুলোর তালিকা
- "MCP Explorer" এর জন্য ব্যক্তিগতকৃত শুভেচ্ছা
- কোড রিভিউ প্রম্পট টেমপ্লেট
ইমপ্লিমেন্টেশন বিস্তারিত
সার্ভারটি FastMCP API ব্যবহার করে ইমপ্লিমেন্ট করা হয়েছে, যা MCP সার্ভিস ডিফাইন করার জন্য উচ্চস্তরের অ্যাবস্ট্রাকশন প্রদান করে। নিচে টুলস কিভাবে ডিফাইন করা হয় তার একটি সরল উদাহরণ:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + b
ক্লায়েন্ট MCP ক্লায়েন্ট লাইব্রেরি ব্যবহার করে সার্ভারের সাথে সংযুক্ত হয় এবং কল করে:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})
আরও জানুন
MCP সম্পর্কে আরও তথ্যের জন্য দেখুন: https://modelcontextprotocol.io/
অস্বীকৃতি:
এই নথিটি AI অনুবাদ সেবা Co-op Translator ব্যবহার করে অনূদিত হয়েছে। আমরা যথাসাধ্য সঠিকতার চেষ্টা করি, তবে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথিটি তার নিজস্ব ভাষায়ই কর্তৃত্বপূর্ণ উৎস হিসেবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ গ্রহণ করার পরামর্শ দেওয়া হয়। এই অনুবাদের ব্যবহারে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।