Model Context Protocol

فضای ذخیره‌سازی‌تان را به دستیار هوش مصنوعی وصل کنید

سرور MCP دیمو استوریج به کلاینت‌هایی مثل claude.ai، Claude Code، Cursor، VS Code و ایجنت‌های Hermes اجازه می‌دهد فایل‌های شما را ببینند، جستجو کنند، بخوانند، فایل تازه بسازند و پوشه‌ها را مرتب کنند — روی همان فضایی که در صفحهٔ «فایل‌های من» می‌بینید. شناسایی یا با «ورود» (OAuth) انجام می‌شود یا با یک توکن شخصی در هدر.

HTTP https://dimosoftwares.ir/storage/mcp

راه‌اندازی

دو راه برای اتصال وجود دارد. اگر کلاینت شما «ورود» را پشتیبانی می‌کند، راه اول ساده‌تر و امن‌تر است.

۱. ورود (OAuth)
برای claude.ai، Claude Desktop، اپ موبایل Claude، Cursor، VS Code و Claude Code. فقط نشانی سرور را وارد کنید؛ صفحهٔ ورود دیمو باز می‌شود و پس از «اجازه می‌دهم» اتصال برقرار است. توکن لازم نیست.
۲. توکن شخصی
برای کلاینت‌هایی که فقط هدر می‌پذیرند (Hermes، اسکریپت‌ها، curl) یا وقتی نمی‌خواهید مرورگر باز شود. توکن را در بخش بعد بسازید و در هدر Authorization بفرستید.
  1. نشانی سرور را در کلاینت اضافه کنید.
    نوع اتصال HTTP (Streamable HTTP) است. نمونهٔ هر کلاینت در بخش «پیکربندی کلاینت‌ها» آمده است.
  2. وارد شوید یا توکن را وارد کنید.
    با OAuth، دکمهٔ Connect/Authenticate کلاینت را بزنید. با توکن، آن را در هدر قرار دهید.
  3. اتصال را امتحان کنید.
    از دستیار بخواهید storage_status را اجرا کند؛ باید میزان فضای مصرف‌شده و آزادتان را نشان دهد.

توکن شخصی شما

فقط برای اتصال با توکن (راه دوم) لازم است. این توکن از توکن ایمجین جداست: هرکدام را می‌توانید مستقل باطل کنید. توکن مثل رمز عبور است — آن را در کد یا مخزن عمومی قرار ندهید.

برای ساخت توکن شخصی وارد حساب کاربری خود شوید.

پیکربندی کلاینت‌ها

در نمونه‌های توکنی، DIMO_STORAGE_TOKEN را با توکن خود جایگزین کنید (اگر همین حالا توکن ساخته باشید، خودکار جایگزین شده است). برای اتصال با ورود، بخش headers را حذف کنید.

توکن لازم نیست. در claude.ai به Settings → Connectors → Add custom connector بروید، نشانی زیر را وارد کنید و پس از «Add» روی «Connect» بزنید. صفحهٔ ورود دیمو باز می‌شود؛ «اجازه می‌دهم» را بزنید.

https://dimosoftwares.ir/storage/mcp

بخش «Advanced settings» (Client ID / Secret) را خالی بگذارید. Claude Desktop و اپ موبایل هم از همین connector استفاده می‌کنند. استوریج و ایمجین دو connector جدا هستند و می‌توانید فقط یکی را اضافه کنید.

احراز هویت

هر درخواست HTTP باید توکن را در هدر داشته باشد. توکن در نشانی (query string) پذیرفته نمی‌شود، چون نشانی‌ها در لاگ‌ها ثبت می‌شوند. کلاینت‌هایی که ورود را پشتیبانی می‌کنند، مسیر OAuth را از هدر پاسخ ۴۰۱ خودکار پیدا می‌کنند.

Authorization: Bearer dimo_smcp_…    # توکن شخصی استوریج
Authorization: Bearer dimo_oat_…     # صادرشده با OAuth (claude.ai، Cursor)

# یا به‌جای آن:
X-Dimo-Key: dimo_smcp_…
۴۰۱ Unauthorized
توکن ارسال نشده، منقضی یا باطل شده است. پاسخ شامل هدر WWW-Authenticate است تا کلاینت‌ها ورود OAuth را خودکار شروع کنند.
جدا از ایمجین
توکن استوریج (dimo_smcp_) و توکن ایمجین (dimo_mcp_) دو چیز متفاوت‌اند و روی سرور دیگری کار نمی‌کنند. توکن‌های OAuth هم دامنهٔ (scope) جداگانه دارند.
توکن‌های OAuth
توکن دسترسی یک ساعت اعتبار دارد و کلاینت آن را خودکار تمدید می‌کند؛ اگر ۶۰ روز استفاده نشود، باید دوباره وارد شوید.
ایجنت‌های دیمو
هر ایجنت توکن مخصوص خودش (dimo_smcpa_…) را دارد و به توکن شخصی شما وابسته نیست. خاموش کردن دسترسی فایل یا حذف ایجنت، دسترسی آن را قطع می‌کند.
تعویض توکن
با «ساخت توکن جدید» توکن قبلی بلافاصله از کار می‌افتد؛ کلاینت‌ها را به‌روز کنید.
نگهداری
دیمو فقط هش توکن‌ها را ذخیره می‌کند؛ به همین دلیل امکان نمایش دوبارهٔ توکن شخصی وجود ندارد.

ابزارها

کلاینت فهرست ابزارها را خودکار دریافت می‌کند. شناسهٔ فایل‌ها (file_id) را با list_files بگیرید. ابزارهای گروه «خواندن» و «حساب» چیزی را تغییر نمی‌دهند؛ trash_item برگشت‌پذیر است و delete_file برای همیشه حذف می‌کند.

list_filesخواندن
فهرست یا جستجوی فایل‌ها و پوشه‌ها؛ شناسهٔ فایل‌ها را برای بقیهٔ ابزارها برمی‌گرداند.
folder, search, kind, sort, limit, offset
list_foldersخواندن
درخت کامل پوشه‌ها به‌صورت تخت، همراه با عمق هر ردیف.
—
get_fileخواندن
مشخصات یک فایل به‌همراه پیوند مشاهده و دانلود (برای دادن به خود شما).
file_id
read_fileخواندن
خواندن محتوای فایل: متن به‌صورت متن، تصویر به‌صورت پیش‌نمایش، بقیه base64.
file_id, as_text, max_bytes
list_trashخواندن
فایل‌های داخل سبد حذف (تا ۳۰ روز قابل بازگردانی).
limit
storage_statusحساب
میزان فضای مصرف‌شده، آزاد و کل، و تعداد فایل‌ها.
resync
upload_fileنوشتن
ذخیرهٔ فایل تازه؛ نام پوشهٔ نامشخص ساخته می‌شود و هم‌نامی هرگز رونویسی نمی‌شود.
filename, text | data_base64, folder, content_type
create_folderنوشتن
ساخت پوشه، در صورت نیاز داخل پوشهٔ دیگر.
name, parent
rename_itemنوشتن
تغییر نام یک فایل یا یک پوشه.
new_name, file_id | folder_id
move_fileنوشتن
انتقال فایل به پوشهٔ دیگر (یا به ریشهٔ فضای ذخیره‌سازی).
file_id, folder
trash_itemحذف
فرستادن فایل یا کل یک پوشه به سبد حذف — برگشت‌پذیر تا ۳۰ روز.
file_id | folder_id
restore_fileحذف
بازگرداندن فایل از سبد حذف.
file_id
delete_fileحذف
حذف دائمی و آزادسازی فضا؛ نیازمند confirm=true و غیرقابل بازگشت.
file_id, confirm
share_fileاشتراک
ساخت پیوند عمومی برای یک فایل، یا باطل کردن پیوند موجود.
file_id | revoke_token, expires_days

نمونه درخواست‌ها

لازم نیست نام ابزارها را بدانید؛ کافی است به زبان عادی بخواهید.

پیدا کردن
«توی فضای ذخیره‌سازی‌ام دنبال قرارداد بگرد و فهرستشان را بده.»
خواندن
«فایل notes.md را بخوان و خلاصه‌اش کن.»
ساختن
«این جدول را به‌صورت CSV در پوشهٔ اسناد ذخیره کن.»
مرتب‌سازی
«همهٔ تصویرهای ریشهٔ فضای ذخیره‌سازی را به پوشهٔ تصاویر منتقل کن.»
اشتراک
«برای گزارش سه‌ماهه یک پیوند عمومی هفت‌روزه بساز.»
فضا
«چقدر از فضایم پر شده و بزرگ‌ترین فایل‌هایم کدام‌اند؟»
همراه ایمجین
«یک پوستر بساز و کنار فایل‌های کمپین ذخیره‌اش کن.» (ایمجین می‌سازد، استوریج جابه‌جا می‌کند.)

نکته‌ها

همان فضا
این همان فضایی است که در «فایل‌های من» می‌بینید — نه یک کپی. هر تغییری که دستیار انجام دهد، بلافاصله در صفحهٔ وب هم دیده می‌شود.
حذف دو مرحله‌ای
trash_item فایل را به سبد حذف می‌برد و تا ۳۰ روز قابل بازگردانی است. delete_file دائمی است و برای جلوگیری از اشتباه، confirm=true می‌خواهد.
هرگز رونویسی نمی‌شود
نام تکراری به «نام (۲)» تبدیل می‌شود؛ هیچ ابزاری محتوای فایل موجود را جایگزین نمی‌کند.
سهمیه
بارگذاری‌ها از فضای خریداری‌شدهٔ شما کم می‌کنند. اگر جا نباشد، ابزار خطای روشن برمی‌گرداند.
اندازه
هر بارگذاری از طریق MCP تا ۶۴ مگابایت است و خواندن فایل‌های باینری تا ۸ مگابایت؛ برای فایل‌های بزرگ‌تر از صفحهٔ بارگذاری استفاده کنید.
پوشهٔ ایجنت‌ها
وقتی ایجنت پوشه‌ای مشخص نکند، خروجی‌اش در «فایل‌های ایجنت» ذخیره می‌شود تا ریشهٔ فضای شما شلوغ نشود.
پیوند اشتراک
پیوند عمومی بدون نیاز به حساب باز می‌شود. هر وقت خواستید با share_file(revoke_token=…) یا از صفحهٔ «اشتراک‌گذاشته» باطلش کنید.

عیب‌یابی

claude.ai وصل نمی‌شود
نشانی را دقیقاً مثل بالا و بدون / در انتها وارد کنید و بخش Advanced settings را خالی بگذارید. اگر پس از «اجازه می‌دهم» به claude.ai برنگشتید، دکمهٔ «بازگشت به برنامه» را بزنید.
۴۰۱ با توکن
توکن باطل یا عوض شده، پیشوند Bearer فراموش شده، یا توکن ایمجین را روی این سرور فرستاده‌اید. یک توکن استوریج بسازید و جایگزین کنید.
«فضای کافی نیست»
سهمیهٔ شما پر است. سبد حذف را خالی کنید یا از بسته‌های منابع فضا اضافه کنید.
فایل پیدا نمی‌شود
شاید در سبد حذف باشد؛ list_trash را بزنید. جستجوی list_files(search=…) کل فضا را می‌گردد، نه فقط پوشهٔ جاری.
«این پسوند مجاز نیست»
سرور استوریج اسکریپت‌های سمت سرور (php، sh، py و…) را نمی‌پذیرد. پسوند را عوض کنید یا فایل را در یک آرشیو بگذارید.
ابزارها دیده نمی‌شوند
پس از تغییر پیکربندی، کلاینت را دوباره اجرا کنید یا در فهرست سرورهای MCP آن را Refresh کنید.