Context7 در Claude Code (کلاد کد) مستندات نسخهدار و بهروز کتابخانهها را مستقیم به عامل میدهد تا کدی با API منسوخ ننویسد. این مشکل با گمشدن در ریپوی بزرگ فرق دارد؛ برای آن یکی CodeGraph ساخته شده که ساختار کد خودتان را بهصورت یک گراف محلی در اختیار Claude Code میگذارد. در این راهنما تمرکز روی Context7 است و هر جا لازم باشد CodeGraph را کنارش میسنجیم.
در این راهنما میخوانید هر مشکل از کجا میآید، هرکدام از ابزارها طبق README رسمی چطور نصب و استفاده میشوند، چه زمانی کدام را بردارید، چه خطاهایی رایج است و چطور با یک آزمایش ساده خودتان بسنجید که ارزشش را دارد یا نه. اگر هنوز با پلاگینها و MCP آشنا نیستید، اول MCP چیست و راهنمای پلاگین، skill و MCP در Claude Code را ببینید. اگر مشکلتان فقط فهم ساختار ریپوی خودتان است، مستقیم سراغ آموزش CodeGraph در Claude Code بروید.
Context7 را روی Claude Code خودتان امتحان کنید
Claude Code را از داخل ایران با کلید نقطه وصل کنید؛ بدون فیلترشکن و کارت خارجی، با پرداخت ریالی و راهاندازی حدود ۵ دقیقه.
خبر مهم: دربارهٔ قانون تازهٔ Anthropic برای کاربران ایرانی و اثرش روی اکانتها توضیح دادهایم.
دو مشکل رایج: کد ناآشنا و API منسوخ
دو شکایت تقریباً در هر پروژهٔ واقعی تکرار میشود. اول: روی ریپوی بزرگ، Claude Code دهها بار grep و خواندن فایل میکند تا بفهمد یک قابلیت چطور کار میکند. دوم: کدی مینویسد که با نسخهٔ قدیمی یک کتابخانه سازگار است و در نسخهٔ فعلی کار نمیکند.

این دو مشکل ریشهٔ متفاوتی دارند و به همین دلیل یک ابزار واحد هر دو را حل نمیکند. اولی مشکل «دسترسی به اطلاعات داخلی پروژه» است: مدل ساختار ریپوی شما را از قبل نمیداند و باید آن را کشف کند. دومی مشکل «تاریخ مصرف دانش مدل» است: مدل از دادهٔ آموزشی خود چیز میسازد و دادهٔ آموزشی همیشه کمی عقبتر از آخرین نسخهٔ کتابخانههاست.
هر کدام راهحل مخصوص خودش را دارد: CodeGraph برای اولی و Context7 برای دومی. نکتهٔ مهم این است که این دو همپوشانی ندارند؛ یکی به ریپوی شما نگاه میکند و دیگری به مستندات بیرون از ریپو.
مشکل اول: چرا گشتن فایلبهفایل گران است؟
وقتی ایندکسی از کد نباشد، عامل باید خودش ساختار را کشف کند: grep، فهرست فایلها، خواندن چند فایل، دوباره grep. هر مرحله یک رفتوبرگشت است و هر رفتوبرگشت توکن مصرف میکند. در یک ریپوی کوچک این هزینه ناچیز است، ولی در ریپویی با چندین پوشه و لایه، پرسشی مثل «پرداخت از کجا شروع میشود و به کجا میرسد؟» میتواند دهها فراخوانی ابزار بخواهد.
CodeGraph یک گراف دانش از نمادها (تابع، کلاس و…) و ارتباطهای فراخوانی در ریپو میسازد و آن را در یک پایگاه SQLite محلی نگه میدارد، تا عامل با یک پرسش، کد مرتبط را بگیرد. اگر بخواهید جزئیات نصب و دستورهای CLI را ببینید، راهنمای کامل CodeGraph برای Claude Code همهچیز را قدمبهقدم میگوید.
README رسمی میگوید CodeGraph فقط یک ابزار MCP به نام codegraph_explore را بهطور پیشفرض نشان میدهد؛ دلیلش این است که در اندازهگیریهای خود پروژه «یک ابزار قوی بهتر از منوی ابزارهای ریز» عمل کرده است. ابزارهای ریزتر هنوز وجود دارند ولی بهطور پیشفرض در فهرست نیستند، چون هرچه آنها برمیگردانند از قبل داخل خروجی codegraph_explore میآید.
ادعای بنچمارک را چطور بخوانیم؟
نتیجههای بنچمارک خود پروژه (۵ اوت ۲۰۲۶، روی ۷ ریپوی متنباز، میانهٔ ۴ اجرا) را باید با احتیاط خواند: آنها ادعای سازندهاند و روی یک نوع پرسش (سؤال معماری) سنجیده شدهاند. README خودش هم تصریح میکند که پس از پاسخ، CodeGraph فضای بیشتری از context را اشغال میکند، نه کمتر. یعنی مصرف توکن «برای رسیدن به جواب» کمتر شده، ولی چیزی که بعد از جواب در context میماند بیشتر است. نتیجه را روی پروژهٔ خودتان بسنجید؛ در بخش «یک آزمایش ساده» همین کار را قدمبهقدم میگوییم.
مشکل دوم: وقتی مدل API قدیمی را مینویسد
مدلها از دادهٔ آموزشی خود چیز میسازند و دادهٔ آموزشی زمان دارد. فریمورکهای وب و کتابخانههای پرتغییر نسخههای تازه میدهند، تابعی حذف میشود، امضای تابع دیگری عوض میشود، و مدل هنوز شکل قدیمی را «بهیاد دارد». نتیجه کدی است که ظاهر درستی دارد ولی در اجرا خطا میدهد، یا بدتر، بیصدا رفتار دیگری دارد.
Context7 (پروژهٔ Upstash) برای همین ساخته شده است. طبق README رسمی، مستندات و نمونهکدهای نسخهدار را مستقیم از منبع میگیرد و به عامل کدنویسی شما میدهد؛ دو حالت دارد: «CLI + Skills» که یک skill نصب میکند و عامل با دستورهای ctx7 مستندات را میگیرد (بدون MCP)، و حالت «MCP» که یک سرور MCP ثبت میکند تا عامل ابزارهای مستندات را مستقیم صدا بزند.
قبل از npx ctx7 setup، Claude Code آماده است؟
اگر Claude Code هنوز روی سیستمتان وصل نیست، اول با کلید نقطه راهش بیندازید و بعد Context7 را نصب کنید.
نصب Context7 در Claude Code
طبق README، نصب با یک دستور انجام میشود. CLI به Node.js نسخهٔ ۲۲٫۱۳ یا جدیدتر نیاز دارد:
npx ctx7 setup

این دستور از طریق OAuth احراز هویت میکند، کلید API میسازد و skill مناسب را نصب میکند. در همین مرحله میتوانید بین «CLI + Skills» و «MCP» یکی را انتخاب کنید. با --claude میتوانید فقط Claude Code را هدف بگیرید. README کلید API رایگان از داشبورد context7.com را برای سقف درخواست بالاتر توصیه میکند.
برای نصب دستی MCP، آدرس https://mcp.context7.com/mcp و هدر Authorization: Bearer YOUR_API_KEY را به کلاینت MCP بدهید. صفحهٔ «همهٔ کلاینتها» در مستندات Context7 برای Claude Code این شکل stdio را هم آورده است:
claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY

بعد از نصب، با claude mcp list فهرست سرورها را ببینید و داخل Claude Code با /mcp وضعیت اتصال را بررسی کنید (هر دو در مستندات رسمی Claude Code آمدهاند). برای حذف: npx ctx7 remove.
ابزارهایی که Context7 در اختیار عامل میگذارد
README دو ابزار MCP را معرفی میکند: resolve-library-id که نام یک کتابخانه را به شناسهٔ سازگار با Context7 تبدیل میکند، و query-docs که با آن شناسه مستندات مرتبط با پرسش را برمیگرداند. در حالت CLI هم دو دستور معادل هست: ctx7 library <name> <query> برای پیدا کردن کتابخانه و ctx7 docs <libraryId> <query> برای گرفتن مستندات.
استفاده: use context7، شناسهٔ کتابخانه و نسخه
سادهترین استفاده افزودن عبارت use context7 به پرسش است. اگر نسخه را در پرسش بنویسید، طبق README، Context7 نسخهٔ مناسب را خودش انتخاب میکند:
How do I set up a Next.js 16 proxy? use context7
اگر شناسهٔ کتابخانه را میدانید، همان را بدهید تا مرحلهٔ تطبیق نام حذف شود:
Implement basic authentication with Supabase. use library /supabase/supabase for API and docs.
اگر نمیخواهید هر بار use context7 بنویسید، README پیشنهاد میکند قاعدهای در CLAUDE.md بگذارید. نمونهٔ خود README به این مضمون است: «هر وقت به مستندات کتابخانه یا API، تولید کد، راهاندازی یا پیکربندی نیاز داشتم، بدون اینکه صریح بخواهم از Context7 استفاده کن.» توجه کنید که اگر با ctx7 setup نصب کرده باشید، README میگوید skillی تنظیم میشود که خودکار برای پرسشهای مربوط به کتابخانه Context7 را فعال میکند؛ پس این قاعده بیشتر برای نصب دستی لازم است.
ملاحظات حریم خصوصی و دسترسی
- Context7 یک سرویس بیرونی است و پرسشهای مربوط به کتابخانه برای آن ارسال میشود؛ کد خصوصیتان را در عبارت پرسش نگذارید.
- README خودش یادآوری میکند که پروژههای فهرستشده توسط جامعه مشارکت داده میشوند و صحت و امنیت همهٔ مستندات تضمینشده نیست؛ خروجی را مثل هر منبع بیرونی با نگاه انتقادی بخوانید.
- دسترسی از ایران و نیاز به کلید را قبل از ساختن یک گردشکار تیمی خودتان آزمایش کنید؛ ما این را در محیطهای مختلف بررسی نکردهایم.
Context7 و CodeGraph: CodeGraph در یک نگاه
برای مقایسهٔ عادلانه لازم است بدانید CodeGraph دقیقاً چه چیزی تحویل میدهد. طبق README، یک دستور codegraph init در ریشهٔ هر پروژه پوشهٔ .codegraph/ را میسازد و گراف را کامل میکند، و همگامسازی خودکار پیشفرض روشن است؛ یعنی لازم نیست بعد از هر تغییر دوباره ایندکس کنید. نصب CLI یکبار و اتصال به عاملها (codegraph install) یکبار انجام میشود و بعد فقط برای هر پروژه init میزنید.
تفاوت اصلیاش با Context7 در «منبع دانش» است. CodeGraph همهچیز را از کد خودتان و بهصورت محلی میسازد (README میگوید دادهای از دستگاه شما بیرون نمیرود، جز آمار استفادهٔ ناشناس که قابل خاموشکردن است). Context7 برعکس، از یک سرویس بیرونی مستندات میآورد.
کدام ابزار برای کدام مشکل؟
| مشکل | ابزار | نصب | هزینه |
|---|---|---|---|
| ریپوی بزرگ، پرسش دربارهٔ ساختار | CodeGraph | یک دستور + codegraph init در هر پروژه |
رایگان، متنباز (MIT) |
| API قدیمی کتابخانه | Context7 | npx ctx7 setup |
MIT؛ کلید رایگان توصیهشده |
| هر دو | هر دو | مستقل از هم | — |
CodeGraph به ریپوی شما نگاه میکند و Context7 به مستندات بیرون؛ همپوشانی ندارند. اگر فقط یکی را میخواهید: برای ریپوی بزرگ CodeGraph، برای برنامهنویسی با کتابخانههای پرتغییر (فریمورکهای وب) Context7. اگر پروژهتان هم بزرگ است و هم روی فریمورکی تازه ساخته شده، هر دو را روشن کنید؛ تداخلی ندارند.
سناریوهای عملی
۱. ورود به ریپوی ناآشنا
روز اول کار در یک پروژهٔ موجود، میخواهید بدانید ورودی اصلی کجاست و درخواست کاربر از کدام لایهها میگذرد. اینجا CodeGraph بهجای چند grep، یک پرسش معماری را با یک فراخوانی جواب میدهد. Context7 اینجا کاری ندارد.
۲. بهروزرسانی نسخهٔ اصلی یک فریمورک
میخواهید پروژه را از یک نسخهٔ اصلی فریمورک به نسخهٔ بعدی ببرید. نسخهٔ هدف را در پرسش بنویسید و use context7 را اضافه کنید تا مدل بر اساس مستندات همان نسخه بنویسد، نه بر اساس خاطرهای از نسخهٔ قدیمی. اینجا CodeGraph هم کمک میکند تا ببینید کدام نقاط پروژه از API در حال تغییر استفاده میکنند (codegraph impact و codegraph callers برای همیناند).
۳. اضافه کردن یک کتابخانهٔ تازه
کتابخانهای را اولینبار به پروژه اضافه میکنید و مدل شاید اصلاً با آن آشنا نباشد یا فقط نسخهٔ قدیمی را بشناسد. شناسهٔ کتابخانه را مستقیم بدهید (use library /org/project) تا مرحلهٔ حدسزدن حذف شود.
۴. تغییر کوچک در فایل شناختهشده
اگر فقط یک خط را در یک فایل مشخص عوض میکنید، هیچکدام لازم نیستند. ابزار اضافه برای کار کوچک فقط سروصدا و مصرف بیدلیل است.
خطاهای رایج
- ایندکس کردن همهچیز.
codegraph initرا روی پوشهٔ خانه یا یک پوشهٔ اسناد نزنید؛ فقط ریپوهای کد. - فراموش کردن
use context7. اگر قاعدهٔ دائمی درCLAUDE.mdنگذاشتهاید و skill خودکار هم فعال نیست، در پرسشهای مربوط به کتابخانه آن را بنویسید. - نوشتن اطلاعات محرمانه در پرسش Context7. پرسش برای سرویس بیرونی فرستاده میشود.
- انتظار معجزه. CodeGraph فهم ساختار را سریع میکند، ولی درستبودن منطق کسبوکار را تضمین نمیکند. Context7 هم مستندات را میآورد، ولی انتخاب درستِ رویکرد با شماست.
- اعتماد کورکورانه به خروجی. کدی که با کمک مستندات نوشته شده هم باید تست شود. بعد از هر تغییر، تستهای پروژه را اجرا کنید.
- نصب بیهدف. هر ابزار اضافه یعنی یک چیز بیشتر برای نگهداری و عیبیابی. اگر مشکلی که ابزار حل میکند را ندارید، نصبش نکنید.
عیبیابی سریع
اگر Claude Code ابزار را صدا نمیزند، اول مطمئن شوید سرور MCP متصل است (/mcp). برای CodeGraph، README میگوید نصبکننده فقط عامل را وصل میکند و ایندکس نمیسازد؛ پس codegraph status را در ریشهٔ پروژه بزنید و ببینید ایندکس هست یا نه. بعد از codegraph install هم باید Claude Code را دوباره باز کنید. برای Context7، دو چیز را بررسی کنید: نسخهٔ Node (حداقل ۲۲٫۱۳ برای CLI) و اینکه کلید API معتبر است. اگر همهچیز سالم بود ولی ابزار صدا زده نشد، قاعدهای در CLAUDE.md بنویسید یا نام ابزار را صریح در پرسش بیاورید.
یک آزمایش ساده برای سنجش خودتان
یک پرسش معماری واقعی دربارهٔ پروژهتان انتخاب کنید («پرداخت از کجا شروع میشود و تا کجا میرود؟»). یک بار بدون CodeGraph بپرسید و تعداد فراخوانی ابزار و زمان را یادداشت کنید؛ یک بار با آن. همین مقایسهٔ ساده از هر بنچمارک خارجی برای تصمیم شما مفیدتر است. برای Context7 هم میشود همین کار را کرد: کتابخانهای را انتخاب کنید که اخیراً نسخهٔ اصلی تازه داده، یک بار بدون use context7 و یک بار با آن از Claude Code بخواهید یک مثال بنویسد، و اجرا کنید که کدام کار میکند.
اگر مصرف توکن برایتان مهم است، این آزمایش را کنار روشهای دیگری که در راهنمای کاهش مصرف توکن Claude Code آمده بسنجید؛ شاید برای پروژهٔ شما سادهترین بهبود، تمیزتر کردن فایل CLAUDE.md یا کوتاهکردن خروجی دستورها (مثلاً با RTK) باشد، نه نصب ابزار جدید.
جمعبندی
برای فهم ساختار کد: ایندکس بسازید. برای درست بودن API: مستندات نسخهدار بدهید. این دو کار، کیفیت و هزینه را در پروژههای جدی بهتر میکنند، به شرط اینکه ابزار را برای مشکل واقعی نصب کنید و نتیجه را خودتان بسنجید. بعد از این میتوانید به گردشکار توسعه با Claude Code بروید تا ببینید این ابزارها در یک روند کامل کجا مینشینند، یا نصب همهٔ ابزارها را در راهنمای نصب ابزارهای Claude Code یکجا ببینید.
کلید API نقطه با پلن پرو باز میشود
با یک کلید به Sonnet و Opus میرسید و مصرف هر درخواست را در داشبورد زنده میبینید؛ برای آزمایش Context7 روی پروژهٔ واقعی همین کافی است.
این مقاله چگونه بررسی شد؟
دستورهای نصب و ویژگیها از README رسمی دو ابزار (colbymchenry/codegraph و upstash/context7) و برای مفاهیم Claude Code از مستندات code.claude.com برداشته شد و در ۱۳ آبان ۱۴۰۵ (۴ نوامبر ۲۰۲۶) دوباره با نسخهٔ فعلی ریپوها مقایسه شد. هر جا ادعایی از خود سازنده است («۸۸٪ فراخوانی کمتر»، «۴۴٪ ارزانتر») همین را نوشتهایم و آن را اندازهگیری مستقل نمیدانیم. اگر دستوری در نسخهٔ شما فرق داشت، README همان نسخه معتبرتر است.
← راهنمای کامل Claude Code · CodeGraph برای Claude Code · صرفهجویی توکن
منابع: README رسمی CodeGraph، README رسمی Context7، مستندات MCP در Claude Code. تاریخ بررسی: ۱۳ آبان ۱۴۰۵ (۴ نوامبر ۲۰۲۶).



