عنوان:

‫راهنمای کاربردی MCP


نویسنده: وحید نصیری
تاریخ: ۱۴۰۴/۰۲/۱۵ ۰۷:۳۸
آدرس: www.dntips.ir
مقدمه
پروتکل متن مدل (Model Context Protocol) یا به اختصار MCP، یک پروتکل باز است که روشی استاندارد برای برنامه‌ها فراهم می‌کند تا زمینه (Context) را برای مدل‌های زبانی بزرگ (Large Language Models) یا به اختصار LLM فراهم کنند. MCP با ارائه یک چارچوب جهانی برای پیوند دادن سیستم‌های هوش مصنوعی با منابع داده و ابزارهای مختلف، مدل‌ها را قادر می‌سازد تا اطلاعات مورد نیاز خود را برای تولید پاسخ‌های مرتبط‌تر، دقیق‌تر و آگاهانه‌تر از زمینه، بهتر درک کنند.

MCP یک استاندارد نسبتاً جدید است اما به سرعت در حال کسب محبوبیت است. مجموعه رو به رشدی از سرورهای از پیش ساخته شده MCP، همراه با انعطاف‌پذیری آن برای جابجایی بین LLMهای مختلف، آن را به یک راه‌حل جذاب برای توسعه‌دهندگان تبدیل کرده است. با این حال، از سوی دیگر، MCP آنقدر سریع مورد پذیرش قرار گرفته است که باعث سردرگمی در مورد چیستی واقعی آن و نحوه عملکرد آن در پشت صحنه شده است.

در این مقاله، ما با پرداختن مستقیم به کدنویسی با MCP SDK، رویکردی عملی‌تر خواهیم داشت. چه در توسعه MCP تازه کار باشید و چه به سادگی به دنبال تعمیق درک کلی خود از MCP باشید، این راهنما بینش‌های عملی و مثال‌های عملی برای کمک به شروع کار در اختیار شما قرار می‌دهد.

این مقاله به شش بخش سازماندهی شده است:

  • مقدمه (که در حال حاضر در حال مطالعه آن هستید)
  • بخش 1 - ساخت یک سرور MCP پایه
  • بخش 2 - استفاده از سرور اکو (Echo) با VS Code
  • بخش 3 - ابزار MCP برای حل مسئله Knight's Tour
  • بخش 4 - استفاده از ابزار MCP با Claude برای دسکتاپ
  • پیوست - با ابزار در مقابل بدون ابزار

آنچه خواهیم ساخت
ما مراحلی را که برای دستیابی به این دو وظیفه اصلی در Visual Studio Code (VS Code) مورد نیاز است، نشان خواهیم داد:

  • ایجاد سرور MCP خودتان
  • استفاده از سرور MCP خود در VS Code با حالت Agent، با استفاده از GitHub Copilot

به عنوان نقطه شروع، ما یک سرور MCP ساده و همچنین یک کلاینت (Client) MCP پایه خواهیم ساخت و به آنها اجازه می‌دهیم تا با یکدیگر ارتباط برقرار کنند. در مرحله بعد، یک سرور MCP واقعی برای بهبود پاسخ عامل (Agent) یا LLM خواهیم ساخت.
علاوه بر این، از آنجایی که MCP یک استاندارد باز است، در تئوری، می‌توانیم از سرور MCP خود با هر میزبان MCP (که گاهی اوقات به عنوان کلاینت MCP نیز شناخته می‌شود) استفاده کنیم. به این ترتیب، ما همچنین نشان خواهیم داد که چگونه از آن با یکی دیگر از کلاینت‌های محبوب MCP، یعنی Claude for Desktop، استفاده کنیم.

توجه: سرور MCP که امروز می‌سازیم، یک نسخه محلی (که به عنوان نسخه استاندارد IO نیز شناخته می‌شود) است، به این معنی که سرور و کلاینت روی یک ماشین اجرا می‌شوند و از طریق کانال‌های ورودی/خروجی استاندارد (Standard Input/Output) با یکدیگر ارتباط برقرار می‌کنند.

چه نوع سرور MCP می‌توانیم بسازیم؟

برای تعیین اینکه چه نوع سرور MCP می‌توانیم بسازیم، باید توابعی را در نظر بگیریم که مکمل LLM هستند - زمینه‌هایی که مدل یا نمی‌تواند به تنهایی آنها را بفهمد، یا می‌تواند در اصل آنها را بفهمد اما نمی‌تواند نتیجه دقیق را مستقیماً تولید کند. این به طور معمول شامل دو دسته است:

لایه منبع داده (Data Source Layer)
منبع داده برای ارائه زمینه و اطلاعاتی که LLM نمی‌تواند به تنهایی استنباط کند، مانند سیستم‌های فایل محلی یا راه دور، APIها، پایگاه‌های داده یا هر پایگاه دانش خارجی، ضروری است. نمونه‌هایی از چنین منابعی شامل GitHub، PostgreSQL، MySQL، GraphQL و سیستم‌های فایل مختلف است. مخزن رسمی سرور MCP یک منبع کلیدی برای مرجع است. از آنجایی که از قبل سرورهای MCP از پیش ساخته شده زیادی برای دسته اول وجود دارد، تمرکز خود را به دسته بعدی تغییر خواهیم داد: لایه اجرا (Execution Layer).

لایه اجرا (Execution Layer)
در مرحله اجرای وظیفه، LLMها می‌توانند راه‌حل‌ها را توصیف کنند یا حتی کد صحیح بنویسند، اما نمی‌توانند در طول تولید متن، خود را اعتبارسنجی کنند و اغلب خروجی‌های نادرستی تولید می‌کنند. این محدودیت منجر به راه‌حل‌هایی می‌شود که در نگاه اول درست به نظر می‌رسند اما حاوی نقص‌های منطقی هستند. مسئله Knight's Tour به عنوان یک مثال خوب از این موضوع عمل می‌کند.

حل‌کننده Knight's Tour
امروز، وظیفه اصلی ما ایجاد یک حل‌کننده Knight's Tour با استفاده از MCP برای بهبود خروجی تولید شده توسط LLMها و اطمینان از صحت راه‌حل است. ما همچنین یک مقایسه با ابزار و بدون ابزار برای تأیید اثربخشی راه‌حل خود انجام خواهیم داد.

آنچه شما نیاز خواهید داشت

  • VS Code
  • حساب GitHub Copilot (یک حساب رایگان کافی است)
  • NET SDK.
  • اختیاری: Claude برای دسکتاپ

می‌توانیم این لیست را به طور خلاصه بررسی کنیم:

Visual Studio Code (VS Code)
این ویرایشگر کد اصلی ما برای پروژه است و به عنوان کلاینت MCP ما نیز عمل می‌کند. می‌توانید آن را به صورت رایگان از این لینک دانلود کنید:

حساب GitHub Copilot
برای استفاده از یک LLM در داخل VS Code، به GitHub Copilot نیاز دارید. حساب رایگان برای این پروژه نمایشی به خوبی کار می‌کند.

توجه: اگر از قبل VS Code را نصب کرده‌اید، مطمئن شوید که به آخرین نسخه به روز شده است، زیرا ما از "حالت Agent" جدید با Copilot برای ویژگی MCP استفاده خواهیم کرد. با این حال، در این نسخه نمایشی، ما از حالت Agent فقط برای تجربه چت برای آزمایش سرور MCP خود استفاده می‌کنیم - هیچ تولید کد یا وظایف مبتنی بر عامل در این مرحله دخیل نیست. ما در یک مقاله آینده، بحث عمیق‌تری در مورد حالت Agent در VS Code برای کدنویسی دستیار مبتنی بر عامل ارائه خواهیم داد.

NET SDK.
NET SDK. محیط زمان اجرا برای برنامه #C ما است. من از NET 9.0. استفاده می‌کنم. می‌توانید آن را از لینک زیر دریافت کنید.

Claude برای دسکتاپ
ما از Claude برای دسکتاپ به عنوان دومین کلاینت MCP برای آزمایش سرور MCP خود استفاده خواهیم کرد. این مرحله اختیاری است.
البته، این به این معنی است که برای استفاده از Claude باید یک حساب کاربری داشته باشید. باز هم، یک حساب رایگان برای هدف این نسخه نمایشی کافی است.

چرا NET.؟
این نسخه نمایشی مطمئناً می‌توانست در پایتون یا TypeScript (Node.js) نوشته شود، پس چرا NET. و #C را انتخاب کنیم؟ پاسخ در این واقعیت نهفته است که من از قبل یک راه‌حل Knight's Tour به خوبی آزمایش شده در #C دارم که نه تنها پازل را حل می‌کند، بلکه هر بار یک راه‌حل متفاوت (با همان موقعیت شروع) تولید می‌کند.
علاوه بر این، کد NET. به فایل‌های اجرایی کامپایل می‌شود، بنابراین در پایان، سرور MCP و کلاینت MCP به سادگی دو فایل اجرایی هستند که روی یک ماشین با یکدیگر ارتباط برقرار می‌کنند. این فقط نشان می‌دهد که در زیر هود، هیچ چیز خاصی در مورد MCP وجود ندارد - این یک پیاده‌سازی ساده است.
همچنین، به نوعی، این یک سناریوی دنیای واقعی را تقلید می‌کند که در آن شما یک پروژه موجود دارید که به زبانی غیر از پایتون یا Node.js (که احتمالاً محبوب‌ترین زبان‌ها برای پروژه‌های این نوع هستند) نوشته شده است. به جای پورت کردن پروژه، می‌توانید از زبان دلخواه خود - مانند #C - برای بسته‌بندی سرویس با استفاده از MCP SDK استفاده کنید و سپس آن را در اختیار سایر سیستم‌های سازگار با MCP (داخلی یا خارجی) قرار دهید.

بخش 1 - ساخت یک سرور MCP پایه
ما با ساخت یک سرور بسیار ساده شروع خواهیم کرد. این فقط یک کار را انجام می‌دهد: وقتی کلاینت با آن ارتباط برقرار می‌کند، هر آنچه را که دریافت می‌کند تکرار می‌کند. به همین دلیل است که ما آن را سرور اکو (Echo) می‌نامیم.

1.1 سرور اکو MCP
ما چند پروژه مختلف را در این نسخه نمایشی انجام خواهیم داد. برای سازماندهی بهتر ساختار پوشه خود، از این به عنوان پوشه ریشه استفاده خواهم کرد:
C:\Projects\demo
سپس، تمام پروژه‌ها در این مقاله تحت این پوشه ریشه ایجاد خواهند شد. اگر این نسخه نمایشی را دنبال می‌کنید، می‌توانید از هر پوشه‌ای که دوست دارید استفاده کنید. با این حال، حتماً فایل‌های پیکربندی JSON مربوطه را مطابق با موقعیت پوشه خود به روز کنید، زیرا از مسیرهای مطلق برای پیکربندی استفاده خواهد شد.

پوشه پروژه
برای شروع، یک زیر پوشه جدید ایجاد کنیم:
C:\Projects\demo\Echo\Server
اکنون، می‌توانیم VS Code را شروع کرده و این پوشه را باز کنیم. این پوشه خالی را برای ادامه انتخاب کنید. هنگامی که در VS Code هستید، یک پنجره ترمینال جدید باز کنید و دستور زیر را اجرا کنید:
dotnet new console
در ادامه این بسته‌ها را در ترمینال نصب کنید:
dotnet add package ModelContextProtocol --prerelease
dotnet add package Microsoft.Extensions.Hosting

در مرحله بعد، از کد زیر استفاده کنید:
Program.cs

// Final Demo Version
// dotnet --version
// dotnet add package ModelContextProtocol --prerelease
// dotnet add package Microsoft.Extensions.Hosting

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using ModelContextProtocol.Server;
using System.ComponentModel;

var builder = Host.CreateApplicationBuilder(args);

builder.Logging.AddConsole(consoleLogOptions =>
{
   // Configure all logs to go to stderr
   consoleLogOptions.LogToStandardErrorThreshold = LogLevel.Trace;
});

builder.Services
.AddMcpServer()
.WithStdioServerTransport()
.WithToolsFromAssembly();

await builder.Build().RunAsync();

[McpServerToolType]
public static class EchoTool
{
   [McpServerTool, Description("Returns the client's messages exactly as they were received, like an echo.")]
   public static string Echo(string message) => $"Hello, there! I am Echo, the MCP Server — The sound of your digital soul bouncing back: {message}";
}

دستور ترمینال
این دستور را در ترمینال اجرا کنید:
dotnet run
خروجی:

info: ModelContextProtocol.Protocol.Transport.StdioServerTransport[857250842]
Server (stream) (mcp) transport reading messages.
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\Projects\demo\Echo\Server
تبریک می‌گویم! شما اولین سرور MCP خود را اجرا کرده‌اید.

توضیحات:
ابتدای کار، به طور خاص برای پیکربندی تمام خروجی‌های گزارش برای رفتن به stderr تنظیم شده‌است. این یک کار خوب است، زیرا خروجی استاندارد معمولاً برای ارتباط بین سرور و کلاینت در نظر گرفته شده است.
سپس سرور MCP را پیکربندی می‌کنیم. این بخش به طور خاص به این معنی است:
  • AddMcpServer یک سرور MCP را به برنامه اضافه می‌کند.
  • WithStdioServerTransport از حمل و نقل استاندارد IO برای ارتباط بین سرور و کلاینت استفاده می‌کند.
  • WithToolsFromAssembly به سرور MCP می‌گوید که ابزارها را از اسمبلی فعلی بارگیری کند.

در نهایت، ما با استفاده از [McpServerToolType]، ابزار اکو را تعریف می‌کنیم.

چند نکته کلیدی در اینجا وجود دارد:

  • McpServerToolType یک ویژگی کلاس است که نشان می‌دهد این کلاس حاوی ابزارهای MCP است.
  • McpServerTool یک ویژگی متد است که نشان می‌دهد این متد یک ابزار MCP است.
  • Description یک ویژگی متد است که توضیحی برای ابزار ارائه می‌دهد. این برای کلاینت MCP برای درک هدف ابزار استفاده می‌شود.

همچنین، توجه داشته باشید که ابزار اکو بسیار ساده است. فقط یک پیام را به عنوان ورودی می‌گیرد و یک پیام را به عنوان خروجی برمی‌گرداند. تا اینجا ما یک سرور MCP پایه ساختیم که هر پیامی را که دریافت می‌کند تکرار می‌کند. در بخش بعدی، از این سرور با VS Code برای برقراری ارتباط با آن استفاده خواهیم کرد.


بخش 2 - استفاده از سرور اکو با VS Code
در این بخش، ما از سرور اکو استفاده خواهیم کرد که در بخش 1 ساختیم. ما از VS Code برای برقراری ارتباط با سرور استفاده خواهیم کرد. به طور خاص، ما از ویژگی "حالت Agent" جدید با Copilot برای ارسال پیام به سرور اکو و دریافت پاسخ آن استفاده خواهیم کرد.

2.1 پیکربندی VS Code

ابتدا باید VS Code را برای استفاده از سرور MCP پیکربندی کنیم. این شامل ایجاد یک فایل پیکربندی JSON است که به VS Code می‌گوید کجا سرور MCP را پیدا کند.
در پوشه پروژه خود (C:\Projects\demo)، یک فایل جدید به نام mcp.servers.json ایجاد کنید.
سپس، از کد زیر برای اضافه کردن پیکربندی سرور اکو استفاده کنید:
[
 {
   "mcpServer": "Echo",
   "command": "dotnet",
   "arg": [
     "run",
     "--project",
     "C:\Projects\demo\Echo\Server\Echo.csproj"
   ]
 }
]
چند نکته کلیدی در اینجا وجود دارد:
  • mcpServer نام سرور MCP است. این می‌تواند هر رشته‌ای باشد.
  • command دستور اجرای سرور MCP است.
  • arg آرگومان‌های دستور هستند.

به طور خاص، این آرگومان project-- به دستور dotnet run می‌گوید که کدام پروژه را اجرا کند. در این مورد، ما می‌خواهیم پروژه سرور اکو را اجرا کنیم.

توجه: مسیر پروژه باید مسیر مطلق پروژه سرور اکو باشد. در غیر این صورت، VS Code نمی‌تواند سرور را پیدا کند.

2.2 برقراری ارتباط با سرور اکو
اکنون که VS Code را برای استفاده از سرور MCP پیکربندی کرده‌ایم، می‌توانیم از آن برای برقراری ارتباط با سرور استفاده کنیم. برای انجام این کار، باید از ویژگی "حالت Agent" با Copilot استفاده کنیم.
در VS Code کلیدهای Ctrl + Shift + P را فشار دهید تا پالت دستور باز شود. سپس، "Copilot: Start Agent Chat" را تایپ کرده و Enter را فشار دهید. این مورد یک پنجره چت جدید در VS Code باز می‌کند. اکنون می‌توانید با سرور اکو چت کنید.
برای ارسال یک پیام به سرور اکو، به سادگی پیام خود را در پنجره چت تایپ کرده و Enter را فشار دهید. سپس سرور اکو باید با پیامی پاسخ دهد که پیام شما را تکرار می‌کند. به عنوان مثال، اگر پیام "Hello, Echo!" را ارسال کنید، سرور اکو باید با پیامی مانند این پاسخ دهد:
Hello, there! I am Echo, the MCP Server — The sound of your digital soul bouncing back: Hello, Echo!
تبریک می‌گویم! شما با موفقیت از VS Code برای برقراری ارتباط با سرور MCP خود استفاده کرده‌اید.

2.3 خلاصه
در این بخش، ما از VS Code برای برقراری ارتباط با سرور اکو استفاده کردیم که در بخش 1 ساختیم. ما از ویژگی "حالت Agent" با Copilot برای ارسال پیام به سرور اکو و دریافت پاسخ آن استفاده کردیم. در بخش بعدی، یک ابزار MCP برای حل مسئله Knight's Tour خواهیم ساخت.

بخش 3 - ابزار MCP برای حل مسئله Knight's Tour
در این بخش، ما یک ابزار MCP برای حل مسئله Knight's Tour خواهیم ساخت. همانطور که قبلاً بحث شد، مسئله Knight's Tour یک مسئله کلاسیک در علوم کامپیوتر است که در آن هدف این است که یک شوالیه را روی یک صفحه شطرنج حرکت دهیم تا هر مربع را دقیقاً یک بار ملاقات کند.

3.1 ساخت سرور MCP
ما از همان ساختار پوشه قبلی استفاده خواهیم کرد. ابتدا، یک پوشه جدید برای پروژه سرور MCP خود ایجاد کنید.
C:\Projects\demo\KnightsTour\Server
سپس، VS Code را شروع کرده و این پوشه را باز کنید. این پوشه خالی را برای ادامه انتخاب کنید. هنگامی که در VS Code هستید، یک پنجره ترمینال جدید باز کنید و دستور زیر را اجرا کنید:
dotnet new console
در ادامه، ابتدا وابستگی‌ها را تنظیم خواهیم کرد. البته، می‌توانید ابتدا فایل Program.cs را به روز کنید، اما به دلیل از دست رفتن وابستگی‌های مورد نیاز، با برخی خطاها مواجه خواهید شد. ابتدا، این بسته‌ها را در ترمینال نصب کنید.

dotnet add package ModelContextProtocol --prerelease
dotnet add package Microsoft.Extensions.Hosting
در مرحله بعد، از کد زیر برای جایگزینی کد تولید شده توسط VS Code استفاده کنید:

// Final Demo Version
// dotnet --version
// dotnet add package ModelContextProtocol --prerelease
// dotnet add package Microsoft.Extensions.Hosting

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;  
using ModelContextProtocol.Server;
using System.ComponentModel;
var builder = Host.CreateApplicationBuilder(args);
builder.Logging.AddConsole(consoleLogOptions =>
{
   // Configure all logs to go to stderr
   consoleLogOptions.LogToStandardErrorThreshold = LogLevel.Trace;
});

builder.Services
.AddMcpServer()
.WithStdioServerTransport()
.WithToolsFromAssembly();

await builder.Build().RunAsync();

[McpServerToolType]
public static class KnightsTourTool
{
   private static readonly KnightsTourSolver solver = new KnightsTourSolver();

   [McpServerTool, Description("Solves the Knight's Tour puzzle on a chessboard.")]
   public static string SolveKnightsTour(int startX, int startY, int boardSize)
   {
      var solution = solver.Solve(startX, startY, boardSize);
      if (solution == null)
      {
        return "No solution found.";
      }
      else
      {
        return $"Solution: {string.Join(" -> ", solution.Select(p => $"({p.X}, {p.Y})"))}";
      }
    }
}
این کد بسیار شبیه به کد سرور اکو است که در بخش 1 ساختیم. تفاوت اصلی این است که اکنون یک ابزار MCP جدید به نام SolveKnightsTour داریم. این ابزار سه پارامتر را می‌گیرد:
  • startX: مختصات X مربع شروع.
  • startY: مختصات Y مربع شروع.
  • boardSize: اندازه صفحه شطرنج.

سپس ابزار مسئله Knight's Tour را روی یک صفحه شطرنج با اندازه مشخص شده حل می‌کند، با شوالیه شروع از مربع شروع مشخص شده. اگر یک راه‌حل پیدا شود، ابزار، دنباله حرکات را برمی‌گرداند. در غیر این صورت، پیام "No solution found." را برمی‌گرداند.

توجه: کلاس KnightsTourSolver در این مثال نشان داده نشده است. این یک کلاس سفارشی است که مسئله Knight's Tour را حل می‌کند. می‌توانید پیاده‌سازی خود را از این کلاس ارائه دهید.

3.2 اجرای سرور
برای اجرای سرور، دستور زیر را در ترمینال اجرا کنید:
dotnet run

3.3 خلاصه
در این بخش، ما یک ابزار MCP برای حل مسئله Knight's Tour ساختیم. در بخش بعدی، از این ابزار با Claude برای دسکتاپ استفاده خواهیم کرد.


بخش 4 - استفاده از ابزار MCP با Claude برای دسکتاپ
در این بخش، ما از ابزار MCP استفاده خواهیم کرد که در بخش 3 ساختیم. ما از Claude برای دسکتاپ برای برقراری ارتباط با ابزار استفاده خواهیم کرد.

4.1 پیکربندی Claude برای دسکتاپ
ابتدا باید Claude برای دسکتاپ را برای استفاده از سرور MCP خود پیکربندی کنیم. این شامل ایجاد یک فایل پیکربندی JSON است که به Claude می‌گوید کجا سرور MCP را پیدا کند. در پوشه پروژه خود (C:\Projects\demo)، یک فایل جدید به نام mcp.servers.json ایجاد کنید. سپس، از کد زیر برای اضافه کردن پیکربندی سرور Knights Tour استفاده کنید:
[
 {
   "mcpServer": "KnightsTour",
    "command": "dotnet",
    "arg": [
      "run",
      "--project",
      "C:\Projects\demo\KnightsTour\Server\KnightsTour.csproj"
    ]
 }
]
توجه: اگر قبلاً فایل mcp.servers.json را در بخش 2 ایجاد کرده‌اید، به سادگی پیکربندی سرور Knights Tour را به آن اضافه کنید.

این فایل بسیار شبیه به فایل mcp.servers.json است که در بخش 2 ساختیم. تفاوت اصلی این است که اکنون پیکربندی سرور Knights Tour را داریم.

4.2 برقراری ارتباط با ابزار
اکنون که Claude برای دسکتاپ را برای استفاده از سرور MCP خود پیکربندی کرده‌ایم، می‌توانیم از آن برای برقراری ارتباط با ابزار استفاده کنیم.
ابتدا، Claude برای دسکتاپ را باز کنید. سپس، روی دکمه "Connect MCP Server" کلیک کنید. این یک پنجره جدید باز می‌کند که در آن می‌توانید سرور MCP را که می‌خواهید به آن متصل شوید انتخاب کنید. سرور Knights Tour را انتخاب کرده و روی دکمه "Connect" کلیک کنید.
اکنون می‌توانید از ابزار SolveKnightsTour برای حل مسئله Knight's Tour استفاده کنید. برای انجام این کار، باید یک پیام به Claude ارسال کنید که شامل اطلاعات زیر باشد:
  • مختصات X مربع شروع.
  • مختصات Y مربع شروع.
  • اندازه صفحه شطرنج.

به عنوان مثال، برای حل مسئله Knight's Tour روی یک صفحه شطرنج 8x8، با شوالیه شروع از مربع (0, 0)، باید پیام زیر را به Claude ارسال کنید:
Solve the Knight's Tour puzzle starting at (0, 0) on an 8x8 board.
سپس Claude باید با دنباله حرکات پاسخ دهد. به عنوان مثال، Claude ممکن است با این پاسخ دهد:

Solution: (0, 0) -> (1, 2) -> (2, 0) -> (4, 1) -> (3, 3) -> (1, 4) -> (0, 2) -> (2, 3) -> (4, 2) -> (3, 0) -> (1, 1) -> (0, 3) -> (2, 4) -> (4, 3) -> (3, 1) -> (1, 0) -> (2, 2) -> (0, 1) -> (1, 3) -> (3, 2) -> (4, 0) -> (2, 1) -> (0, 0)
تبریک می‌گویم! شما با موفقیت از Claude برای دسکتاپ برای برقراری ارتباط با ابزار MCP خود استفاده کرده‌اید.

4.3 خلاصه
در این بخش، ما از Claude برای دسکتاپ برای برقراری ارتباط با ابزار MCP استفاده کردیم که در بخش 3 ساختیم. در بخش بعدی، نتایج آزمایش خود را با ابزار و بدون ابزار مقایسه خواهیم کرد.

بررسی نهایی
نتایج آزمایش ما به وضوح نشان می‌دهد که در این مرحله، اکثر این مدل‌ها برای حل پازل Knight's Tour به تنهایی با چالش‌هایی روبرو خواهند شد. ناگفته نماند، مسئله Knight's Tour یک نوع چالش برانگیزتر نیز دارد، جایی که هدف یافتن یک راه‌حل تور بسته است که به شوالیه اجازه می‌دهد به مربع شروع خود بازگردد.
برای اینکه هر LLM بتواند این را به طور بومی مدیریت کند، باید قابلیت‌های اجرای کد برای انجام محاسبات دقیق داشته باشد - استدلال مبتنی بر عصبی به تنهایی کافی نخواهد بود. بنابراین، ما یا می‌توانیم منتظر این اتفاق باشیم یا می‌توانیم آن را درست در اینجا و اکنون با استفاده از MCP انجام دهیم.
از یک دیدگاه گسترده‌تر، سناریوهای فراتر از مسئله پازل شوالیه را در نظر بگیرید. به عنوان توسعه‌دهنده یا مهندس داده، درک زمان و مکان استفاده از هوش مصنوعی در مقابل الگوریتم‌های کلاسیک - یا حتی بهتر، چگونگی ترکیب مؤثر آنها، همانطور که امروز با سرور Knight MCP انجام دادیم - بسیار مهم است.

نتیجه‌گیری
در این مقاله، ما یک مقاله آموزشی جامع در مورد برنامه‌نویسی و توسعه MCP ارائه دادیم. ما با بحث در مورد اصول اولیه MCP شروع کردیم و سپس به ساخت یک سرور MCP پایه و استفاده از آن با VS Code و Claude برای دسکتاپ رفتیم. ما همچنین یک ابزار MCP برای حل مسئله Knight's Tour ساختیم و نتایج آزمایش خود را با ابزار و بدون ابزار مقایسه کردیم.
نتایج آزمایش ما به وضوح نشان می‌دهد که ابزار MCP ما می‌تواند برای حل مسئله Knight's Tour مؤثر باشد. ما امیدواریم که این مقاله به شما کمک کرده باشد تا درک بهتری از MCP و چگونگی استفاده از آن برای بهبود برنامه‌های خود داشته باشید.


مشاهده مطلب اصلی