پروتکل زمینه مدل (MCP) از زمانی که آنتروپیک برای اولین بار آن را در نوامبر ۲۰۲۴ منتشر کرد، توجه زیادی را به خود جلب کرده است. MCP که به عنوان راهی برای گسترش عملکرد ابزارهای هوش مصنوعی مانند مدلهای زبانی بزرگ (LLMها) طراحی شده، یک پروتکل منبعباز است که به عوامل هوش مصنوعی اجازه میدهد تا با منابع و دادههای خارجی ارتباط برقرار کنند. اگر هوش مصنوعی را یک گوشی هوشمند در نظر بگیریم، سرورهای MCP مانند اپلیکیشنها خواهند بود.
امپیسی (MPC) را میتوان به دو بخش اصلی تقسیم کرد: برنامه میزبان و یک سرور MCP. برنامه میزبان میتواند یک ابزار هوش مصنوعی محلی باشد، مانند Cursor یا Claude Desktop. سرورهای MCP منابع خارجی هستند که عملکرد خاصی را انجام میدهند. بهترین بخش این است که پس از ایجاد یک سرور MCP، هر تعداد ابزار خارجی یا عامل هوش مصنوعی میتواند به آن متصل شود.
با محبوبیت سریع MCP، ابزارهای جدیدی برای ایجاد سرور MCP خودتان به سرعت ظاهر شدهاند. بسیاری از این ابزارها راهحلهای آمادهای برای تبدیل APIها به سرورهای MCP ارائه میدهند، مانند MCP Link از Automation AI Lab، اما بیشتر کارها را برای شما انجام میدهند و این امر قابلیت استفاده در ایجاد سرورهای MCP خودتان را محدود میکند.
در این آموزش، به شما نشان خواهیم داد که چگونه یک سرور MCP را از یک مشخصات OpenAPI بسازید و سپس آن را در یک LLM ادغام کنید. ما از Cursor و APIDog استفاده خواهیم کرد، اما میتوانید از هر ابزار هوش مصنوعی که به شما اجازه سفارشیسازی سرورهایش را میدهد، استفاده کنید.
چگونه یک API را به یک سرور MCP تبدیل کنیم
بیایید با آمادهسازی برای پروژهمان شروع کنیم. ابتدا APIDog را دانلود کنید، ابزاری برای مدیریت و آزمایش APIها. ما از آن برای ایجاد کلید API و توکن استفاده خواهیم کرد. همچنین باید Cursor را دانلود کنید، یک IDE مجهز به هوش مصنوعی، که از آن برای ایجاد سرور MCP استفاده خواهیم کرد.
ایجاد یک توکن دسترسی API با APIDog
برای شروع، یک پوشه جدید برای پروژهتان ایجاد کنید. ما پوشهمان را mcp-server مینامیم، اما میتوانید هر نامی که دوست دارید انتخاب کنید. به دایرکتوری جدید بروید. پس از ورود به دایرکتوری، یک محیط مجازی ایجاد کنید، زیرا این کار کمک میکند تا اطمینان حاصل شود که تمام کتابخانهها و وابستگیهای شما بهروز هستند. با اجرای کد زیر محیط مجازی را ایجاد کنید:
python -m venv myenvسپس اسکریپت را با اجرای کد زیر در یک خط فرمان فعال کنید، اگر از ویندوز استفاده میکنید، یا ترمینال اگر از Mac OSX استفاده میکنید:
myenv\Scripts\activateدر ادامه، یک API برای پروژهمان با استفاده از APIDog ایجاد خواهیم کرد. اولین گام در APIDog ایجاد یک توکن دسترسی API جدید است. برای ایجاد توکن دسترسی API، روی تصویر پروفایل خود در گوشه بالا سمت راست ماوس را نگه دارید و سپس از منوی کشویی گزینه Account Settings را انتخاب کنید. سپس گزینه New Access Token را انتخاب کنید. از شما خواسته میشود که توکن دسترسی خود را نامگذاری کنید، که میتوانید هر نامی که دوست دارید انتخاب کنید. همچنین میتوانید مشخص کنید که توکن دسترسی تا چه مدت فعال بماند. پس از تولید توکن دسترسی، کلید مخفی را یادداشت کنید، زیرا برای پیکربندی سرور MCP به آن نیاز خواهید داشت. مطمئن شوید که یک کپی از کلید مخفی را در جایی امن نگه دارید، زیرا پس از مخفی شدن دیگر نمیتوانید آن را ببینید.
در منوی اصلی APIDog، دکمه +New Project را در گوشه بالا سمت راست پیدا کنید. به پروژهتان نامی بدهید و روی Create New Project کلیک کنید. ما پروژهمان را mcp-server نامیدهایم، اما میتوانید هر نامی که دوست دارید انتخاب کنید. پس از ایجاد پروژه، شناسه پروژه (Project ID) را یادداشت کنید، زیرا برای پیکربندی سرور MCP به آن نیاز خواهید داشت.
پیکربندی سرور MCP در Cursor
حالا به Cursor سوئیچ میکنیم تا سرور MCP خود را ایجاد کنیم. با باز کردن پوشه توسعهتان با استفاده از گزینه Open Folder از منوی File شروع کنید. این کار کاملاً ضروری نیست، زیرا میتوانید یک سرور MCP جهانی نیز ایجاد کنید. با این حال، ایده خوبی است، زیرا به شما تمرین در پیادهسازی سرورهای MCP مختلف برای پروژههای خاص میدهد.
پس از باز شدن پوشه توسعهتان، گزینه Settings را از گوشه بالا سمت راست انتخاب کنید. در منوی Settings، گزینه MCP را انتخاب کنید. در پنجره جدید MCP Servers، دکمه + Add new global MCP server را انتخاب کنید. به شما دسترسی به MCP.json داده میشود، که میتوانید آن را برای راهاندازی سرور MCP پیکربندی کنید. در MCP.json، کد زیر را وارد کنید:
{
"mcpServers": {
"API specification": {
"command": "npx",
"args": [
"-y",
"apidog-mcp-server@latest",
"--project=<project-id>"
],
"env": {
"APIDOG_ACCESS_TOKEN": "<access-token>"
}
}
}
}
حالا <project-id> و <access-token> را با شماره پروژه و کلید مخفی که قبلاً یادداشت کردهاید جایگزین کنید. پس از جایگزینی مقادیر، از منوی کشویی File گزینه Save را انتخاب کنید.
تعامل با مشخصات API شما
سرور MCP شما حالا باید به درستی کار کند. این به شما اجازه میدهد تا با مشخصات API خود با استفاده از LLM داخلی Cursor تعامل داشته باشید. برای دیدن این در عمل، به یک مشخصات API برای کاوش نیاز دارید. برای این آموزش، از فایل ساده Petstore YAML استفاده خواهیم کرد، اما میتوانید آن را با مشخصات API خودتان امتحان کنید تا ایدهای از نحوه کار یک سرور MCP با APIهای خودتان به دست آورید.
در Cursor، اگر پنل هوش مصنوعی جمع شده است، آن را با انتخاب یکی از آیکونهای Toggle AI Panel از گوشه بالا سمت راست باز کنید. پس از باز شدن پنجره چت، میتوانید با هوش مصنوعی درباره مشخصات API خود با زبان طبیعی تعامل داشته باشید. برای امتحان کردن، میتوانید از پرامپتی مانند «لطفاً مشخصات API را از طریق MCP دریافت کنید و به من بگویید چند نقطه پایانی در پروژه وجود دارد» استفاده کنید.
هوش مصنوعی Cursor باید با اطلاعاتی درباره تمام نقاط پایانی ذکر شده در مشخصات API پاسخ دهد، از جمله اطلاعاتی درباره روش HTTP هر نقطه پایانی. اگر میخواهید نقاط پایانی API خود را به عنوان ابزارهای MCP در مرورگرتان امتحان کنید، ابتدا APIDOG_ACCESS_TOKEN را به عنوان متغیر محیطی خود با استفاده از دستور زیر تنظیم کنید:
set APIDOG_ACCESS_TOKEN=<ACCESS-TOKEN>
سپس سرور را با دستور زیر راهاندازی کنید:
npx -y apidog-mcp-server@latest --project=<project-id> --agent
پرچم –agent، Cursor را در حالت Agent راهاندازی میکند، که به آن اجازه میدهد وظایف کدنویسی را اجرا کند و تغییرات را مستقیماً در کد اعمال کند.
اگر از Petstore YAML استفاده میکنید، باید ابزارهای MCP برای listPets، ابزاری که از نقطه پایانی GET /pets ایجاد شده، createPet، ابزاری از نقطه پایانی POST /pets، و getPetbyID، ابزاری که از نقطه پایانی GET /pets/{petId} ایجاد شده، ببینید.
همچنین میتوانید ابزارها را با نصب SDK MCP برای زبان برنامهنویسی مورد نظرتان (SDKهایی برای Java، TypeScript، Kotlin، Python و C# موجود است) بررسی کنید و کدی مانند زیر را در محیط آزمایشی خود وارد کنید:
const { McpClient } = require('@modelcontextprotocol/sdk/client/mcp.js');
const { StdioClientTransport } = require('@modelcontextprotocol/sdk/client/stdio.js');
async function main() {
const transport = new StdioClientTransport(/* options if needed */);
const client = new McpClient(transport);
// Connect to the MCP server
await client.connect();
// Call a tool (endpoint), e.g., listPets
const result = await client.callTool('listPets', { limit: 10 });
console.log(result);
// Disconnect when done
await client.close();
}
main();
افکار نهایی درباره تبدیل یک API به یک سرور MCP
نرمافزار برای کمک به افزایش بهرهوری ما طراحی شده است، حذف کارهای تکراری و بیهوده تا بتوانیم روی فعالیتهای معنادارتر تمرکز کنیم. APIها قبلاً گامی بزرگ به جلو در تبدیل وظایف پیشپاافتاده به محصولات و خدمات قابل استفاده مجدد بودند.
با این حال، این دستاوردها به سرعت از دست میروند وقتی که باید هر بار که فناوری جدیدی در دسترس قرار میگیرد، هر ابزار را دوباره بسازید. این امر توانایی تبدیل خودکار هر مشخصات API به سرورهای MCP عملیاتی را به یک نعمت بزرگ برای هر کسی که میخواهد بیشترین استفاده را از APIهای خود ببرد بدون اینکه مجبور باشد همان ابزار را بارها و بارها بسازد، تبدیل میکند.
همچنین، هنگام استفاده از MCP، بهترین شیوهها را باید در نظر گرفت. اخیراً خطراتی در محیطهای MCP ظاهر شدهاند — به ویژه، مسمومیت ابزار، اجرای دستور از راه دور، و نشت توکن. بنابراین به یاد داشته باشید، هنگام در معرض قرار دادن سرورهای MCP، توکنها را امن نگه دارید، از احراز هویت و مجوز مناسب استفاده کنید، و بررسی کنید که میزبان شما چه ابزارهایی میتواند فراخوانی کند.
