تصور کنید از Claude بخواهید آخرین Issueهای گیتهاب پروژه شما را بخواند و یک گزارش وضعیت تولید کند. یا از ChatGPT بخواهید قرار بعدی شما را در Google Calendar ثبت کند. چنین کارهایی بهتنهایی بر عهده مدلهای زبانی نیستند. این مدلها صرفاً متن تولید میکنند و به ابزارها و دادههای بیرونی دسترسی مستقیم ندارند. اما تصور کنید بتوانید به کمک یک فناوری دیگر، کاری کنید که مدلهای زبانی بتوانند فایلها را بخوانند، به سرویسهای مختلف متصل شوند، اطلاعات لحظهای دریافت کنند و حتی کارهای واقعی انجام دهند. جذاب است، مگر نه؟
MCP یا Model Context Protocol همین کار را انجام میدهد. در ادامه میخواهیم با این استاندارد نوین آشنا شویم، ببینیم چگونه مدلهای زبانی را به دنیای واقعی متصل میکند و چطور میتوان یک MCP Server را ساخت و آن را روی سرور چابکان مستقر کرد.

MCP چیست؟ تعریف و ضرورت وجودی پروتکل زمینه مدل
MCP (Model Context Protocol) یک استاندارد بسیار مهم در دنیای Agentic AI است که مدلهای زبانی بزرگ (LLM) را به سرویسها، ابزارها و منابع داده بیرونی متصل میکند.
این استاندارد که در نوامبر ۲۰۲۴ توسط شرکت Anthropic معرفی شد، قابلیتهای جدیدی به هوش مصنوعی اضافه میکند و به آن اجازه میدهد فراتر از تولید متن عمل کند.
برای مثال، اولین ویژگی مهم MCP این است که باعث میشود هوش مصنوعی بتواند اطلاعات بهروز دریافت کند، به ابزارهای مختلف متصل شود و حتی عملیاتهای واقعی را خودش انجام دهد. این یعنی مدلهای زبانی بزرگ میتوانند از محدودیت دادههای آموزشی خود فراتر بروند و با دنیای واقعی تعامل داشته باشند.
برای اینکه بهتر متوجه شوید، میتوانید MCP را مانند USB-C دنیای هوش مصنوعی در نظر بگیرید. تا پیش از این، هر هوش مصنوعی کابل و اتصال مخصوص به خود را داشت و برای ارتباط با هر ابزار به پیادهسازی جداگانه نیاز بود. اما امروزه همه آنها میتوانند از یک استاندارد مشترک برای متصل شدن به ابزارها و منابع داده استفاده کنند.
- اگر میخواهید بیشتر با مدلهای زبانی بزرگ و نحوه عملکرد آنها آشنا شوید، میتوانید مطلب «مدلهای زبانی بزرگ (LLM) چیست؟» را مطالعه کنید.

چرا MCP اهمیت دارد؟ از مسئله N×M تا راهحل استاندارد
اگر N مدل زبانی و M ابزار داشته باشید، بدون MCP تعداد اتصالهای مورد نیاز برابر است با:
N × M
یعنی اگر ۵ مدل زبانی و ۱۰ ابزار مختلف مانند گیتهاب، تقویم گوگل، دیتابیس و سیستم ایمیل داشته باشید، باید ۵۰ اتصال و یکپارچهسازی جداگانه ایجاد و نگهداری کنید. هر بار که ابزار جدیدی به سیستم اضافه شود یا یکی از مدلها تغییر کند، بخشی از این اتصالها باید دوباره توسعه یا بهروزرسانی شوند. در مقیاس بزرگ، این موضوع به یک کابوس عملیاتی تبدیل میشود.
اما با MCP، این پیچیدگی به:
N + M
کاهش پیدا میکند. در همان مثال، تنها به ۱۵ اتصال نیاز خواهید داشت؛ یعنی هر مدل فقط یک بار با پروتکل MCP ارتباط برقرار میکند و هر ابزار نیز تنها یک بار به MCP متصل میشود. این کاهش چشمگیر پیچیدگی، دلیل اصلی اهمیت MCP است.
اما مزایای MCP به این موضوع محدود نمیشود و این پروتکل مزایای دیگری نیز دارد.
مزایای MCP:
- استانداردسازی ارتباط با ابزارها
- کاهش هزینه توسعه
- افزایش مقیاسپذیری
- سهولت نگهداری
- قابلیت استفاده مجدد
- کشف خودکار قابلیتهای ابزارها
تفاوت MCP با APIهای معمولی
در جدول زیر میتوانید بهصورت خلاصه تفاوتهای MCP و APIهای سنتی را مشاهده کنید:
|
ویژگی |
API سنتی |
MCP |
|
نحوه اتصال |
پیادهسازی اختصاصی |
استاندارد واحد |
|
کشف قابلیتها |
ایستا |
پویا |
|
نوع ارتباط |
Request/Response |
دوسویه |
|
مصرفکننده |
انسان و اپلیکیشن |
مدلهای زبانی |
|
مقیاسپذیری |
N×M |
N+M |
|
پروتکل ارتباطی |
REST، GraphQL |
JSON-RPC |
تفاوت چیست؟
APIها برای توسعهدهندگان طراحی شدهاند. یعنی برنامهنویس باید بهصورت دستی نحوه استفاده از آنها را در کد پیادهسازی کند. اما MCP برای مدلهای زبانی ساخته شده است؛ یعنی هوش مصنوعی میتواند بهصورت خودکار قابلیتهای آنها را شناسایی کرده و بدون نیاز به اتصال اختصاصی با آنها کار کند.
- اگر با معماری APIها کار میکنید و میخواهید بیشتر با مدیریت و یکپارچهسازی سرویسها آشنا شوید، مطالعه مطلب «API Gateway چیست؟ به زبان ساده!» میتواند دید بهتری درباره تفاوت APIهای سنتی و استانداردهایی مانند MCP به شما بدهد.

معماری MCP: شناخت کامل Host، Client و Server
MCP از یک معماری Client-Server استفاده میکند که سه جزء اصلی دارد و بسیار ساختاریافته است. این سه بخش شامل Host، Client و Server هستند که هرکدام وظیفه مشخصی در برقراری ارتباط بین هوش مصنوعی و ابزارهای بیرونی بر عهده دارند.
برای درک بهتر، تصور کنید از Claude میخواهید وضعیت پروژهتان در GitHub را بررسی کند. در این سناریو، هر یک از این سه بخش وظیفه مشخصی دارند.
۱. Host
Host برنامهای است که مدل هوش مصنوعی یا عامل (Agent) در آن اجرا میشود. به بیان ساده، Host همان محیطی است که شما با آن کار میکنید و درخواست خود را در آن وارد میکنید.
چند نمونه از Hostها:
- Claude Desktop
- VS Code
- Cursor
- اپلیکیشنهای وب
وظایف اصلی Host شامل موارد زیر میشوند:
- اجرای Agent یا مدل هوش مصنوعی
- مدیریت ارتباطات
- ارائه رابط کاربری به کاربر
۲. Client
Client درون Host اجرا میشود و نقش واسطه بین مدل و سرور را دارد. هر زمان که مدل به اطلاعات یا ابزاری نیاز داشته باشد، Client درخواست را به سرور ارسال میکند و پاسخ را برمیگرداند.
وظایف Client شامل موارد زیر است:
- برقراری ارتباط با Server
- ارسال درخواست
- دریافت پاسخ
- مدیریت وضعیت اتصال
هر Client تنها به یک MCP Server متصل میشود، اما یک Host میتواند چندین Client داشته باشد و همزمان به چند سرور مختلف متصل شود.
۳. Server
Server بخشی است که دادهها و قابلیتهای موردنیاز مدل را فراهم میکند. این سرور میتواند به APIها، پایگاههای داده، فایلها و سرویسهای مختلف متصل شود و اطلاعات یا ابزارهای آنها را در اختیار هوش مصنوعی قرار دهد. برای مثال، میتوان سرورهایی برای اتصال به GitHub، Google Calendar، دیتابیس شرکت یا فایلسیستم داشت. هر زمان که مدل به اطلاعات یا انجام یک کار نیاز داشته باشد، درخواست از طریق MCP Server به سرویس یا منبع داده مربوطه ارسال میشود و نتیجه به مدل بازمیگردد.
لایه انتقال (Transport): تفاوت stdio و Streamable HTTP
MCP برای برقراری ارتباط بین Client و Server از دو روش اصلی استفاده میکند:
۱. stdio؛ مناسب توسعه و آزمایش
در روش stdio، کلاینت و سرور روی یک دستگاه اجرا میشوند و از طریق ورودی و خروجی استاندارد سیستمعامل با یکدیگر ارتباط برقرار میکنند. این روش برای توسعه، تست و دیباگ بسیار مناسب است؛ زیرا راهاندازی سادهای دارد، سریع است و به هیچ زیرساخت شبکهای نیاز ندارد. برای مثال، اگر یک MCP Server را روی لپتاپ خود اجرا کنید و آن را به Claude Desktop متصل کنید، از stdio استفاده کردهاید.
۲. Streamable HTTP؛ مناسب محیط واقعی و Production
وقتی میخواهید MCP Server را بهصورت آنلاین در اختیار کاربران یا اعضای تیم قرار دهید، باید از Streamable HTTP استفاده کنید. این روش از طریق اینترنت کار میکند، امکان اتصال همزمان چندین Client را فراهم میکند، از HTTPS پشتیبانی میکند و مقیاسپذیری بیشتری دارد. برای مثال، اگر MCP Server خود را روی یک زیرساخت ابری مانند چابکان مستقر کنید تا از هر نقطهای قابل دسترس باشد، از Streamable HTTP استفاده میکنید.
بهطور خلاصه:
|
روش انتقال |
مناسب برای |
|
stdio |
توسعه، تست و دیباگ |
|
Streamable HTTP |
محیط Production و استقرار راهدور |
اگر قصد ساخت یک MCP Server واقعی را دارید، دیر یا زود باید به سراغ Streamable HTTP و یک زیرساخت پایدار برای میزبانی آن بروید.

کاربردهای MCP در دنیای هوش مصنوعی
توانایی اتصال هوش مصنوعی به ابزارها، دادهها و سرویسهای خارجی باعث شده است MCP به یکی از مهمترین فناوریها برای ساخت عاملهای هوشمند و سیستمهای AI مدرن تبدیل شود.
رایجترین کاربردها:
- میتوانید با MCP یک دستیار شخصی بسازید که به Google Calendar، Gmail و Notion متصل شود و قرارها، یادآورها و کارهای روزانه را مدیریت کند.
- میتوانید با آن طراحیهای Figma را بهصورت خودکار به کد فرانتاند، بکاند و فایلهای پروژه تبدیل کنید.
- میتوانید به پایگاههای داده متصل شوید و با پرسیدن سؤال به زبان طبیعی، گزارشها و تحلیلهای موردنیاز را دریافت کنید.
- میتوانید فرایند پشتیبانی مشتری را خودکار کنید تا هوش مصنوعی تیکتها را بررسی کند، پاسخ بنویسد و ایمیل ارسال کند.
- میتوانید عاملهای هوشمندی بسازید که طراحی سهبعدی ایجاد کنند، فایلهای CAD بسازند و حتی تجهیزات تولید یا چاپ سهبعدی را کنترل کنند.
یکی از نمونههای واقعی استفاده از MCP در برنامهنویسی، Claude Code است. اگر میخواهید بیشتر با این ابزار و قابلیتهای آن آشنا شوید، مطلب «Claude Code چیست؟ انقلابی در ترمینال و دستیار هوشمند برنامهنویسها» را بخوانید.
چگونه یک MCP Server بسازیم؟ راهنمای عملی گامبهگام
تا اینجا با مفاهیم نظری MCP آشنا شدیم. حالا زمان آن رسیده است که یک MCP Server واقعی بسازیم تا بهتر درک کنیم این پروتکل چگونه کار میکند.
در این مثال، یک سرور ساده با Python میسازیم که یک ابزار (Tool) برای تکرار متن (Echo) در اختیار مدل قرار میدهد.
پیشنیازها
پیش از شروع، به موارد زیر نیاز دارید:
- Python 3.10 یا بالاتر
- آشنایی اولیه با ترمینال
- آشنایی پایه با Python
- Claude Desktop یا MCP Inspector برای تست (اختیاری)
مرحله اول: نصب MCP SDK
ابتدا کتابخانه رسمی MCP را نصب کنید:
pip install mcp
سپس از نصب صحیح آن مطمئن شوید:
pip show mcp
مرحله دوم: ایجاد ساختار پروژه
یک ساختار ساده برای پروژه کافی است:
mcp-server/
├── server.py
├── requirements.txt
└── README.md
مرحله سوم: ایجاد یک Tool ساده
فایل server.py را ایجاد کرده و کد زیر را در آن قرار دهید:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP(“Demo Server”)
@mcp.tool()
def echo(message: str) -> str:
return f”You said: {message}”
if __name__ == “__main__”:
mcp.run()
در این مثال، یک MCP Server ساختهایم و با استفاده از دکوراتور @mcp.tool() ابزاری به نام echo تعریف کردهایم. هر زمان مدل متنی به این Tool ارسال کند، همان متن را بهعنوان پاسخ دریافت میکند.
در این کد:
- FastMCP چارچوبی ساده برای ساخت MCP Server است.
- @mcp.tool() تابع موردنظر را به یک Tool قابل استفاده برای مدل تبدیل میکند.
- mcp.run() سرور را اجرا کرده و منتظر درخواستهای ورودی میماند.
مرحله چهارم: اجرای سرور
اکنون میتوانید سرور را اجرا کنید:
python server.py
در این مرحله، سرور شما با استفاده از stdio اجرا میشود و آماده دریافت درخواست است.
مرحله پنجم: تست با MCP Inspector
برای بررسی عملکرد سرور، میتوانید از MCP Inspector استفاده کنید. این ابزار به شما امکان میدهد Toolهای موجود را مشاهده کنید، درخواست بفرستید، خروجیها را بررسی کنید و خطاها را راحتتر پیدا کنید. به همین دلیل، MCP Inspector یکی از بهترین ابزارها برای توسعه و دیباگ سرورهای MCP محسوب میشود.
اتصال به Claude Desktop
اگر از Claude Desktop استفاده میکنید، میتوانید سرور خود را با اضافه کردن تنظیمات زیر به فایل پیکربندی متصل کنید:
نمونهای از فایل پیکربندی:
{
“mcpServers”: {
“demo-server”: {
“command”: “python”,
“args”: [“server.py”]
}
}
}
پس از راهاندازی، Claude بهطور خودکار Tool شما را شناسایی میکند و میتواند از آن استفاده کند.
یک نکته مهم!!
سروری که در این بخش ساختیم برای یادگیری و آزمایش کاملاً مناسب است، اما برای استفاده واقعی گزینه ایدهآلی نیست. این سرور روی لپتاپ شما اجرا میشود، همیشه آنلاین نیست، امکان مقیاسپذیری محدودی دارد و از بیرون شبکه نیز قابل دسترس نیست.
به همین دلیل، اگر بخواهید MCP Server شما در اختیار تیم قرار بگیرد، باید آن را بهصورت Remote روی یک زیرساخت پایدار مستقر کنید؛ جایی که چالشهای واقعی آغاز میشوند.

چالش واقعی بعد از ساخت: چرا میزبانی و استقرار MCP Server مهم است؟
بسیاری از توسعهدهندگان تصور میکنند پس از نوشتن کد، کار تمام شده است. اما در عمل، ساخت MCP Server تنها نیمی از مسیر است؛ چون هنوز باید آن را امن و مقیاسپذیر اجرا کنید. ممکن است تعداد کاربران یا درخواستها افزایش پیدا کند و شما ندانید آیا سرور پاسخگوی این حجم از ترافیک خواهد بود یا خیر.
همچنین باید در نظر داشته باشید که عاملهای هوش مصنوعی معمولاً بهصورت ۲۴ ساعته با MCP Server در ارتباط هستند. از کار افتادن سرور میتواند باعث توقف Agentها، از دسترس خارج شدن ابزارها و حتی اختلال در فرایندهای کسبوکار شود. به همین دلیل، سرور باید همیشه در دسترس باشد و بهصورت مداوم از نظر عملکرد، مصرف منابع و خطاها پایش شود.
علاوه بر این، مواردی مانند مدیریت SSL، راهاندازی HTTPS، استقرار نسخههای جدید، مقیاسپذیری، مانیتورینگ و مدیریت منابع نیز به مسئولیتهای شما اضافه میشوند؛ کارهایی که زمان و انرژی زیادی از تیم توسعه میگیرند.
حالا این همه مسئله را چگونه میتوان حل کرد تا بیشترین استفاده را از قابلیتهای MCP ببریم؟ پاسخ در انتخاب یک زیرساخت مناسب است.
وقتی MCP Server شما از حالت تستی و لوکال خارج میشود و باید بهصورت دائمی در دسترس Clientهای مختلف باشد، مدیریت سرور، SSL و مقیاسپذیری نباید دغدغه اصلی شما باشد.
برای همین است که ما در چابکان با شعار «زیرساخت کنار میرود، خلاقیت جلو میآید» تلاش میکنیم پیچیدگیهای زیرساخت را از دوش توسعهدهندگان برداریم تا آنها بتوانند روی ساخت Agentها و محصولات هوشمند خود تمرکز کنند.
بدون هزینه اولیه، با اعتبار رایگان سرویس را آزمایش کنید.
- اگر میخواهید بیشتر با پلتفرمهایی آشنا شوید که پیچیدگی مدیریت زیرساخت را از دوش توسعهدهندگان برمیدارند، پیشنهاد میکنیم مطلب «PaaS چیست؟ هر آنچه توسعهدهندگان باید درباره Platform as a Service بدانند» را نیز مطالعه کنید.
مراحل استقرار روی چابکان؛ 5 قدم ساده!
استقرار MCP Server روی چابکان تنها در چند مرحله انجام میشود. کافی است مخزن GitHub پروژه خود را متصل و Auto Deploy را فعال کنید. از این لحظه، با هر git push نسخه جدید برنامه بهصورت خودکار مستقر میشود.
چابکان مدیریت SSL، دامنه و تنظیمات HTTPS را نیز بهصورت خودکار انجام میدهد و از طریق داشبورد، امکان مشاهده مصرف منابع، وضعیت برنامه، خطاها و عملکرد سرور را در اختیار شما قرار میدهد.
برای راهاندازی MCP Server خود، کافی است این پنج قدم را طی کنید:
- ایجاد پروژه در چابکان و انتخاب نوع سرویس موردنیاز.
- اتصال مخزن GitHub و انتخاب شاخه (Branch) موردنظر برای استقرار.
- تنظیم متغیرهای محیطی و تنظیمات اجرا مانند پورت، نسخه Python یا کلیدهای API.
- فعالسازی Auto Deploy تا هر تغییر جدید با یک git push بهصورت خودکار منتشر شود.
- پایش و مدیریت سرویس از داشبورد و مشاهده وضعیت برنامه، لاگها، مصرف منابع و عملکرد سرور.

جمعبندی: از یادگیری MCP تا ساخت محصول واقعی
در این مقاله دیدیم که MCP چیست، چه مشکلی را حل میکند و معماری Host، Client و Server چگونه کار میکند. همچنین با تفاوت MCP و APIهای سنتی، نحوه ساخت یک MCP Server و اهمیت میزبانی و استقرار آن آشنا شدیم.
MCP بهسرعت در حال تبدیل شدن به یکی از مهمترین استانداردهای دنیای Agentic AI است. هرچه مدلهای زبانی هوشمندتر میشوند، نیاز آنها به ارتباط با ابزارها، دادهها و سرویسهای واقعی نیز بیشتر خواهد شد. به همین دلیل، توسعهدهندگانی که امروز ساخت و استقرار MCP Server را یاد میگیرند، فردا در خط مقدم تحول صنعت نرمافزار و هوش مصنوعی قرار خواهند داشت.
ما در چابکان با درک این نیاز، تلاش کردهایم زیرساختی فراهم کنیم که توسعهدهندگان بتوانند بهجای درگیر شدن با مدیریت سرور، SSL، استقرار و مقیاسپذیری، روی ساخت محصولات هوشمند خود تمرکز کنند.
با استقرار خودکار از طریق GitHub، زیرساخت مقیاسپذیر، پشتیبانی از فریمورکهای مختلف، مانیتورینگ ساده و اعتبار رایگان برای شروع، میتوانید اولین MCP Server خود را در چند دقیقه راهاندازی و به یک سرویس واقعی و همیشهدردسترس تبدیل کنید.
آینده هوش مصنوعی به عاملهایی تعلق دارد که میتوانند با دنیای واقعی تعامل کنند؛ شاید زمان آن رسیده باشد که MCP Server خود را بسازید و آن را روی زیرساختی اجرا کنید که برای رشد همراه شما طراحی شده است.
سوالات متداول (FAQ)
1. آیا MCP جایگزین API است؟
خیر. MCP جایگزین API نیست، بلکه یک لایه استاندارد روی APIها ایجاد میکند تا مدلهای زبانی بتوانند بهصورت یکپارچه با آنها ارتباط برقرار کنند.
2. آیا MCP فقط برای Claude است؟
خیر. اگرچه Anthropic این پروتکل را معرفی کرده است، اما MCP یک استاندارد متنباز است و توسط ابزارها و پلتفرمهای مختلف پشتیبانی میشود.
3. تفاوت MCP و Function Calling چیست؟
Function Calling محدود به یک مدل یا سرویس خاص است، اما MCP یک استاندارد باز و قابلاستفاده بین ابزارها و مدلهای مختلف محسوب میشود.
4. آیا میتوان MCP Server را روی VPS اجرا کرد؟
بله. میتوانید آن را روی VPS، سرور ابری یا پلتفرمهای PaaS اجرا کنید. بااینحال، مدیریت مقیاسپذیری، SSL و استقرار خودکار بر عهده شما خواهد بود.
5. برای ساخت MCP Server از چه زبانهایی میتوان استفاده کرد؟
Python، TypeScript، Java، Go و بسیاری از زبانهای دیگر قابلیت ساخت MCP Server را دارند.
6. آیا MCP امن است؟
در صورت استفاده از HTTPS، احراز هویت مناسب و مدیریت مجوزها، MCP میتواند بستری امن برای ارتباط مدلهای زبانی با ابزارها و منابع داده باشد.