hamravesh-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hamravesh-mcp list my apps"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
hamravesh-mcp
کنترلِ کنسولِ همروش / دارکوب از داخلِ هر کلاینتِ MCP (مثل Claude) — بدونِ پنل، بدونِ کلیک. Control the Hamravesh / Darkube console from any MCP client (Claude, etc.) — no panel, no clicking.
سرورِ MCP که به دستیارِ هوشِ مصنوعی اجازه میدهد اپهای همروش (دارکوب) را مستقیم از طریقِ API داخلیِ کنسول مدیریت کند: دیدن و بررسیِ اپها، لاگ، ریاستارت، دیپلوی، اسکیل، تغییرِ env، مدیریتِ دیتابیس/رجیستری/صورتحساب — و صدا زدنِ هر endpointِ دیگر.
A Model Context Protocol server that lets an AI assistant manage your Hamravesh (Darkube) apps directly via the console's internal API: list & inspect apps, view logs, restart, redeploy, scale, edit env vars, manage databases, registries, billing — and call any other endpoint.
⚠️ غیررسمی. این ابزار از API داخلیِ کنسولِ همروش (
api.hamravesh.com) استفاده میکند که عمومی/مستند نیست و ممکن است بدونِ اطلاع تغییر کند. Unofficial. Uses Hamravesh's internal console API (api.hamravesh.com), which is not a public/documented API and may change without notice.
فارسی
امکانات
🔑 دو روشِ ورود — یا کلید API (هدرِ
Authorization: Api-Key …، توصیهشده) یا ایمیل/رمز (JWT با تمدیدِ خودکار).🧰 ۲۱ ابزار — خواندنی (اپها، لاگ، کانتینرها، منیفست، بیلدها، دیتابیس، رجیستری، صورتحساب، کلیدها)، نوشتنی (ریاستارت، دیپلوی، اسکیل، روشن/خاموش، تغییرِ env، ساخت/حذفِ اپ، ساخت/حذفِ کلید) و یک ابزارِ جوکر بهنامِ
hamravesh_requestبرای هر endpoint.🔒 پیشفرض امن — نوشتن و حذف تا وقتی خودت روشن نکنی خاموشاند. ابزارِ جوکر روی میزبانِ همروش قفل است (بدونِ SSRF) و رازها از پیامِ خطا پاک میشوند.
📦 بدونِ build، یک وابستگی — ESMِ ساده، فقط
@modelcontextprotocol/sdk.
گرفتنِ کلید API
در پنلِ همروش: تنظیماتِ سازمان ← امنیت ← API Keys ← یک کلید بساز. (یا بهجایش ایمیل/رمز بده — جدولِ پایین.)
شروعِ سریع
با Claude، Cursor، VS Code، Windsurf و هر کلاینتِ MCP کار میکند. نیازی به نصبِ سراسری نیست — npx خودش موقعِ اجرا دانلودش میکند.
🪄 روشِ A — بدونِ کدنویسی (بذار Claude خودش انجامش دهد). اگر همهکارت را با Claude انجام میدهی، فقط بگو:
«MCP همروش (
hamravesh-mcp) را برایم نصب و تنظیم کن. کلیدِ APIم این است:…و سازمانم….»
Claude خودش نصب و تنظیمش میکند. تمام.
⌨️ روشِ B — Claude Code، یک خط:
claude mcp add hamravesh --env HAMRAVESH_API_KEY=کلیدت --env HAMRAVESH_ORG=سازمانت -- npx -y hamravesh-mcp📝 روشِ C — فایلِ پیکربندی (claude_desktop_config.json یا .mcp.jsonِ پروژه):
{
"mcpServers": {
"hamravesh": {
"command": "npx",
"args": ["-y", "hamravesh-mcp"],
"env": {
"HAMRAVESH_API_KEY": "کلیدِ تو",
"HAMRAVESH_ORG": "نامِ سازمان"
}
}
}
}متغیرهای محیطی
متغیر | لازم؟ | توضیح |
| یکی از این دو | کلید API (توصیهشده). |
| یکی از این دو | ایمیل/رمز (JWT). اگر 2FA داری |
| توصیهشده | سازمانِ پیشفرض (مثل |
| نه | پیشفرض |
| نه |
|
| نه |
|
ایمنی
بهصورتِ پیشفرض فقط خواندن مجاز است؛ هیچ تغییری روی سرویسِ زنده رخ نمیدهد. برای تغییر/حذف باید فلگهای بالا را روی 1 بگذاری. این یعنی امکان ندارد دستیار اشتباهی چیزی را خراب کند.
ابزارها
خواندنی (همیشه روشن): hamravesh_whoami، hamravesh_list_apps، hamravesh_get_app، hamravesh_app_containers، hamravesh_app_logs، hamravesh_app_manifests، hamravesh_app_builds، hamravesh_list_databases، hamravesh_list_registries، hamravesh_billing، hamravesh_list_apikeys
نوشتنی (نیازمندِ ALLOW_WRITE=1): hamravesh_restart_app، hamravesh_redeploy_app، hamravesh_scale_app، hamravesh_set_app_enabled، hamravesh_update_app_envs، hamravesh_create_app، hamravesh_create_apikey، و hamravesh_delete_app/hamravesh_delete_apikey (نیازمندِ ALLOW_DELETE=1)
جوکر: hamravesh_request — هر متد/مسیر (GET آزاد؛ نوشتن/حذف تابعِ فلگها).
مرجع
ENDPOINTS.md— کاتالوگِ دستهبندیشده.WRITE-ENDPOINTS.md— شکلِ بدنهٔ همهٔ ۱۶۲ درخواستِ نوشتنی.LIVE-STATUS.md— وضعیتِ زندهٔ هر endpoint با حسابِ admin.ENDPOINTS-RAW.txt— لیستِ خامِ همهٔ ۵۷۸ آدرس (متد+مسیر).
توسعه
npm ci
npm test # بدونِ شبکه: ابزارها و محافظِ نوشتن را چک میکندRelated MCP server: amp-mcp-server
English
Features
🔑 Two auth modes — a stable API key (
Authorization: Api-Key …, recommended) or email/password (JWT with auto-refresh).🧰 21 tools — read (apps, logs, containers, manifests, builds, databases, registries, billing, api-keys), write (restart, redeploy, scale, enable/disable, update env, create/delete app, create/delete api-key), plus a generic
hamravesh_requestescape hatch for any endpoint.🔒 Safe by default — write and delete operations are disabled unless you explicitly turn them on. The generic tool is host-locked (no SSRF) and secrets are redacted from error messages.
📦 Zero build, one dependency — plain ESM, only
@modelcontextprotocol/sdk.
Get an API key
In the Hamravesh panel: Organization settings → Security → API Keys → create one. (Or use email/password instead — see the table below.)
Quick start
Works with Claude, Cursor, VS Code, Windsurf and any MCP client. No global install — npx fetches it on demand.
🪄 Option A — No coding (let Claude do it). If you do everything through Claude, just tell it:
"Set up the
hamravesh-mcpMCP server for me. My Hamravesh API key is…and my org is…."
Claude installs it and writes the config for you. Done.
⌨️ Option B — Claude Code, one line:
claude mcp add hamravesh --env HAMRAVESH_API_KEY=your-key --env HAMRAVESH_ORG=your-org -- npx -y hamravesh-mcp📝 Option C — config file (Claude Desktop claude_desktop_config.json, or a project .mcp.json):
{
"mcpServers": {
"hamravesh": {
"command": "npx",
"args": ["-y", "hamravesh-mcp"],
"env": {
"HAMRAVESH_API_KEY": "your-api-key",
"HAMRAVESH_ORG": "your-org-name"
}
}
}
}Environment variables
Variable | Required | Description |
| one of these | API key (recommended). |
| one of these | Email/password (JWT). |
| recommended | Default organization (e.g. |
| no | Defaults to |
| no |
|
| no |
|
Tools
Read (always on): hamravesh_whoami, hamravesh_list_apps, hamravesh_get_app, hamravesh_app_containers, hamravesh_app_logs, hamravesh_app_manifests, hamravesh_app_builds, hamravesh_list_databases, hamravesh_list_registries, hamravesh_billing, hamravesh_list_apikeys
Write (need ALLOW_WRITE=1): hamravesh_restart_app, hamravesh_redeploy_app, hamravesh_scale_app, hamravesh_set_app_enabled, hamravesh_update_app_envs, hamravesh_create_app, hamravesh_create_apikey, hamravesh_delete_app/hamravesh_delete_apikey (need ALLOW_DELETE=1)
Generic: hamravesh_request — any method/path (GET free; write/delete follow the flags).
Reference
ENDPOINTS.md— categorized endpoint catalog.WRITE-ENDPOINTS.md— request-body shapes for all 162 write endpoints.LIVE-STATUS.md— live status of each endpoint with an admin account.ENDPOINTS-RAW.txt— raw list of all 578 method+path pairs.
Develop
npm ci
npm test # network-free: checks tools + write guardمجوز / License
MIT © محمد باختری — Mohammad Bakhtari
Available Tools
30 toolshamravesh_app_buildsC
تاریخچهی بیلدهای یک اپ.
Inputs: app_id (required), limit, org.
hamravesh_app_containersC
فهرست پادها/کانتینرهای یک اپ.
Inputs: app_id (required), org.
hamravesh_app_logsB
لاگهای یک اپ. ابتدا با hamravesh_app_containers نامِ pod را بگیر. endpoint پارامترهای from_index/to_index/reference_index میخواهد؛ این ابزار پیشفرضِ معقول میگذارد (آخرین ~۲۰۰ خط).
Inputs: app_id (required), pod_name, container_name, lines, +5 more.
hamravesh_app_manifestsC
منیفستهای Kubernetes یک اپ (YAML).
Inputs: app_id (required), org.
hamravesh_billingC
وضعیت مالی سازمان: کیفپولها، بودجه و بدهی.
Inputs: org.
hamravesh_create_apikeyC
ساخت یک کلید API جدید برای سازمان. مقدار کلید فقط همین یک بار برمیگردد. (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: name (required), org.
hamravesh_create_appA
ساخت یک اپِ داکر-ایمیجِ جدید در دارکوب (بدنهاش با تست زنده تأیید شده). به plan (uuid پلن منابع)، namespace (id عددی namespace) و organization (id عددی سازمان) نیاز دارد — این مقادیر را از hamravesh_get_app روی یک اپِ موجود ببین (plan آن، و idِ namespace و organization همان اپ را بردار). (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: name (required), image_repo (required), image_tag (required), service_port (required), +10 more.
hamravesh_create_databaseA
ساخت یک دیتابیسِ مدیریتشده (DBaaS). واحدها: cpu = millicore (۱۰۰۰=۱ core)، ram/disk = MB. num_of_standbys = تعدادِ standby (۰ = فقط master). plan را از GET /dbaas/api/v1/app/plans/ بگیر (code_name مثل fixed-plan-0). engine باید دقیقاً با همان حروف باشد: PostgreSQL / MySQL / MongoDB / Redis / … . cluster_id و namespace_id را از یک دیتابیس یا اپِ موجود (list/get) بردار. (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: name (required), engine (required), version (required), plan (required), +8 more.
hamravesh_create_saasA
ساختِ یک سرویسِ بازارچه/SaaS (اپِ یککلیکی مثل GitLab Runner / n8n / WordPress / Grafana). هر محصول فیلدهای خودش را دارد؛ اول با hamravesh_list_marketplace_products محصول (id/product_type/suggested_plan_id/plans) و فیلدهای لازم را ببین، سپس بدنهی کامل را در body بده (passthrough). endpoint: POST /marketplace/api/v1/app/saas/. (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: body (required), org, dry_run.
hamravesh_database_powerC
روشن یا خاموش کردنِ یک دیتابیسِ DBaaS. (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: app_id (required), action (required), org.
hamravesh_delete_apikeyC
حذف یک کلید API (با شناسهی id، نه مقدار value). (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: id (required), org.
hamravesh_delete_appA
حذفِ کاملِ یک اپ دارکوب (برگشتناپذیر). نیازمند ALLOW_DELETE. (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: app_id (required), org.
hamravesh_delete_databaseA
حذفِ کاملِ یک دیتابیسِ DBaaS (برگشتناپذیر). نیازمندِ ALLOW_DELETE. (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: app_id (required), org.
hamravesh_get_appB
جزئیات کامل یک اپ دارکوب (env، دامنه، منابع، بیلد، وضعیت). برای جلوگیری از نشتِ رمز، مقدارِ env ها بهصورتِ پیشفرض ماسک میشود؛ با reveal_secrets=true مقدارها نمایش داده میشوند.
Inputs: app_id (required), org, reveal_secrets.
hamravesh_get_databaseC
جزئیاتِ یک دیتابیسِ DBaaS (با شناسهی app_id آن).
Inputs: app_id (required), org.
hamravesh_get_saasC
جزئیاتِ یک سرویسِ SaaSِ نصبشده (با service_id).
Inputs: service_id (required), org.
hamravesh_list_apikeysC
فهرست کلیدهای API سازمان.
Inputs: org.
hamravesh_list_appsA
فهرست اپهای دارکوب یک سازمان (با وضعیت، دامنه، منابع، replicas).
Inputs: org.
hamravesh_list_databasesC
فهرست دیتابیسهای مدیریتشده (DBaaS) یک سازمان.
Inputs: org.
hamravesh_list_marketplace_productsC
فهرستِ محصولاتِ بازارچه/SaaS (اپهای یککلیکی: GitLab Runner، n8n، WordPress، Grafana، Metabase، …). ⚠️ مسیرِ بازارچه پیشوندِ /marketplace/ دارد (نه /api/v1/app/) — همین باعثِ ۴۰۴ در گزارشهای قبلی بود.
Inputs: org.
hamravesh_list_registriesC
فهرست کانتینر رجیستریها و مصرف فضای آنها.
Inputs: org.
hamravesh_list_saasC
فهرستِ سرویسهای بازارچه/SaaSِ نصبشدهی یک سازمان.
Inputs: org.
hamravesh_redeploy_appC
دیپلوی مجدد اپ از روی آخرین کامیت/بیلد. (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: app_id (required), org.
hamravesh_requestA
درخواست خام به هر endpoint همروش (برای کارهایی که ابزار اختصاصی ندارند). GET همیشه مجاز است؛ POST/PUT/PATCH نیازمند ALLOW_WRITE و DELETE نیازمند ALLOW_DELETE است. فهرست کامل مسیرها در ENDPOINTS.md پروژه است.
Inputs: method (required), path (required), org, params, +2 more.
hamravesh_restart_appC
ریاستارت یک اپ (همهی پادها دوباره راه میافتند). (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: app_id (required), org.
hamravesh_scale_appA
تغییر تعداد replica های یک اپ. (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: app_id (required), replicas (required), org.
hamravesh_set_app_enabledC
روشن/خاموش کردن یک اپ (is_enabled). (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: app_id (required), enabled (required), org.
hamravesh_set_basic_authA
تنظیمِ Basic Auth روی ingressِ یک اپ دارکوب (محافظت با یوزر/پسورد). برای حذفِ محافظت، username/password را خالی بگذار. (روشِ امن: GET اپ → ادغام → PUT.) (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: app_id (required), username, password, org.
hamravesh_update_app_envsA
بهروزرسانی متغیرهای محیطی یک اپ. envs = متغیرهای عادی، secret_envs = متغیرهای محرمانه (Vault). هر آیتم بهشکلِ {name, value} است. حداقل یکی از این دو را بده. ⚠️ ابتدا با hamravesh_get_app شکل فعلی را ببین؛ این کلِ آرایه(های) دادهشده را جایگزین میکند (نه merge). (غیرفعال — برای فعالسازی HAMRAVESH_ALLOW_WRITE=1) [پیشنمایش: dry_run:true یا env HAMRAVESH_DRY_RUN=1]
Inputs: app_id (required), envs, secret_envs, org.
hamravesh_whoamiA
پروفایل کاربر + فهرست سازمانها، نقشها، بودجه و کلاسترها.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 30 tools
Each tool targets a distinct resource/action, and the main potential confusions (e.g., list_saas vs. list_marketplace_products, create_saas vs. create_app) are clarified by their descriptions. A couple of similar lifecycle actions on different resources could still cause misselection, but the boundaries are mostly clear.
The dominant hamravesh_verb_noun pattern is consistent and readable. The few exceptions like app_containers, app_logs, app_manifests, and database_power break the otherwise predictable convention, but they are still recognizable and not chaotic.
At 30 tools, the server exceeds the 25-tool threshold and feels heavy even for a broad cloud-management API. Several write tools are disabled by default, and some subresource operations could plausibly be consolidated, making the surface larger than necessary.
Core app and database lifecycles are well covered, including create/read/delete, but SaaS has no update/delete tool, database plans/updates are missing as dedicated tools, and app updates are limited to envs/basic auth. The raw hamravesh_request tool helps agents work around these gaps, but notable operations still lack first-class support.
Maintenance
Related MCP Connectors
The official MCP Server from Mia-Platform to interact with Mia-Platform Console
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
MCP server for Appcircle mobile CI/CD platform.
MCP server for interacting with the Supabase platform
Related MCP Servers
- AlicenseAqualityDmaintenanceA MCP server do create and deploy backend applications using https://heim.dev636 npm3MIT
- AlicenseAqualityDmaintenanceMCP server that wraps CubeCoders AMP to list, inspect, and control game-server instances.85MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that provides tools to interact with the LiteLLM proxy API, enabling LLM completions, embeddings, image generation, and admin operations.33 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for interacting with QUADS infrastructure systems via API, enabling resource management and automation through LLM applications.MIT