پلاگین Claude Code: تفاوت Skill، MCP و Plugin و نصب امن

پلاگین Claude Code، Skill و MCP سه مفهوم جدا هستند. در این راهنما دستور نصب هر کدام، ساخت اولین Skill و چک‌لیست امنیتی پیش از نصب را از مستندات رسمی می‌خوانید.

تیم نقطه۱۴ آبان ۱۴۰۵۱۴ دقیقه مطالعه
پلاگین Claude Code: تفاوت Skill، MCP و Plugin و نصب امن

پلاگین Claude Code (کلاد کد) بسته‌ای است که Skill، زیرعامل (agent)، hook و سرور MCP را یک‌جا نصب و بارگذاری می‌کند؛ اما خود Skill و MCP هم بدون پلاگین کار می‌کنند و تازه‌کارها این سه مفهوم را اغلب با هم قاطی می‌کنند. Skill دستورالعمل متنی است، MCP راه وصل‌کردن ابزار بیرونی است و Plugin بسته‌ای است که هر دو را (و بیشتر) با هم حمل می‌کند.

در این راهنما تفاوت این سه را می‌گوییم، دستور نصب هر کدام را از مستندات رسمی می‌آوریم، اولین Skill خودتان را می‌سازیم و در آخر چک‌لیستی می‌دهیم که پیش از نصب هر افزونه باید رد شود؛ چون افزونه‌ها با دسترسی شما روی کامپیوتر اجرا می‌شوند و «فقط یک افزونهٔ کوچک» همیشه بی‌خطر نیست. اگر هنوز تصویر کلی افزودنی‌ها را ندارید، اول آموزش Claude Code و نقشهٔ افزودنی‌ها را ببینید.

پلاگین‌ها را روی Claude Code خودتان امتحان کنید

با کلید اختصاصی نقطه، Claude Code از داخل ایران بدون فیلترشکن و کارت خارجی و با پرداخت ریالی کار می‌کند؛ راه‌اندازی حدود ۵ دقیقه است.

آموزش اتصال Claude Code به نقطه

اگر هنوز Claude Code را راه نینداخته‌اید، اول راهنمای استفاده از Claude Code بدون بن شدن را بخوانید؛ قانون تازهٔ ۲۱ آبان را هم آنجا توضیح داده‌ایم.

پلاگین Claude Code چیست و با Skill و MCP چه فرقی دارد؟

سه کلمهٔ plugin، skill و MCP در مستندات Claude Code مدام کنار هم می‌آیند، چون در عمل یک هدف دارند: گسترش کارهایی که Claude می‌تواند انجام دهد. اما هر کدام لایهٔ جدایی هستند و دانستن مرزشان جلوی نصب‌های بی‌دلیل را می‌گیرد.

Skill یک پوشه با فایل SKILL.md است. در بالای فایل، بین دو خط ---، نام و توضیح Skill نوشته می‌شود و پایینش دستورالعملی که Claude هنگام اجرا دنبال می‌کند. Claude خودش در زمان مناسب Skill را انتخاب می‌کند، یا شما با /نام-skill صدایش می‌زنید. طبق مستندات رسمی، «custom commands» در Skillها ادغام شده‌اند: فایل .claude/commands/deploy.md و .claude/skills/deploy/SKILL.md هر دو دستور /deploy را می‌سازند.

MCP (Model Context Protocol) راهی استاندارد برای وصل‌کردن ابزار بیرونی به Claude است (توضیح کامل در MCP چیست؟). هر سرور MCP چند «ابزار» (tool) در اختیار Claude می‌گذارد؛ مثلاً کنترل مرورگر یا خواندن مستندات. یعنی Claude بدون اینکه کد اتصال بنویسید، فهرست ابزارهای سرور را می‌بیند و هر وقت لازم شد صدایشان می‌زند.

Plugin پوشه‌ای است که Claude Code آن را یک‌جا نصب و بارگذاری می‌کند و می‌تواند هر ترکیبی از اجزای بالا را داشته باشد: Skill، agent، hook و سرور MCP. مشخصات آن در فایل .claude-plugin/plugin.json است. پلاگین‌ها معمولاً از یک marketplace (فهرست پلاگین‌ها) نصب می‌شوند. مستندات رسمی خودش تأکید می‌کند که Skill، زیرعامل، hook و سرور MCP هر کدام بدون پلاگین هم کار می‌کنند؛ مثلاً Skillی که در ~/.claude/skills/ بگذارید در همهٔ پروژه‌های همان کامپیوتر در دسترس است.

Skill MCP Plugin
چیست دستورالعمل متنی سرور ابزار بستهٔ شامل چند مورد
کد اجرا می‌کند؟ معمولاً نه (فقط راهنمایی) بله، سرور اجرا می‌شود بله، اگر hook یا سرور داشته باشد
نصب کپی پوشه یا از پلاگین claude mcp add /plugin
برنامه‌نویس در حال نصب پلاگین Claude Code و مقایسهٔ Skill، MCP و Plugin
Skill دستورالعمل است، MCP ابزار وصل می‌کند و Plugin هر دو را بسته‌بندی می‌کند.

کدام را کی انتخاب کنم؟

یک قاعدهٔ ساده کمک می‌کند. اگر چیزی که لازم دارید «روش کار» است، مثلاً قالب پیام commit، مراحل یک بازبینی یا استاندارد کد تیم‌تان، Skill بنویسید. اگر Claude باید به سیستمی دسترسی پیدا کند که به آن دسترسی ندارد، مثل مرورگر، دیتابیس یا یک سرویس ابری، سراغ MCP بروید. اگر می‌خواهید چند مورد از این‌ها را یک‌جا بین چند نفر یا چند کامپیوتر پخش کنید، Plugin مناسب است. بیشتر وقت‌ها شروع با یک Skill ساده، بهتر از نصب یک بستهٔ بزرگ است.

یک پلاگین بعد از نصب چه چیزی به session شما اضافه می‌کند؟

طبق مستندات رسمی، نام و توضیح هر Skill، agent و command که Claude بتواند خودش فراخوانی کند، در هر نوبت در context قرار می‌گیرد تا Claude بداند آن‌ها وجود دارند. این توکن‌ها حتی در sessionهایی که چیزی از پلاگین اجرا نمی‌شود هم به مصرف شما می‌خورند و از context window کم می‌کنند؛ متن کامل Skill فقط وقتی لود می‌شود که استفاده شود. این همان دلیلی است که در راهنمای کاهش مصرف توکن Claude Code می‌گوییم «هر چه نصب است، بخشی از context را می‌گیرد».

Skill در Claude Code: محل ذخیره و ساخت اولین Skill

Skillها بسته به محل ذخیره، دامنهٔ متفاوتی دارند. طبق مستندات رسمی:

  • شخصی (همهٔ پروژه‌های شما): ~/.claude/skills/<نام>/SKILL.md
  • پروژه (فقط همان ریپو، و با commit برای هم‌تیمی‌ها هم در دسترس): .claude/skills/<نام>/SKILL.md
  • از طریق پلاگین: <plugin>/skills/<نام>/SKILL.md؛ با نام /نام-پلاگین:نام-skill صدا زده می‌شود. این «فضای نام» باعث می‌شود Skillهای هم‌نام پلاگین‌های مختلف با هم تداخل نکنند.
  • سازمانی (Enterprise): در پوشهٔ تنظیمات مدیریت‌شده؛ این مورد را مدیر سیستم مستقر می‌کند.

یک Skill ساده بسازید. اول پوشه:

mkdir -p ~/.claude/skills/summarize-changes

و در ~/.claude/skills/summarize-changes/SKILL.md بنویسید:

---
description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed or wants a commit message.
---
Run git diff, summarize the changes in a few bullets, and list anything risky.

این مثال بر پایهٔ همان نمونهٔ مستندات رسمی است. نکتهٔ کلیدی فیلد description است: Claude بر اساس همین متن تصمیم می‌گیرد Skill را کی به کار ببرد، پس آن را به زبانی بنویسید که می‌خواهید Claude بر اساس آن انتخاب کند و مهم‌ترین کاربرد را اول بیاورید. مستندات می‌گوید ترکیب description و when_to_use در فهرست Skillها در ۱٬۵۳۶ نویسه بریده می‌شود، پس توضیح‌های خیلی بلند فایده ندارند.

کنترل اینکه چه کسی Skill را اجرا کند

فیلدهای frontmatter دو سوئیچ مهم دارند. اگر disable-model-invocation: true بگذارید، Claude خودش Skill را اجرا نمی‌کند و فقط با /نام شما اجرا می‌شود؛ مستندات این را برای کارهای پرخطر مثل deploy یا ارسال پیام پیشنهاد می‌کند، چون نمی‌خواهید Claude فقط چون «کد آماده به نظر می‌رسد» deploy کند. برعکس، user-invocable: false Skill را از منوی / پنهان می‌کند و فقط Claude می‌تواند از آن استفاده کند؛ برای دانش پس‌زمینه‌ای مثل توضیح یک سیستم قدیمی مناسب است. فیلد allowed-tools هم ابزارهایی را که در همان نوبت بدون پرسش مجازند مشخص می‌کند و از جریان عادی permission عبور می‌کند.

ویرایش و حذف Skill

Claude Code پوشه‌های Skill را زیر نظر دارد؛ اگر Skill شخصی یا پروژه‌ای را اضافه، ویرایش یا حذف کنید، بدون ریستارت در همان session اعمال می‌شود. استثنا این است که پوشهٔ سطح‌بالای skills از اول وجود نداشته باشد؛ در آن حالت /reload-skills را اجرا کنید. برای حذف، پوشهٔ Skill را پاک کنید؛ و Skill مربوط به پلاگین را با غیرفعال‌کردن یا حذف همان پلاگین از منوی /plugin.

دستورهای /plugin را همین حالا اجرا کنید

اگر Claude Code هنوز روی سیستم‌تان وصل نیست، با کلید نقطه راهش بیندازید و بعد marketplace و اولین پلاگین را با همین دستورها نصب کنید.

راه‌اندازی Claude Code با نقطه

نصب پلاگین Claude Code از marketplace

در Claude Code دستور /plugin را اجرا کنید. تب Discover پلاگین‌های marketplaceهای اضافه‌شده را نشان می‌دهد. برای افزودن marketplace و نصب یک پلاگین:

/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills
نصب پلاگین Claude Code از marketplace با دستور /plugin
افزودن marketplace رسمی anthropics/skills و نصب پلاگین document-skills داخل Claude Code.

این دو خط از README رسمی ریپوی anthropics/skills است. همان README تأکید می‌کند که این Skillها «برای نمایش و آموزش» هستند و رفتار واقعی Claude ممکن است با آن‌ها فرق کند؛ آن‌ها را الگو بدانید، نه تضمین. نام پلاگین بعد از @ نام marketplace است؛ همین قالب نام-پلاگین@نام-marketplace در حذف (/plugin uninstall) هم به کار می‌رود.

محدودهٔ نصب: user، project یا local

هنگام نصب پلاگین یک «scope» انتخاب می‌کنید که تعیین می‌کند برای چه کسانی فعال باشد. در user scope برای شما و در همهٔ پروژه‌های این کامپیوتر فعال است. در project scope برای همهٔ کسانی که روی این ریپو کار می‌کنند فعال است، از راه فایل commit‌شدهٔ .claude/settings.json؛ هر هم‌تیمی همچنان باید آن را روی ماشین خودش نصب کند. در local scope فقط برای شما و فقط در همین ریپو فعال است. برای آزمایش یک پلاگین تازه، local محتاطانه‌ترین انتخاب است.

غیرفعال‌کردن بدون حذف

اگر می‌خواهید پلاگین کار نکند اما نصب بماند، آن را با /plugin یا در پوسته با claude plugin disable غیرفعال کنید. این برای وقتی خوب است که مطمئن نیستید پلاگین مقصر کندی یا مصرف بالای توکن است و می‌خواهید فقط برای مدتی کنارش بگذارید.

به‌روزرسانی پلاگین

یک نکتهٔ عملی از README پلاگین compound-engineering: اگر پلاگینی را قبلاً نصب کرده‌اید، پیش از /plugin update ابتدا marketplace را refresh کنید، وگرنه روی نسخهٔ قدیمی می‌مانید. این رفتار برای همهٔ marketplaceها صادق نیست؛ حکم کلی ندهید و README هر پلاگین را بخوانید. نمونهٔ کاملی از یک پلاگین بزرگ را در راهنمای compound engineering برای Claude Code می‌بینید.

اضافه‌کردن سرور MCP به Claude Code

مستندات رسمی چند حالت می‌دهد. برای سرور راه‌دور (HTTP):

claude mcp add --transport http <name> <url>

برای سرور محلی (stdio) که با یک دستور اجرا می‌شود:

claude mcp add --transport stdio myserver -- npx server

دو خط تیره -- بخش گزینه‌های خود Claude (مثل --transport، --env و --scope) را از دستور سرور جدا می‌کند و هرچه بعدش بیاید بدون تغییر به سرور می‌رسد. کلید API را با --env KEY=value می‌دهید. اگر راهنمای نصب یک ابزار فقط برای Cursor یا Claude Desktop نوشته شده، مستندات می‌گوید در آن راهنما دنبال نشانی URL یا دستور اجرا بگردید و همان را به claude mcp add بدهید.

سه scope برای سرور MCP

سرور MCP هم scope دارد و پیش‌فرض آن local است: فقط در همان پروژه‌ای که اضافه کرده‌اید لود می‌شود، برای شما خصوصی می‌ماند و در ~/.claude.json ذخیره می‌شود. با --scope project سرور در فایل .mcp.json ریشهٔ پروژه می‌رود و با commit برای تیم هم در دسترس می‌شود؛ با --scope user در همهٔ پروژه‌های شما فعال می‌شود. اگر یک نام در چند scope با نشانی متفاوت تعریف شود، ترتیب اولویت local، بعد project، بعد user است و Claude Code در خروجی claude mcp list دربارهٔ تداخل هشدار می‌دهد. سرور project-scope از .mcp.json تا وقتی تأییدش نکنید فعال نمی‌شود؛ وضعیت «Pending approval» را در claude mcp list می‌بینید.

بررسی وضعیت و حذف

claude mcp list          # فهرست سرورها و وضعیت اتصال
claude mcp get notion    # جزئیات یک سرور
claude mcp remove notion # حذف
دستورهای claude mcp list، get و remove برای مدیریت سرور MCP در Claude Code
بررسی وضعیت، جزئیات و حذف سرور MCP در Claude Code.

داخل خود Claude Code هم فرمان /mcp وضعیت و منوی هر سرور را نشان می‌دهد و ورود OAuth سرورهای راه‌دور از همین‌جا انجام می‌شود. وضعیت‌هایی مثل Connected، Needs authentication و Failed to connect را کنار هر سرور می‌بینید. برای نمونهٔ عملی یک سرور MCP که ابزار مرورگر می‌دهد، راهنمای تست مرورگر و طراحی رابط با Claude Code را ببینید.

چک‌لیست امنیتی پیش از نصب پلاگین یا سرور MCP

مستندات رسمی («Plugin security and trust») روشن می‌گوید: پلاگین می‌تواند کدی را با دسترسی کاربر شما اجرا کند. hookها، monitorها و سرورهای MCP پلاگین دستور shell را با همان دسترسی کامل اجرا می‌کنند و قوانین permission فقط تماس‌های ابزار خود Claude را پوشش می‌دهند. پس پیش از هر نصب این شش مورد را بررسی کنید:

  1. منبع را بشناسید. نام marketplace فقط می‌گوید فهرست را چه کسی منتشر کرده، نه اینکه هر پلاگین آن امن است. marketplace رسمی Anthropic با نام‌های رزروشده مشخص می‌شود.
  2. محتوا را بخوانید. پوشهٔ hooks/، فایل‌های .mcp.json و اسکریپت‌های نصب را باز کنید. اسکریپتی را که curl ... | sh است، اول دانلود و بخوانید. (README پروژهٔ claude-seo هم خودش پیشنهاد می‌کند اسکریپت نصب را پیش از اجرا بخوانید.)
  3. به‌روزرسانی خودکار را بشناسید. اگر auto-update برای marketplace روشن باشد، فایل‌هایی که بررسی کرده‌اید بعداً عوض می‌شوند.
  4. هزینهٔ context. برای پلاگین‌های marketplace رسمی، تب Marketplaces عدد «Context cost» نشان می‌دهد. هر Skill و ابزار نصب‌شده بخشی از context را می‌گیرد.
  5. سرورهایی که از اینترنت محتوا می‌خوانند ممکن است در معرض prompt injection باشند؛ مستندات MCP می‌گوید به هر سرور اطمینان داشته باشید، بعد وصلش کنید.
  6. کم نصب کنید. هر چیزی را که استفاده نمی‌کنید بردارید.

یک نکتهٔ مکمل: Skillهایی که فقط متن‌اند معمولاً خطر کمتری دارند، اما همان متن هم می‌تواند Claude را به اجرای دستورهای دلخواه هدایت کند. پس «فقط متن است» دلیل نخواندنش نیست. برای نصب مجموعه‌ای از ابزارها پشت سر هم، ترتیب پیشنهادی در راهنمای نصب ابزارهای Claude Code آمده است.

اشتباهات رایج و عیب‌یابی

  • پلاگین نصب شد ولی Skill دیده نمی‌شود. مستندات می‌گوید پلاگین باید در سه لایه حاضر باشد: settings، دیسک (~/.claude/plugins/) و session. پلاگین‌ها هنگام شروع یا با reload بارگذاری می‌شوند؛ پس بعد از نصب یا تغییر، /reload-plugins را بزنید یا Claude Code را دوباره باز کنید.
  • سرور MCP «Failed to connect» می‌دهد. claude mcp get <name> علت را در خط Issue: می‌نویسد (کد HTTP یا خطای transport). اگر چیزی را از جایی کپی کرده‌اید، هشدار «hidden whitespace» یا متغیر محیطی تنظیم‌نشده هم ممکن است در claude mcp list دیده شود.
  • سرور همه‌جا نیست. چون پیش‌فرض local است، سروری که در یک پروژه اضافه کرده‌اید در پروژهٔ دیگر دیده نمی‌شود. اگر همه‌جا می‌خواهیدش، --scope user بگذارید.
  • Claude خودش Skill را اجرا می‌کند و نمی‌خواهید. disable-model-invocation: true را به frontmatter اضافه کنید.
  • Skill هرگز انتخاب نمی‌شود. معمولاً description مبهم است. بنویسید «چه کار می‌کند» و «چه وقت استفاده شود» و عبارت‌هایی که کاربر واقعاً می‌گوید.
  • همه‌چیز را نصب کرده‌اید و session کند یا گران شده. یکی‌یکی غیرفعال کنید و اثر را ببینید؛ روش اندازه‌گیری در مقالهٔ کاهش مصرف توکن آمده است.

جمع‌بندی

Skill متن است، MCP ابزار است و Plugin بسته. نصب هر کدام ساده است؛ ارزیابی اعتماد، بخش اصلی کار است. با این پایه می‌توانید با خیال راحت‌تر سراغ صرفه‌جویی در توکن یا فهم کد بروید.

کلید API برای Claude Code با پلن پرو

کلید API نقطه فقط با پلن پرو باز می‌شود؛ پرداخت ریالی است و با یک کلید به Sonnet و Opus می‌رسید و مصرف را زنده در داشبورد می‌بینید.

دیدن پلن‌های پرو

این مقاله چگونه بررسی شد؟

دستورهای نصب از README رسمی ابزارها و مفاهیم Claude Code از مستندات code.claude.com (بخش‌های plugins، skills، mcp و امنیت پلاگین) برداشته شد و در ۱۳ آبان ۱۴۰۵ (۴ نوامبر ۲۰۲۶) دوباره با نسخهٔ فعلی مستندات مقایسه شد. هر جا ادعایی از خود سازندهٔ ابزار است همان‌طور نوشته‌ایم و آن را اندازه‌گیری مستقل نمی‌دانیم. اگر دستوری در نسخهٔ شما فرق داشت، مستندات همان نسخه معتبرتر است.


منابع: code.claude.com/docs/en/plugins، /skills، /mcp؛ README ریپوی anthropics/skills و EveryInc/compound-engineering-plugin. تاریخ بررسی: ۱۳ آبان ۱۴۰۵ (۴ نوامبر ۲۰۲۶).

پاسخ‌های کوتاه و کاربردی

سوال‌های رایج

جواب پرسش‌هایی که معمولاً پیش از انتخاب ابزار یا شروع ساخت مطرح می‌شوند.

پلاگین‌های کلاد کد در ایران هم کار می‌کنند؟

بله. پلاگین‌ها روی خود Claude Code نصب می‌شوند و به اتصال مدل ربطی ندارند. برای اتصال مدل از ایران، کلید API نقطه بدون فیلترشکن و کارت خارجی کار می‌کند؛ مراحل در صفحهٔ اتصال Claude Code به نقطه آمده است.

تفاوت Skill و پلاگین در Claude Code چیست؟

Skill یک پوشه با فایل SKILL.md است که دستورالعمل می‌دهد. پلاگین بسته‌ای است که می‌تواند چند Skill، agent، hook و سرور MCP را با هم حمل کند و با /plugin نصب می‌شود. Skill را بدون پلاگین هم می‌توانید در ~/.claude/skills/ بگذارید.

MCP را چطور به Claude Code اضافه کنم؟

برای سرور راه‌دور از claude mcp add --transport http <name> <url> و برای سرور محلی از claude mcp add --transport stdio <name> -- <دستور> استفاده کنید. بعد با claude mcp list یا /mcp وضعیت اتصال را ببینید.

آیا نصب پلاگین Claude Code خطرناک است؟

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

نصب زیاد پلاگین مصرف توکن را بالا می‌برد؟

بله، به‌طور غیرمستقیم. نام و توضیح Skillها و ابزارهایی که Claude می‌تواند خودش صدا بزند در context هر نوبت قرار می‌گیرد و بخشی از استفادهٔ شما را می‌گیرد، حتی اگر در آن session اجرا نشوند. افزونه‌های بلااستفاده را غیرفعال یا حذف کنید.

پلاگین Claude CodeClaude Codeکلاد کدSkillMCPmarketplace
پلاگین Claude Code: Skill، MCP و Plugin | نقطه