remote-access-mcp 4.5.0 → 4.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.6.2
4
+
5
+ - Fixed Auto tunnel recovery repeatedly selecting the failed preferred provider.
6
+ - Recovery now rotates through every alternative provider before retrying the failed provider.
7
+ - Recovery logs the complete provider order and individual provider failures.
8
+
9
+ ## 4.6.0 - Tunnel Recovery & Health Monitoring
10
+
11
+ - Hardened automatic tunnel recovery: detect reverse-SSH process death immediately, check public health every 3 seconds, and fail over to another provider before retrying the failed provider.
12
+ - Cloudflare Quick Tunnel now follows the same real Remote Access MCP health verification as SSH-based providers before being exposed as ready.
13
+
14
+ - Verifies public tunnel health against the actual Remote Access MCP `/health` payload instead of accepting any HTTP response.
15
+ - Detects provider-side failures such as localhost.run `503 No Tunnel here` as unhealthy.
16
+ - Adds continuous tunnel health monitoring with consecutive-failure protection against transient network errors.
17
+ - Automatically reconnects a failed tunnel and verifies the replacement before declaring recovery.
18
+ - Supports provider failover during recovery and persists the provider/URL that successfully recovered.
19
+ - Clears tunnel monitoring during graceful shutdown so recovery cannot race process teardown.
20
+ - Keeps local MCP service healthy even when the public tunnel is unavailable.
21
+
22
+ ## 4.5.0 - Public Documentation & Agentic Positioning
23
+
24
+ - Reworked the public README around the core mission: turning MCP-compatible chatbots into practical agents that can operate on real laptops, desktops, VMs, and servers.
25
+ - Documented cross-platform usage, agentic workflows, security boundaries, background jobs, parallel execution, automation, plugins, and integrations.
26
+ - Added concise localized README editions for Persian, Chinese, Turkish, Russian, and Arabic audiences.
27
+ - Updated npm package description to clearly communicate the agentic machine-access use case.
28
+
3
29
  ## 4.5.0 - TUI & CLI Reliability
4
30
 
5
31
  - Added explicit `ramcp service start|stop|restart` commands so the TUI never calls unsupported service actions.
package/README.ar.md ADDED
@@ -0,0 +1,96 @@
1
+ # Remote Access MCP
2
+
3
+ > **امنح مساعد الذكاء الاصطناعي وصولاً حقيقياً إلى جهازك.**
4
+ >
5
+ > اربط ChatGPT وClaude وGrok وQwen Desktop وغيرها من عملاء MCP باللابتوب أو الكمبيوتر أو الـVM أو الخادم لديك، ودع الـAgent يقرأ الملفات ويعدل الكود ويشغّل الاختبارات ويفحص السجلات وينفذ المهام متعددة الخطوات ضمن الصلاحيات التي تمنحها له.
6
+
7
+ Remote Access MCP هو بوابة وصول آمنة إلى جهاز حقيقي عبر [Model Context Protocol (MCP)](https://modelcontextprotocol.io/).
8
+
9
+ بدلاً من أن يقول الذكاء الاصطناعي “شغّل هذا الأمر”، يمكن للـAgent تنفيذ دورة كاملة:
10
+
11
+ **المراقبة → التخطيط → التعديل → الاختبار → التحقق → التقرير**
12
+
13
+ ## ماذا يستطيع الـAgent أن يفعل؟
14
+
15
+ بحسب صلاحيات الـToken، يمكنه:
16
+
17
+ - قراءة وإنشاء وتعديل وحذف والبحث في الملفات
18
+ - رفع وتنزيل الملفات الثنائية
19
+ - تشغيل الاختبارات والبناء وShell بشكل مضبوط
20
+ - فحص العمليات والقرص والشبكة والخدمات والسجلات
21
+ - العمل مع Git
22
+ - الاستعلام من SQLite وMySQL وPostgreSQL وRedis
23
+ - فحص HTTP endpoints وبيئة Browser الاختيارية
24
+ - تشغيل Background Jobs ومهام متوازية محدودة
25
+ - تشغيل Scheduler وWebhook/Event automation
26
+ - فحص Docker/Kubernetes
27
+ - إنشاء Snapshot وإجراء Rollback للتغييرات الخطرة
28
+
29
+ ## الأنظمة المدعومة
30
+
31
+ يعمل Core Gateway على **Linux وmacOS وWindows** مع Node.js 18+.
32
+
33
+ ```bash
34
+ npm install -g remote-access-mcp
35
+ ramcp init
36
+ ramcp tunnel
37
+ ```
38
+
39
+ لا تحتاج إلى Python أو Docker لتشغيل الـCore Gateway.
40
+
41
+ ## الأمان
42
+
43
+ يمكن تقييد كل Token باستخدام:
44
+
45
+ - مسارات مسموحة وممنوعة
46
+ - Tool Scopes
47
+ - أدوار `auditor` و`developer` و`deployer` و`admin`
48
+ - Shell وCommand Allowlist
49
+ - وضع Read-only
50
+ - Rate Limit
51
+ - مدة صلاحية Token
52
+
53
+ وتشمل الحماية أيضاً فحص المسارات، وحماية SSRF، والتحقق من معاملات Git، وقيود SQLite، وAudit Hash Chain، وSnapshot/Rollback، وعزل الإضافات.
54
+
55
+ **الهدف ليس إعطاء AI صلاحيات غير محدودة، بل جعل قدراته واضحة ومحدودة وقابلة للمراقبة والإلغاء.**
56
+
57
+ ## ربط عميل AI
58
+
59
+ للعملاء الذين يقبلون Token داخل URL:
60
+
61
+ ```text
62
+ https://your-host/<token>/mcp
63
+ ```
64
+
65
+ للعملاء الذين يدعمون Authorization Header:
66
+
67
+ ```text
68
+ https://your-host/mcp
69
+ Authorization: Bearer <token>
70
+ ```
71
+
72
+ ```bash
73
+ ramcp url
74
+ ```
75
+
76
+ ## التطوير
77
+
78
+ ```bash
79
+ git clone https://github.com/AmirAliManzar/remote-access-mcp.git
80
+ cd remote-access-mcp
81
+ npm install
82
+ npm test
83
+ npm run build
84
+ ```
85
+
86
+ - [English README](README.md)
87
+ - [فارسی](README.fa.md)
88
+ - [中文](README.zh-CN.md)
89
+ - [Türkçe](README.tr.md)
90
+ - [Русский](README.ru.md)
91
+ - [Security](SECURITY.md)
92
+ - [Roadmap](ROADMAP.md)
93
+
94
+ ## License
95
+
96
+ MIT © Amir Ali Manzar
package/README.fa.md CHANGED
@@ -1,137 +1,340 @@
1
- # remote-access-mcp
1
+ # Remote Access MCP
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/remote-access-mcp.svg)](https://www.npmjs.com/package/remote-access-mcp)
4
- [![CI](https://github.com/AmirAliManzar/remote-access-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/AmirAliManzar/remote-access-mcp/actions/workflows/ci.yml)
5
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
3
+ <p align="center">
4
+ <strong>به دستیار هوش مصنوعی‌ات دست واقعی به کامپیوترت بده.</strong><br>
5
+ ChatGPT، Claude، Grok، Qwen Desktop و کلاینت‌های سازگار با MCP را به یک Agent واقعی تبدیل کن که می‌تواند روی لپ‌تاپ، دسکتاپ، VM یا سرورت کار کند.
6
+ </p>
6
7
 
7
- هر ماشینی رو با MCP ([Model Context Protocol](https://modelcontextprotocol.io)) به یک نقطهٔ امن و قابل‌کنترل برای عامل‌های هوش مصنوعی تبدیل کن.
8
+ <p align="center">
9
+ <a href="https://www.npmjs.com/package/remote-access-mcp">NPM</a> ·
10
+ <a href="https://github.com/AmirAliManzar/remote-access-mcp">GitHub</a> ·
11
+ <a href="SECURITY.md">Security</a> ·
12
+ <a href="CHANGELOG.md">Changelog</a>
13
+ </p>
8
14
 
9
- ChatGPT (حالت Developer)، Claude، Grok و هر کلاینت MCP-دیگه از طریق HTTPS وصل میشن و به‌صورت امن سرورت رو کنترل می‌کنن همه پشت دسترسی‌های per-token.
15
+ > **ایده ساده است:** چت‌بات همین الان می‌تواند فکر و تحلیل کند؛ Remote Access MCP به آن، با دسترسی کنترل‌شده، «دست» روی یک ماشین واقعی می‌دهد.
10
16
 
11
- **بدون پایتون. بدون داکر. فقط Node.js.**
17
+ ## Remote Access MCP چیست؟
18
+
19
+ [Model Context Protocol یا MCP](https://modelcontextprotocol.io/) استانداردی برای اتصال اپلیکیشن‌های هوش مصنوعی به ابزار و داده‌های خارجی است. **Remote Access MCP پل بین کلاینت هوش مصنوعی و یک ماشین واقعی است.**
20
+
21
+ آن را روی لپ‌تاپ، کامپیوتر، سرور، VM، Home Lab یا Cloud VM نصب کن؛ دسترسی‌ها را محدود کن؛ کلاینت MCP را وصل کن؛ و اجازه بده Agent واقعاً کار را انجام دهد.
22
+
23
+ به‌جای این:
24
+
25
+ > «این ارور منه؛ بگو چه دستوری اجرا کنم.»
26
+
27
+ می‌توانی بگویی:
28
+
29
+ > «پروژه را بررسی کن، باگ را بازتولید کن، فایل‌ها را اصلاح کن، تست‌ها را اجرا کن، لاگ‌ها را بررسی کن، مشکل را برطرف کن و دقیقاً بگو چه چیزی تغییر کرده.»
30
+
31
+ یعنی مدل فقط جواب نمی‌دهد؛ **چرخهٔ واقعی مشاهده → برنامه‌ریزی → تغییر → تست → تأیید را اجرا می‌کند.**
32
+
33
+ ## از Chatbot به Agent
34
+
35
+ ```text
36
+ ┌──────────────────────┐
37
+ │ ChatGPT / Claude │
38
+ │ Grok / Qwen / ... │
39
+ └──────────┬───────────┘
40
+ │ MCP / HTTPS
41
+
42
+ ┌──────────────────────────────┐
43
+ │ Remote Access MCP │
44
+ │ auth · policy · audit · jobs │
45
+ └──────────────┬───────────────┘
46
+ │ ابزارهای کنترل‌شده
47
+ ┌───────┼────────┬──────────┐
48
+ ▼ ▼ ▼ ▼
49
+ فایل Shell Git Browser
50
+ │ │ │ │
51
+ └───────┴────────┴──────────┘
52
+
53
+ ماشین واقعی شما
54
+ ```
55
+
56
+ ## Agent واقعاً چه کارهایی می‌تواند انجام دهد؟
57
+
58
+ بسته به Permissionهایی که می‌دهی، Agent می‌تواند:
59
+
60
+ - ساختار و کد یک پروژه را بررسی و درک کند
61
+ - فایل بسازد، بخواند، ویرایش کند، حذف کند و جابه‌جا کند
62
+ - فایل‌های باینری را Upload/Download کند
63
+ - Test، Lint، Build و Script اجرا کند
64
+ - Process، CPU، RAM، Disk، Network، Service و Log را بررسی کند
65
+ - روی Git کار کند
66
+ - از طریق Adapterهای کنترل‌شده با SQLite، MySQL، PostgreSQL و Redis کار کند
67
+ - Endpointهای HTTP و صفحات Browser را بررسی کند
68
+ - Jobهای طولانی را در Background اجرا کند
69
+ - چند کار مستقل را به‌صورت محدود و موازی انجام دهد
70
+ - کارهای زمان‌بندی‌شده و Event/Webhook را اجرا کند
71
+ - Docker/Kubernetes و زیرساخت موجود را بررسی کند
72
+ - قبل از تغییرات حساس Snapshot بگیرد و در صورت نیاز Rollback کند
73
+ - از Integrationهایی مثل Context7 و Codebase Memory استفاده کند
74
+
75
+ در نتیجه می‌توانی از یک چت‌بات معمولی، یک **Agent عملیاتی روی ماشین واقعی** بسازی.
76
+
77
+ ## روی چه سیستم‌هایی؟
78
+
79
+ هسته پروژه برای **Linux، macOS و Windows** با Node.js 18+ طراحی شده است.
80
+
81
+ - Linux → systemd برای سرویس دائمی
82
+ - macOS → launchd برای سرویس دائمی
83
+ - Windows → Scheduled Tasks برای سرویس دائمی
84
+ - هر سیستم → اجرای مستقیم یا Tunnel/Direct HTTP بسته به شرایط
85
+
86
+ ### لپ‌تاپ و دسکتاپ بدون دامنه
87
+
88
+ لازم نیست برای شروع دامنه بخری یا Port Forwarding انجام دهی:
12
89
 
13
90
  ```bash
14
91
  npm install -g remote-access-mcp
15
92
  ramcp init
93
+ ramcp tunnel
16
94
  ```
17
95
 
18
- ## اجرای موازی، Worker و Background Job
19
-
20
- این نسخه یک Worker Pool محدودشده برای اجرای کارهای طولانی و موازی دارد. از `run_background` برای اجرای غیرهمزمان و از `run_parallel` برای چند کار موازی استفاده کنید. هر Job شناسه، وضعیت، خروجی، لغو، Timeout و محدودیت تلاش مجدد دارد و مالکیت آن به Token متصل است.
96
+ Remote Access MCP می‌تواند از Tunnel Providerهای پشتیبانی‌شده استفاده کند و یک HTTPS endpoint عمومی در اختیارت بگذارد.
21
97
 
22
- ## عملیات امن جدید
98
+ ## شروع سریع
23
99
 
24
- - انتقال فایل باینری با `upload_file` و `download_file`، محدودیت حجم و SHA-256.
25
- - حالت نیازمند تأیید برای Shell و Command Allowlist.
26
- - Change Set تراکنشی با Backup و Rollback.
27
- - Roleهای `auditor`، `developer`، `deployer` و `admin`.
100
+ ### نصب
28
101
 
29
- ## تشخیص و توسعه‌پذیری
102
+ ```bash
103
+ npm install -g remote-access-mcp
104
+ ```
30
105
 
31
- - System/Service Diagnostics و Health Watch با Webhook.
32
- - Query/Schema برای MySQL، PostgreSQL و Redis با Credential از Environment.
33
- - MCP Resources و Prompts.
34
- - Pluginهای محلی مورد اعتماد با Manifest و مدیریت نصب/حذف.
106
+ یا روی Ubuntu/Debian:
35
107
 
36
- ## نصب
108
+ ```bash
109
+ curl -fsSL https://raw.githubusercontent.com/AmirAliManzar/remote-access-mcp/main/install.sh | bash
110
+ ```
37
111
 
38
- هستهٔ پروژه با Node.js 18 و بالاتر اجرا می‌شود و روی لینوکس، macOS و ویندوز طراحی شده است. بعضی یکپارچه‌سازی‌های اختیاری ممکن است به نسخهٔ بالاتری از Node.js نیاز داشته باشند؛ در این حالت هسته بدون آن یکپارچه‌سازی همچنان اجرا می‌شود.
112
+ ### راه‌اندازی
39
113
 
40
114
  ```bash
41
- curl -fsSL https://raw.githubusercontent.com/AmirAliManzar/remote-access-mcp/main/install.sh | bash
42
115
  ramcp init
43
116
  ```
44
117
 
45
- ## شروع سریع
118
+ با اجرای `ramcp` بدون آرگومان در یک Terminal تعاملی، TUI (رابط کاربری ترمینال) راهنمای پروژه باز می‌شود.
119
+
120
+ ### دسترسی را محدود کن
46
121
 
47
- روی **سرور** با دامنه:
122
+ مثلاً فقط پروژه مشخصی را در اختیار Agent قرار بده:
48
123
 
49
124
  ```bash
50
- ramcp init # کانفیگ + اولین توکن
51
- ramcp policy allow /srv/myapp # چه مسیرهایی رو AI ببینه
52
- ramcp policy shell on # اجازه اجرای دستور (اختیاری)
53
- ramcp service install --domain mcp.example.com # systemd + nginx
54
- ramcp doctor # بررسی سلامت همه‌چیز
55
- ramcp url # URL کانکتور برای چت‌بات
125
+ ramcp policy allow ~/Projects/my-app
126
+ ramcp policy shell on
56
127
  ```
57
128
 
58
- روی **لپ‌تاپ / دسکتاپ** (بدون دامنه و بدون پورت‌فوروارد):
129
+ یا یک Token اختصاصی بساز:
59
130
 
60
131
  ```bash
61
- ramcp tunnel
62
- # دفعه اول cloudflared رو خودکار دانلود می‌کنه (بدون نیاز به اکانت)
63
- # یه URL عمومی https میده مثل https://random-words.trycloudflare.com
64
- # دستور `ramcp url` توی ترمینال دیگه، لینک زنده کانکتور رو نشون میده.
132
+ ramcp token add --name developer \
133
+ --paths ~/Projects/my-app \
134
+ --scopes filesystem,git,shell \
135
+ --shell
136
+ ```
137
+
138
+ ### اتصال Chatbot
139
+
140
+ برای کلاینت‌هایی که Token را در URL می‌پذیرند:
141
+
142
+ ```text
143
+ https://your-host/<token>/mcp
65
144
  ```
66
145
 
67
- روی ویندوز، مک و لینوکس یکسانه — PowerShell/cmd روی ویندوز، launchd روی مک، systemd روی لینوکس برای سرویس خودکار.
146
+ برای کلاینت‌هایی که Header دارند:
147
+
148
+ ```text
149
+ https://your-host/mcp
150
+ Authorization: Bearer <token>
151
+ ```
68
152
 
69
- ## توکن‌های چندگانه — کمترین دسترسی به‌صورت پیش‌فرض
153
+ برای دریافت URL آماده:
70
154
 
71
155
  ```bash
72
- # توکن فقط-خواندنی برای ممیزی
73
- ramcp token add --name auditor --paths /srv --scopes filesystem --read-only
156
+ ramcp url
157
+ ```
74
158
 
75
- # توکن دیپلوی: فایل + گیت + شل، با محدودیت نرخ و انقضا
76
- ramcp token add --name deploy --paths /srv/app --scopes filesystem,git,shell --shell --rpm 30 --expires 2026-12-31
159
+ ## مثال واقعی: تعمیر پروژه
160
+
161
+ ```text
162
+ کاربر:
163
+ «تست‌ها Fail شده‌اند. علت را پیدا کن، اصلاحش کن، تست‌های مرتبط را اجرا کن
164
+ و مطمئن شو تغییرت چیز دیگری را خراب نکرده.»
165
+
166
+ Agent:
167
+ 1. ساختار پروژه را بررسی می‌کند
168
+ 2. فایل‌های مرتبط را می‌خواند
169
+ 3. تست خراب را اجرا می‌کند
170
+ 4. خروجی و Log را بررسی می‌کند
171
+ 5. کد را اصلاح می‌کند
172
+ 6. تست‌های Focused را اجرا می‌کند
173
+ 7. Verification گسترده‌تر انجام می‌دهد
174
+ 8. نتیجه و فایل‌های تغییرکرده را گزارش می‌کند
77
175
  ```
78
176
 
79
- هر توکن خودش داره: مسیرهای مجاز/غیرمجاز، گروه ابزارها (scopes)، فلگ شل، حالت فقط-خواندنی، محدودیت نرخ، و تاریخ انقضا.
177
+ ## مثال واقعی: عیب‌یابی سرور
178
+
179
+ ```text
180
+ «ببین چرا این سرور کند شده. CPU، RAM، Disk، Processها، Network، Logها
181
+ و Serviceها را بررسی کن، Bottleneck را پیدا کن، کم‌ریسک‌ترین راه‌حل را
182
+ اجرا کن و بعد نتیجه را Verify کن.»
183
+ ```
80
184
 
81
- ## ۴۵ ابزار داخلی در ۱۶ گروه
185
+ ## امنیت و Permission
82
186
 
83
- فایل‌سیستم (۷)، شل (۳)، سیستم (۳)، HTTP با محافظ SSRF (۳)، گیت با whitelist فعل‌ها (۱)، SQLite تک-دستوره (۲)، لاگ/journalctl (۳)، سرویس‌ها (۲)، پکیج‌ها (۳)، زمان‌بند (۳)، اسکن امنیتی (۲)، تحلیل پروژه (۲)، پلنینگ + اسنپ‌شات/rollback (۴)، مدیریت پالیسی (۴)، عملیات (۲). یکپارچه‌سازی‌های MCP اختیاری می‌توانند ابزارهای نام‌گذاری‌شدهٔ بیشتری اضافه کنند.
187
+ نصب Remote Access MCP به معنی دادن دسترسی نامحدود به AI نیست.
84
188
 
85
- ## Webhook و بکاپ
189
+ هر Token می‌تواند موارد زیر را داشته باشد:
190
+
191
+ - مسیرهای مجاز
192
+ - مسیرهای ممنوع
193
+ - Scope ابزارها
194
+ - Roleهای `auditor`، `developer`، `deployer`، `admin`
195
+ - اجازه Shell
196
+ - Command Allowlist
197
+ - حالت Read-only
198
+ - Rate Limit
199
+ - Expiration
200
+
201
+ نمونه Token فقط‌خواندنی:
86
202
 
87
203
  ```bash
88
- ramcp webhook add --url https://hooks.example.com/ramcp --events tool.error
89
- ramcp config export --out backup.json # اسنپ‌شات کامل — توکن‌های زنده داره!
90
- ramcp config import backup.json --merge # ادغام با حفظ هویت محلی
204
+ ramcp token add \
205
+ --name auditor \
206
+ --paths /srv/myapp \
207
+ --scopes filesystem,git \
208
+ --read-only
91
209
  ```
92
210
 
93
- ## مدل امنیتی
211
+ ### Defense in Depth
94
212
 
95
- - **فقط loopback** سرور روی `127.0.0.1` گوش میده
96
- - **هشدار بکاپ** — خروجی `ramcp config export` شامل توکن‌های فعال است؛ آن را هرگز در Git، issue tracker یا جای عمومی قرار نده و در صورت افشا توکن‌ها را بچرخان.
97
- - **توکن timing-safe** روی هر درخواست — در لاگ‌ها فقط fingerprint ذخیره میشه
98
- - **Sandbox per-token** — resolve سیم‌لینک و `..` قبل از چک؛ deny همیشه برنده‌ست
99
- - **محدوده‌های SSRF بسته** — AI نمیتونه به metadata کلود یا سرویس‌های داخلی برسه
100
- - **ضد injection** — فعل‌های git whitelist، SQL تک-دستوره، ATTACH بسته
101
- - **لاگ audit ضد-دستکاری** — hash chain؛ `ramcp audit --verify` هر حذف/ویرایش رو لو میده؛ رازهای داخل آرگومان‌ها redact میشن
102
- - **Hot-reload** — تغییر پالیسی از درخواست بعدی اعمال میشه، بدون ریستارت
103
- - **کلید-کشِ حالت فقط-خواندن** — `ramcp policy readonly on` همه ابزارهای تغییردهنده رو قفل می‌کنه
213
+ پروژه شامل لایه‌های مختلف محافظتی است، از جمله:
104
214
 
105
- ## دستورات کامل
215
+ - کنترل مسیر بعد از Resolve کردن `..` و Symlink
216
+ - برتری Deny نسبت به Allow
217
+ - بررسی Timing-safe برای Token
218
+ - Redact کردن Secretها در خروجی
219
+ - محافظت SSRF در برابر Loopback، Private Network و Cloud Metadata
220
+ - اعتبارسنجی Commandهای Git
221
+ - محدودیت Queryهای SQLite و مسدود بودن `ATTACH`
222
+ - محافظت از Serviceها و Processهای حساس
223
+ - Timeout و محدودیت خروجی Command
224
+ - Audit Log با Hash Chain
225
+ - Snapshot و Rollback فایل‌ها
226
+ - Plugin Isolation با Fail-Closed
227
+ - Autonomous Recovery به‌صورت پیش‌فرض خاموش
106
228
 
107
- `init` `start` `url` `doctor` `status` `token list|add|show|rotate|revoke` `policy [token] allow|deny|shell|readonly` `audit [--verify]` `service install|uninstall|logs|status` `schedule list` جزئیات: [README انگلیسی](README.md)
229
+ هدف امنیتی پروژه این نیست که «AI هیچ‌وقت اشتباه نمی‌کند»؛ هدف این است که **توانایی‌های AI محدود، قابل مشاهده، قابل بررسی و قابل لغو باشند.**
108
230
 
109
- ## مجوز
231
+ ## Background Job و اجرای موازی
232
+
233
+ کارهای طولانی لازم نیست درخواست اصلی را Block کنند.
110
234
 
111
- MIT [LICENSE](LICENSE)
235
+ Gateway از اجرای محدود Worker برای مواردی مثل:
112
236
 
113
- ---
237
+ - Background Command
238
+ - Parallel Operation
239
+ - Retry محدود
240
+ - Cancellation
241
+ - Timeout
242
+ - Capture خروجی
243
+ - Metadata دائمی Job
244
+ - مالکیت Job بر اساس Token
114
245
 
115
- 📚 [English README](README.md) | [نقشه راه](ROADMAP.md) | [سیاست امنیتی](SECURITY.md) | [تغییرات](CHANGELOG.md) | [مشارکت](CONTRIBUTING.md)
246
+ پشتیبانی می‌کند.
116
247
 
117
- ## یکپارچه‌سازی‌های MCP اختیاری
248
+ ## Automation و Event
249
+
250
+ Ruleهای Automation می‌توانند با Interval و Eventهای پشتیبانی‌شده مثل Webhook، File و Health اجرا شوند. Actionها همچنان از Policy، Scope، Read-only و Audit عبور می‌کنند.
251
+
252
+ مثلاً:
253
+
254
+ ```text
255
+ Webhook
256
+
257
+ بررسی Deployment
258
+
259
+ Health Check
260
+
261
+ جمع‌آوری Log
262
+
263
+ گزارش نتیجه
264
+ ```
118
265
 
119
- Remote Access MCP می‌تواند برخی MCPهای مرتبط با توسعه را به‌صورت ابزارهای نام‌گذاری‌شده در اختیار عامل قرار دهد:
266
+ Autonomous Recovery به‌صورت پیش‌فرض غیرفعال است و فعال‌سازی آن نیاز به تنظیم صریح Operator دارد.
120
267
 
121
- - **Context7** به‌صورت ابزارهای نام‌گذاری‌شده مانند `context7_resolve-library-id` و `context7_get-library-docs` داخل دروازه در دسترس قرار می‌گیرد.
122
- - **Codebase Memory** — در صورت موجود بودن وابستگی اختیاری، ابزارهای `codebase_memory_*` را ارائه می‌کند؛ با `RAMCP_ENABLE_CODEBASE_MEMORY=0` می‌توان آن را غیرفعال کرد. هر نمونهٔ Remote Access MCP یک runtime، home، cache، data، runtime directory و هویت سرویس اختصاصی برای Codebase Memory دارد و وضعیت نمونه‌های دیگر را استفاده نمی‌کند. با `RAMCP_CODEBASE_ROOT` ریشهٔ مخزن کدی را که این نمونه باید در اختیار Codebase Memory قرار دهد مشخص کنید؛ `index_repository` نیز به همین ریشه محدود شده است.
123
- - **Context Mode** — فقط به‌عنوان وابستگی اختیاری محلی نصب می‌شود و به‌عنوان سرویس میزبانی‌شده از طریق Remote Access MCP ارائه نمی‌شود، چون مجوز Elastic License 2.0 آن ارائهٔ نرم‌افزار به‌عنوان سرویس میزبانی‌شده یا مدیریت‌شده را محدود می‌کند.
268
+ ## Codebase Memory و Integrationها
124
269
 
125
- اگر یک یکپارچه‌سازی اختیاری در زمان راه‌اندازی قابل اجرا نباشد، هستهٔ Remote Access MCP همچنان در دسترس می‌ماند و آن یکپارچه‌سازی با پیام تشخیصی کنار گذاشته می‌شود.
270
+ Integrationهای اختیاری می‌توانند قابلیت Agent را بیشتر کنند، بدون اینکه هسته پروژه به آن‌ها وابسته باشد.
126
271
 
127
- ### دسترسی مستقیم HTTP
272
+ - **Context7** Context و Documentation کتابخانه‌ها
273
+ - **Codebase Memory** → Context مخصوص Repository و Codebase
274
+ - **Context Mode** → Integration محلی اختیاری
275
+ - Pluginهای محلی با Validation، Fingerprint و Isolation
128
276
 
129
- اگر هیچ Tunnel Providerای در دسترس نباشد، می‌توان Gateway را با `--direct` مستقیماً روی IPv4 عمومی سرور و یک پورت تصادفی در محدوده High Dynamic اجرا کرد. پورت‌های رایج سرویس‌ها مانند 80، 443، 8443، 2083، 2087 و 2096 هیچ‌وقت توسط این قابلیت استفاده نمی‌شوند. در Linux در صورت وجود UFW، Rule لازم خودکار ایجاد و هنگام توقف پاک می‌شود.
277
+ هر Instance از Remote Access MCP می‌تواند Runtime، Cache و Data مستقل برای Codebase Memory داشته باشد تا با Instanceها و سرویس‌های دیگر روی همان ماشین تداخل نکند.
278
+
279
+ ## CLI و TUI
280
+
281
+ CLI برای Script و Automation مناسب است و TUI برای مدیریت تعاملی خود Remote Access MCP طراحی شده است.
130
282
 
131
283
  ```bash
132
- ramcp tunnel --direct
133
- ramcp tunnel --provider auto
284
+ ramcp
285
+ ramcp doctor
286
+ ramcp status
287
+ ramcp service status
288
+ ramcp service logs -f
289
+ ramcp tunnel
134
290
  ramcp url
291
+ ramcp token list
292
+ ramcp audit --verify
293
+ ```
294
+
295
+ TUI یک Server Control Center عمومی نیست؛ تمرکزش روی Setup، اتصال، امنیت، تشخیص خطا و اجرای خود Remote Access MCP است.
296
+
297
+ ## قابلیت‌های اصلی
298
+
299
+ | حوزه | نمونه قابلیت‌ها |
300
+ |---|---|
301
+ | Filesystem | list, read, write, edit, delete, search, upload/download |
302
+ | Shell | اجرای کنترل‌شده Command، Process، Kill |
303
+ | System | System Info، Disk، Network |
304
+ | HTTP | Request، Port Check، Web Fetch با SSRF Guard |
305
+ | Git | عملیات اعتبارسنجی‌شده |
306
+ | Database | SQLite، MySQL، PostgreSQL، Redis |
307
+ | Logs | فایل Log و Journal |
308
+ | Services | Status و Action کنترل‌شده |
309
+ | Planning | Plan، Snapshot، Rollback |
310
+ | Scheduling | Taskهای زمان‌بندی‌شده |
311
+ | Automation | Event و Webhook |
312
+ | Browser | Open، Extract، Screenshot اختیاری |
313
+ | Infrastructure | Docker، Kubernetes و تشخیص Cloudflare در صورت وجود CLI |
314
+ | Security | Secret Scan، Port Scan، Audit Verification |
315
+
316
+ سطح دقیق Toolها ممکن است در Releaseهای آینده تغییر کند؛ نسخه نصب‌شده و MCP Tool List منبع نهایی قابلیت‌ها هستند.
317
+
318
+ ## توسعه و مشارکت
319
+
320
+ ```bash
321
+ git clone https://github.com/AmirAliManzar/remote-access-mcp.git
322
+ cd remote-access-mcp
323
+ npm install
324
+ npm test
325
+ npm run build
135
326
  ```
136
327
 
137
- در حالت Auto، آخرین Tunnel Provider موفق به‌عنوان Provider ترجیحی ذخیره می‌شود و در اجرای بعدی ابتدا همان Provider امتحان می‌شود تا تغییر لینک تا حد ممکن کاهش پیدا کند. با این حال Providerهای رایگان که hostname ثابت ارائه نمی‌کنند، نمی‌توانند URL یکسان را بعد از ایجاد Tunnel جدید تضمین کنند.
328
+ Bug Report، Security Report، پیشنهاد، Pull Request و سناریوهای واقعی Agentic خوش‌آمدند.
329
+
330
+ ## مستندات
331
+
332
+ - [README انگلیسی](README.md)
333
+ - [Roadmap](ROADMAP.md)
334
+ - [Security](SECURITY.md)
335
+ - [Changelog](CHANGELOG.md)
336
+ - [Contributing](CONTRIBUTING.md)
337
+
338
+ ## مجوز
339
+
340
+ MIT © Amir Ali Manzar