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 +26 -0
- package/README.ar.md +96 -0
- package/README.fa.md +279 -76
- package/README.md +278 -264
- package/README.ru.md +95 -0
- package/README.tr.md +94 -0
- package/README.zh-CN.md +94 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +12 -4
- package/dist/cli/main.js.map +1 -1
- package/dist/core/tunnel-providers.d.ts +9 -0
- package/dist/core/tunnel-providers.d.ts.map +1 -1
- package/dist/core/tunnel-providers.js +87 -7
- package/dist/core/tunnel-providers.js.map +1 -1
- package/dist/server/run.d.ts +1 -0
- package/dist/server/run.d.ts.map +1 -1
- package/dist/server/run.js +115 -32
- package/dist/server/run.js.map +1 -1
- package/dist/tui/main.d.ts.map +1 -1
- package/dist/tui/main.js +2 -1
- package/dist/tui/main.js.map +1 -1
- package/package.json +16 -3
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
|
-
#
|
|
1
|
+
# Remote Access MCP
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<strong>به دستیار هوش مصنوعیات دست واقعی به کامپیوترت بده.</strong><br>
|
|
5
|
+
ChatGPT، Claude، Grok، Qwen Desktop و کلاینتهای سازگار با MCP را به یک Agent واقعی تبدیل کن که میتواند روی لپتاپ، دسکتاپ، VM یا سرورت کار کند.
|
|
6
|
+
</p>
|
|
6
7
|
|
|
7
|
-
|
|
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
|
-
|
|
15
|
+
> **ایده ساده است:** چتبات همین الان میتواند فکر و تحلیل کند؛ Remote Access MCP به آن، با دسترسی کنترلشده، «دست» روی یک ماشین واقعی میدهد.
|
|
10
16
|
|
|
11
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
51
|
-
ramcp policy
|
|
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
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
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
|
-
|
|
156
|
+
ramcp url
|
|
157
|
+
```
|
|
74
158
|
|
|
75
|
-
|
|
76
|
-
|
|
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
|
-
|
|
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
|
-
|
|
187
|
+
نصب Remote Access MCP به معنی دادن دسترسی نامحدود به AI نیست.
|
|
84
188
|
|
|
85
|
-
|
|
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
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
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
|
-
|
|
229
|
+
هدف امنیتی پروژه این نیست که «AI هیچوقت اشتباه نمیکند»؛ هدف این است که **تواناییهای AI محدود، قابل مشاهده، قابل بررسی و قابل لغو باشند.**
|
|
108
230
|
|
|
109
|
-
##
|
|
231
|
+
## Background Job و اجرای موازی
|
|
232
|
+
|
|
233
|
+
کارهای طولانی لازم نیست درخواست اصلی را Block کنند.
|
|
110
234
|
|
|
111
|
-
|
|
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
|
-
|
|
246
|
+
پشتیبانی میکند.
|
|
116
247
|
|
|
117
|
-
##
|
|
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
|
-
|
|
266
|
+
Autonomous Recovery بهصورت پیشفرض غیرفعال است و فعالسازی آن نیاز به تنظیم صریح Operator دارد.
|
|
120
267
|
|
|
121
|
-
|
|
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
|
-
|
|
270
|
+
Integrationهای اختیاری میتوانند قابلیت Agent را بیشتر کنند، بدون اینکه هسته پروژه به آنها وابسته باشد.
|
|
126
271
|
|
|
127
|
-
|
|
272
|
+
- **Context7** → Context و Documentation کتابخانهها
|
|
273
|
+
- **Codebase Memory** → Context مخصوص Repository و Codebase
|
|
274
|
+
- **Context Mode** → Integration محلی اختیاری
|
|
275
|
+
- Pluginهای محلی با Validation، Fingerprint و Isolation
|
|
128
276
|
|
|
129
|
-
|
|
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
|
|
133
|
-
ramcp
|
|
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
|
-
|
|
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
|