مهدی همیلی
مهدی همیلی
  • 2025/04/10
  • 2 دقیقه برای خواندن

امروز می‌خوام درباره یکی از جذاب‌ترین مفاهیم در دنیای هوش مصنوعی یعنی Model Context Protocol (MCP) صحبت کنم؛ پروتکلی که ممکنه آینده تعامل ما با Agentهای هوشمند رو به‌کلی متحول کنه.

این مقاله نه‌تنها برای آشنایی اولیه با MCP مفیده، بلکه اگر تجربه کار با آن را داشته‌اید، درک عمیق‌تری از نحوه عملکرد، کاربردها و آینده این استاندارد برایتان به ارمغان می‌آورد. در ضمن اگر در فکر ساخت یک Ai Agent اختصاصی برای کسب‌وکار یا سیستم‌تان هستید، خوندن این مقاله می‌تونه شروع خوبی باشه؛ چون تیم‌هایی مثل استک تیم می‌تونن به‌خوبی این فرآیند رو برای شما اجرا و پشتیبانی کنن.

چرا MCP حالا مطرح شده و نه در نوامبر ۲۰۲۴؟


پروتکل MCP در نوامبر ۲۰۲۴ توسط Anthropic معرفی شد اما توجه چندانی جلب نکرد. در اون زمان، هنوز دغدغه اصلی توسعه‌دهندگان، خود مدل‌های زبان بزرگ (LLM) بود نه نحوه اتصال اون‌ها به ابزارها و داده‌ها.

اما با رشد سریع AI Agents و نیاز به تعامل هوشمند با محیط بیرونی – از دیتابیس‌ها و فایل‌ها گرفته تا ایمیل‌ها و سیستم‌های مدیریت پروژه – کم‌کم همه متوجه شدند که حلقه مفقوده برای تبدیل یک مدل به یک Agent واقعی، وجود یک پروتکل برای دسترسی پویا به کانتکست و ابزارهاست. MCP دقیقاً این شکاف رو پر می‌کنه.

جالبه بدونید شرکت‌هایی مثل Replit، Sourcegraph، و Zed در مدت کوتاهی MCP رو پیاده‌سازی کردن و حالا بیش از ۱۰۰۰ سرور MCP توسط جامعه متن‌باز ساخته شده. این رشد انفجاری، MCP رو به یک استاندارد دوفاکتو در دنیای Agent های هوش مصنوعی تبدیل کرده.

MCP دقیقاً چیست و چگونه کار می‌کند؟


MCP یک استاندارد باز و مدل‌محور (Model-Agnostic) برای اتصال مدل‌های هوش مصنوعی به منابع خارجی داده و ابزارهاست. به‌جای این‌که برای هر ابزار یا API یک ادغام دستی بنویسید، می‌تونید با پیروی از این پروتکل، همه منابع رو در قالب MCP Servers به مدل معرفی کنید.

هر سرور MCP نماینده‌ی یک سرویس (مثلاً Google Drive، Slack، GitHub یا دیتابیس) است که از طریق یک API استاندارد در دسترس مدل قرار می‌گیرد. نکته جالب اینکه مدل می‌تونه خودش این سرورها رو کشف کنه و نیاز به تعریف دستی اون‌ها نیست.

مدل‌ها از طریق MCP Client به سرورها متصل می‌شن، توابع موجود رو شناسایی می‌کنن، و در صورت نیاز اون‌ها رو فراخوانی می‌کنن. این ساختار شباهت زیادی به Plug & Play داره.

قبل از MCP، چه راهکارهایی برای اتصال مدل‌ها به ابزارها وجود داشت؟

قبل از MCP، چه راهکارهایی برای اتصال مدل‌ها به ابزارها وجود داشت؟


  1. ادغام‌های دستی (Custom APIs): برای هر سرویس باید به‌صورت جداگانه کدنویسی و احراز هویت انجام می‌شد.
  2. پلاگین‌ها (مثل OpenAI Plugin): اگرچه ایده خوبی بودن اما محدود به پلتفرم‌های خاص و اغلب یک‌طرفه بودن.
  3. فریم‌ورک‌های Agent مثل LangChain: هنوز هم محبوب هستن، اما پیاده‌سازی ابزارها وقت‌گیر بود.
  4. RAG و پایگاه‌های برداری: بیشتر برای بازیابی متن کاربرد داشتن و نه اجرای عملیات.

MCP با ترکیب این رویکردها، امکان تعامل دوطرفه، کشف خودکار، و دسترسی هم‌زمان به منابع مختلف رو به مدل‌ها می‌ده.

مزایای استفاده از MCP چیست؟


  • انعطاف بالا: بدون نیاز به تعریف دستی، مدل‌ها می‌تونن با ابزارهای مختلف کار کنن.
  • مقیاس‌پذیری: افزودن ابزار جدید فقط با راه‌اندازی یک MCP Server امکان‌پذیره.
  • سازگاری با همه مدل‌ها: چه GPT باشید، چه Claude یا مدل‌های متن‌باز، می‌تونید از MCP استفاده کنید.
  • هم‌افزایی با سایر ابزارها: مثلاً می‌تونید از LangChain به عنوان چارچوب Orchestration استفاده کنید و از MCP برای تأمین ابزارها بهره ببرید.

چطور با MCP شروع کنیم؟


برای راه‌اندازی یک Agent مبتنی بر MCP به موارد زیر نیاز دارید:

  1. نصب یک MCP Server: برای ابزاری که می‌خواهید (مثلاً Slack یا Google Calendar) از سرورهای آماده یا مخازن GitHub استفاده کنید.
  2. تنظیم MCP Client: در کد یا رابط گرافیکی مدل (مثل Claude) سرور رو معرفی کنید.
  3. فعال‌سازی ابزارها: مدل حالا می‌تونه توابع در دسترس رو فراخوانی کنه.
  4. مانیتورینگ: لاگ‌های سرور رو بررسی کنید تا ببینید Agent شما چطور با ابزارها تعامل داره.

اگر به‌دنبال یک پیاده‌سازی واقعی هستید، می‌تونید با کمک تیم‌هایی مثل استک تیم یک MVP از Agent اختصاصی خودتون رو بسازید که از MCP برای تعامل با منابع مختلف استفاده کنه – از فایل‌های داخلی گرفته تا سیستم‌های ابری.

✅ مثال واقعی از MCP:


خب اجازه بدید اول یه مثال عملی از Model Context Protocol (MCP) بزنم، بعدش یه نمونه کد ساده به زبان Golang ارائه می‌دم.

فرض کن یک هوش مصنوعی مثل ChatGPT به تو دو تا کار سپرده:

  1. یک تسک با عنوان "پیگیری ایمیل مشتری" در Todoist اضافه کن.
  2. یک ایمیل با محتوای خاص از طریق Gmail API ارسال کن.

در حالت معمول، مدل فقط متنی پاسخ می‌ده. اما با MCP، مدل می‌تونه مستقیماً به ابزار واقعی وصل بشه و این کارها رو انجام بده، چون context، function ها و schema اون‌ها رو داره.

MCP کمک می‌کنه مدل بفهمه که برای انجام این دستور، چه function هایی روی چه ابزارهایی قابل فراخوانی هست و خروجی اون‌ها چیه.

🧠 ساختار ساده MCP:

فرض کن یک ابزار به نام todo_service داریم که یک تابع داره به اسم createTask.

مدل ابتدا از طریق MCP می‌فهمه:

  • این ابزار هست.
  • این تابع هست.
  • این input schema و output schema هست.

حالا بریم سراغ یه نمونه کد ساده توی Golang:

📦 نمونه ساده Golang از استفاده از MCP-style handler:

package main

import (
	"encoding/json"
	"fmt"
	"net/http"
)

// ساختار MCP-style برای ورودی تابع createTask
type CreateTaskInput struct {
	Title string `json:"title"`
	Due   string `json:"due"`
}

// خروجی تابع
type CreateTaskOutput struct {
	ID string `json:"id"`
}

// تابعی شبیه به MCP agent handler
func createTaskHandler(w http.ResponseWriter, r *http.Request) {
	var input CreateTaskInput

	// تبدیل JSON به ساختار ورودی
	err := json.NewDecoder(r.Body).Decode(&input)
	if err != nil {
		http.Error(w, "Invalid input", http.StatusBadRequest)
		return
	}

	// شبیه‌سازی ایجاد تسک (در واقعیت می‌تونه API کال باشه)
	output := CreateTaskOutput{
		ID: "task_" + input.Title, // شبیه‌سازی ID
	}

	// پاسخ به مدل
	w.Header().Set("Content-Type", "application/json")
	json.NewEncoder(w).Encode(output)
}

func main() {
	http.HandleFunc("/mcp/tools/todo_service/createTask", createTaskHandler)

	fmt.Println("MCP tool server is running on port 8080...")
	http.ListenAndServe(":8080", nil)
}
📌 توضیح کد

  • مدل (مثل ChatGPT) می‌دونه که /mcp/tools/todo_service/createTask یک API endpoint از ابزار todo_service هست.
  • ورودی مشخصه (title, due).
  • خروجی مشخصه (id).
  • مدل می‌تونه مستقیماً با این endpoint تعامل داشته باشه (با واسطه‌ی MCP) و کار رو انجام بده.

آیا MCP گلوله نقره‌ای است؟


قطعا نه! MCP هم چالش‌های خاص خودشو داره:

  • پیاده‌سازی اولیه ممکنه پیچیده باشه.
  • مدیریت سرورهای مختلف MCP در محیط‌های تولیدی نیاز به برنامه‌ریزی دقیق داره.
  • مدل‌ها همیشه بهترین تصمیم رو در استفاده از ابزارها نمی‌گیرن.
  • امنیت و احراز هویت نیاز به زیرساخت داره.

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


MCP در معماری Agent های مستقل

در طراحی یک Agent کامل، شما نیاز به بلوک‌هایی مثل حافظه، دانش، هویت، منطق تصمیم‌گیری، و ابزار اجرا دارید. MCP در این معماری، نقش «بازوی عملیاتی» رو ایفا می‌کنه – یعنی همون چیزی که باعث میشه Agent شما فقط حرف نزنه، بلکه عمل کنه.

برای مثال، با کمک MCP Agent می‌تونه:

  • جلسه‌ای رو در Google Calendar تنظیم کنه
  • فایلی از Slack برداره و ویرایش کنه
  • یک رکورد در دیتابیس اضافه کنه
  • حتی اطلاعاتی از یک وب‌سایت زنده استخراج کنه

همه این‌ها بدون نیاز به تغییر کد Agent و فقط از طریق MCP امکان‌پذیر شده.

منابع بیشتر برای یادگیری MCP:


جمع‌بندی


Model Context Protocol نه‌فقط یک نوآوری فنی، بلکه یک تغییر پارادایم در طراحی Agent های هوش مصنوعی است. MCP، مدل‌ها را از انزوای اطلاعاتی خارج کرده و به آن‌ها امکان می‌دهد در دنیای واقعی زندگی کنند، تعامل داشته باشند، و تصمیم بگیرند.

اگر در فکر ساخت یک سیستم هوشمند هستید که واقعاً کار کند – نه فقط جواب بده – MCP می‌تونه ابزار اصلی شما باشه. و اگر نمی‌دونید از کجا شروع کنید، استک تیم اینجاست تا با تکیه بر تجربه توسعه Agent های مبتنی بر MCP، مسیر شما رو هموار کنه.

🎯 اگر به دنبال توسعه زیرساخت نرم‌افزار و یا توسعه یک Ai Agent برای خود با کیفیتی حرفه‌ای و همکاری تیمی واقعی هستید، همین حالا به استک تیم سر بزن و جلسه مشاوره تخصصی رزرو کن.

شماره تماس های سریع ما، تماس و واتساپ :

📞 ایران :‌ 09120186223📞 دبی : +971581554476

مهدی همیلی
مهدی همیلی
Co-funder at Stackteam

من مهدی همیلی هستم؛ برنامه‌نویس و عاشق ساختن چیزهایی که واقعاً کار می‌کنن! سال‌هاست توی دنیای کدنویسی می‌چرخم و با زبان‌هایی مثل PHP، Go و JavaScript کلی پروژه ساختم. به‌عنوان Co-founder استک تیم، تمرکزم روی ساخت تیم‌های فنی منسجم و چابکه که بتونن پروژه‌های پیچیده رو سریع و دقیق جلو ببرن. معتقدم کد خوب فقط یه سری خط نیست؛ یه راه حله برای خلق آینده.

Dubai/UAE

آخرین مقالات

معرفی MCP (Model Context Protocol): انقلابی در اتصال مدل‌های هوش مصنوعی به دنیای واقعی
  • 10 April 2025
  • 2 min read
پیاده‌سازی CI/CD برای Laravel و Lumen با Github Actions در هاست اشتراکی cPanel (بدون SSH
  • 10 April 2025
  • 2 min read
راهنمای جامع راه‌اندازی استارتاپ SaaS در سال ۲۰۲۵: ۱۰ ایده نوآورانه با پتانسیل بالا
  • 08 April 2025
  • 1 min read
راهنمای کامل Twitter Meta Tags برای توسعه‌دهندگان وب
  • 08 April 2025
  • 1 min read
راهنمای کامل Open Graph برای توسعه‌دهندگان وب
  • 08 April 2025
  • 1 min read
Contact Information

Theodore Lowe, Ap #867-859
Sit Rd, Azusa New York

We're Available 24/7. Call Now. (888) 456-2790 (121) 255-53333
Find us here