Skip to content

Latest commit

 

History

History
162 lines (120 loc) · 11.3 KB

File metadata and controls

162 lines (120 loc) · 11.3 KB

সম্পূর্ণ MCP ক্লায়েন্ট উদাহরণসমূহ

এই ডিরেক্টরিতে বিভিন্ন প্রোগ্রামিং ভাষায় MCP ক্লায়েন্টের সম্পূর্ণ, কার্যকরী উদাহরণ রয়েছে। প্রতিটি ক্লায়েন্ট মূল README.md টিউটোরিয়ালে বর্ণিত সম্পূর্ণ কার্যকারিতা প্রদর্শন করে।

উপলব্ধ ক্লায়েন্টসমূহ

১. জাভা ক্লায়েন্ট (client_example_java.java)

  • ট্রান্সপোর্ট: SSE (Server-Sent Events) HTTP এর মাধ্যমে
  • টার্গেট সার্ভার: http://localhost:8080
  • বৈশিষ্ট্যসমূহ:
    • সংযোগ স্থাপন এবং পিং
    • টুল তালিকা
    • ক্যালকুলেটর অপারেশন (যোগ, বিয়োগ, গুণ, ভাগ, সাহায্য)
    • ত্রুটি পরিচালনা এবং ফলাফল নিষ্কাশন

চালানোর জন্য:

# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java

২. সি# ক্লায়েন্ট (client_example_csharp.cs)

  • ট্রান্সপোর্ট: Stdio (স্ট্যান্ডার্ড ইনপুট/আউটপুট)
  • টার্গেট সার্ভার: লোকাল .NET MCP সার্ভার (dotnet run এর মাধ্যমে)
  • বৈশিষ্ট্যসমূহ:
    • stdio ট্রান্সপোর্টের মাধ্যমে স্বয়ংক্রিয় সার্ভার চালু
    • টুল এবং রিসোর্স তালিকা
    • ক্যালকুলেটর অপারেশন
    • JSON ফলাফল পার্সিং
    • বিস্তৃত ত্রুটি পরিচালনা

চালানোর জন্য:

dotnet run

৩. টাইপস্ক্রিপ্ট ক্লায়েন্ট (client_example_typescript.ts)

  • ট্রান্সপোর্ট: Stdio (স্ট্যান্ডার্ড ইনপুট/আউটপুট)
  • টার্গেট সার্ভার: লোকাল Node.js MCP সার্ভার
  • বৈশিষ্ট্যসমূহ:
    • সম্পূর্ণ MCP প্রোটোকল সমর্থন
    • টুল, রিসোর্স, এবং প্রম্পট অপারেশন
    • ক্যালকুলেটর অপারেশন
    • রিসোর্স পড়া এবং প্রম্পট কার্যকর করা
    • শক্তিশালী ত্রুটি পরিচালনা

চালানোর জন্য:

# First compile TypeScript (if needed)
npm run build

# Then run the client
npm run client
# or
node client_example_typescript.js

৪. পাইথন ক্লায়েন্ট (client_example_python.py)

  • ট্রান্সপোর্ট: Stdio (স্ট্যান্ডার্ড ইনপুট/আউটপুট)
  • টার্গেট সার্ভার: লোকাল পাইথন MCP সার্ভার
  • বৈশিষ্ট্যসমূহ:
    • Async/await প্যাটার্ন ব্যবহার
    • টুল এবং রিসোর্স আবিষ্কার
    • ক্যালকুলেটর অপারেশন পরীক্ষা
    • রিসোর্স বিষয়বস্তু পড়া
    • ক্লাস-ভিত্তিক সংগঠন

চালানোর জন্য:

python client_example_python.py

সকল ক্লায়েন্টের সাধারণ বৈশিষ্ট্য

প্রতিটি ক্লায়েন্ট নিম্নলিখিত বিষয়গুলি প্রদর্শন করে:

  1. সংযোগ ব্যবস্থাপনা

    • MCP সার্ভারের সাথে সংযোগ স্থাপন
    • সংযোগ ত্রুটি পরিচালনা
    • সঠিকভাবে ক্লিনআপ এবং রিসোর্স ব্যবস্থাপনা
  2. সার্ভার আবিষ্কার

    • উপলব্ধ টুল তালিকা
    • উপলব্ধ রিসোর্স তালিকা (যেখানে সমর্থিত)
    • উপলব্ধ প্রম্পট তালিকা (যেখানে সমর্থিত)
  3. টুল কার্যকরকরণ

    • মৌলিক ক্যালকুলেটর অপারেশন (যোগ, বিয়োগ, গুণ, ভাগ)
    • সার্ভার তথ্যের জন্য সাহায্য কমান্ড
    • সঠিক আর্গুমেন্ট পাসিং এবং ফলাফল পরিচালনা
  4. ত্রুটি পরিচালনা

    • সংযোগ ত্রুটি
    • টুল কার্যকরকরণ ত্রুটি
    • সুশৃঙ্খল ব্যর্থতা এবং ব্যবহারকারীর প্রতিক্রিয়া
  5. ফলাফল প্রক্রিয়াকরণ

    • প্রতিক্রিয়া থেকে টেক্সট বিষয়বস্তু নিষ্কাশন
    • আউটপুট ফরম্যাটিং
    • বিভিন্ন প্রতিক্রিয়া ফরম্যাট পরিচালনা

প্রয়োজনীয়তা

এই ক্লায়েন্ট চালানোর আগে নিশ্চিত করুন:

  1. প্রাসঙ্গিক MCP সার্ভার চালু আছে (../01-first-server/ থেকে)
  2. আপনার নির্বাচিত ভাষার জন্য প্রয়োজনীয় ডিপেন্ডেন্সি ইনস্টল করা আছে
  3. সঠিক নেটওয়ার্ক সংযোগ (HTTP-ভিত্তিক ট্রান্সপোর্টের জন্য)

বিভিন্ন ইমপ্লিমেন্টেশনের মূল পার্থক্য

ভাষা ট্রান্সপোর্ট সার্ভার চালু অ্যাসিঙ্ক মডেল প্রধান লাইব্রেরি
জাভা SSE/HTTP এক্সটার্নাল সিঙ্ক WebFlux, MCP SDK
সি# Stdio স্বয়ংক্রিয় Async/Await .NET MCP SDK
টাইপস্ক্রিপ্ট Stdio স্বয়ংক্রিয় Async/Await Node MCP SDK
পাইথন Stdio স্বয়ংক্রিয় AsyncIO Python MCP SDK
রাস্ট Stdio স্বয়ংক্রিয় Async/Await Rust MCP SDK, Tokio

পরবর্তী ধাপ

এই ক্লায়েন্ট উদাহরণগুলি অনুসন্ধানের পরে:

  1. ক্লায়েন্টগুলিকে পরিবর্তন করুন নতুন বৈশিষ্ট্য বা অপারেশন যোগ করতে
  2. আপনার নিজস্ব সার্ভার তৈরি করুন এবং এটি এই ক্লায়েন্টগুলির সাথে পরীক্ষা করুন
  3. বিভিন্ন ট্রান্সপোর্ট নিয়ে পরীক্ষা করুন (SSE বনাম Stdio)
  4. আরও জটিল অ্যাপ্লিকেশন তৈরি করুন যা MCP কার্যকারিতা সংহত করে

সমস্যা সমাধান

সাধারণ সমস্যা

  1. সংযোগ প্রত্যাখ্যান: নিশ্চিত করুন MCP সার্ভার প্রত্যাশিত পোর্ট/পাথে চালু আছে
  2. মডিউল পাওয়া যায়নি: আপনার ভাষার জন্য প্রয়োজনীয় MCP SDK ইনস্টল করুন
  3. অনুমতি অস্বীকৃত: stdio ট্রান্সপোর্টের জন্য ফাইল অনুমতি পরীক্ষা করুন
  4. টুল পাওয়া যায়নি: নিশ্চিত করুন সার্ভার প্রত্যাশিত টুলগুলি বাস্তবায়ন করে

ডিবাগ টিপস

  1. আপনার MCP SDK-তে বিস্তারিত লগিং সক্ষম করুন
  2. সার্ভার লগ পরীক্ষা করুন ত্রুটির বার্তার জন্য
  3. টুল নাম এবং স্বাক্ষর যাচাই করুন ক্লায়েন্ট এবং সার্ভারের মধ্যে
  4. প্রথমে MCP ইনস্পেক্টর দিয়ে পরীক্ষা করুন সার্ভারের কার্যকারিতা যাচাই করতে

সম্পর্কিত ডকুমেন্টেশন

অস্বীকৃতি:
এই নথিটি AI অনুবাদ পরিষেবা Co-op Translator ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। এর মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়বদ্ধ নই।