dimo storage

fast and cheap cloud storage up to 100GB.

Hosted MCP Server

npx add-mcp 'https://dimosoftwares.ir/storage/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

راه‌اندازی

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

۱. ورود (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 کنید.