# صرف پڑھنے کے لیے MCP

Canonical page: https://phishdestroy.github.io/TgWitness/ur/docs/reference/mcp/

ایک MCP کلائنٹ کو منتخب ورک اسپیسز اور چیٹس سے منسلک کریں، جس کی رسائی ختم ہونے والی اور منسوخ کی جانے والی ہو۔

کسی تجزیہ کار کلائنٹ کو منتخب ورک اسپیسز اور چیٹس سے منسلک کریں۔ TgWitness **پینل پراسیس میں `/mcp` پر Streamable HTTP** فراہم کرتا ہے۔ ہر کنکشن کا اپنا الگ ٹوکن، میعادِ ختم ہونے کا وقت اور مجاز ٹولز ہوتے ہیں۔ MCP ٹیلی گرام پیغامات نہیں بھیج سکتا، ترتیبات تبدیل نہیں کر سکتا اور نہ ہی دستخط شدہ جرنل میں ترمیم کر سکتا ہے۔

[ورک فلو گائیڈ](https://phishdestroy.github.io/TgWitness/docs/archive/) · [ویکی](https://github.com/phishdestroy/TgWitness/blob/main/docs/wiki/Archive-and-Integrations.md)

## انسٹال اور چیک کریں

وہی Python انوائرنمنٹ استعمال کریں جو پینل چلاتا ہے۔ سورس چیک آؤٹ سے:

```
# Windows PowerShell
& .\.venv\Scripts\python.exe -m pip install -c deploy/constraints-mcp.txt -e '.[mcp]'
& .\.venv\Scripts\python.exe start.py --check
```

```
# Linux / macOS
.venv/bin/python -m pip install -c deploy/constraints-mcp.txt -e '.[mcp]'
.venv/bin/python start.py --check
```

انسٹالیشن کے بعد پینل کو اس کی معمول کی ڈیٹا ڈائریکٹری اور لانچ آرگومنٹس کے ساتھ دوبارہ اسٹارٹ کریں۔ ریڈینیس چیک میں `[PASS] mcp: streamable-http available` شامل ہونا چاہیے۔ **Integrations → MCP** رن ٹائم اسٹیٹس اور اس سرور کے اصل Python ایگزیکیوٹیبل کا استعمال کرتے ہوئے ایک انسٹالیشن کمانڈ دکھاتا ہے۔ **Re-check** صفحہ کو دوبارہ لوڈ کیے بغیر اس اسٹیٹس کو ریفریش کرتا ہے؛ یہ پیکجز انسٹال نہیں کرتا اور نہ ہی سرور کو دوبارہ اسٹارٹ کرتا ہے۔

MCP ایکسٹرا آفیشل [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk) استعمال کرتا ہے۔ `deploy/constraints-mcp.txt` ٹیسٹ شدہ SDK اور ڈیپینڈنسیز کو پن کرتا ہے۔ ان خصوصیات کے لیے موجودہ سورس درکار ہے؛ 0.7.0 پورٹیبل پریویو ان سے پرانا ہے۔

## کنکشن جاری کریں

1. ایک لیبل درج کریں اور وہ ورک اسپیسز اور چیٹس منتخب کریں جنہیں کلائنٹ پڑھ سکتا ہے۔
2. ٹولز کو انفرادی طور پر منتخب کریں یا کوئی پری سیٹ استعمال کریں۔ صرف لاگو شدہ ٹولز ہی پیش کیے جاتے ہیں۔
3. 1، 7، 30 یا 90 دن، یا ایک منٹ سے 90 دنوں کے درمیان کوئی حسبِ منشا میعاد منتخب کریں۔
4. **Create connection** دبائیں۔ ٹوکن کلائنٹ کنفیگ کے ساتھ صرف ایک بار ظاہر ہوتا ہے۔
5. ٹوکن اور کنفیگ کاپی کریں، پھر **Check connection** چلائیں۔ یہ MCP کو انیشیئلائز کرتا ہے اور مجاز ٹولز کی فہرست دکھاتا ہے؛ **کوئی پیغام نہیں پڑھا جاتا**۔ نتیجہ پروٹوکول ورژن، ٹول کے نام، تعداد اور گزرے ہوئے وقت کو ظاہر کرتا ہے۔
6. کریڈینشل محفوظ ہو جانے کے بعد **Done** دبائیں۔ پولنگ فارم اور ایک بار دکھائے جانے والے کارڈ کو برقرار رکھتی ہے۔ پینل کو لاک کرنے سے اسکرین پر موجود سیکرٹس صاف ہو جاتے ہیں۔

فہرست میں حالیہ استعمال، آخری ٹول، ایڈریس اور گزشتہ منٹ کی ریکویسٹس دکھائی جاتی ہیں۔ **Revoke** رسائی ختم کر دیتا ہے۔ **Rotate token** پرانے کریڈینشل کو منسوخ کر دیتا ہے اور اسی اسکوپ، ٹولز اور میعاد کے ساتھ ایک متبادل جاری کرتا ہے؛ متبادل کو ایک بار کاپی کر لیں۔ پینل لاگ ان ٹوکنز اور ٹیلی گرام کریڈینشلز MCP ٹوکنز کے طور پر کام نہیں کرتے۔

## اپنے کلائنٹ کو منسلک کریں

پینل میں کلائنٹ کو منتخب کریں اور اس کی تیار کردہ کنفیگریشن کاپی کریں۔ کنفیگز سیکرٹ ریفرنسز یا واضح پلیس ہولڈرز استعمال کرتی ہیں؛ ٹوکن کو الگ سے کاپی کیا جاتا ہے۔

| کلائنٹ | کنفیگریشن | کنیکشن |
| --- | --- | --- |
| Claude Code | `.mcp.json` | HTTP، `type: "http"`، بیئرر ہیڈر |
| Claude Desktop | `claude_desktop_config.json` | لوکل stdio برج |
| Cursor | `.cursor/mcp.json` | انوائرنمنٹ ویری ایبل ہیڈر کے ساتھ HTTP |
| VS Code Local | `.vscode/mcp.json` | پاس ورڈ `promptString` ان پٹ کے ساتھ HTTP |
| Windsurf | `mcp_config.json` | بیئرر ہیڈر پلیس ہولڈر کے ساتھ HTTP |
| دیگر کلائنٹس | URL اور Authorization ہیڈر | Streamable HTTP |

TgWitness بغیر OAuth ڈسکوری کے بیئرر ٹوکنز استعمال کرتا ہے۔ ایسے کلائنٹس کے لیے جن کے ریموٹ کنیکٹر کو OAuth کی ضرورت ہوتی ہے، لوکل stdio برج استعمال کریں۔ VS Code کے لیے، ان پٹ ویری ایبلز **Local** ہارنس پر لاگو ہوتے ہیں اور Copilot سیشنز کو فارورڈ نہیں کیے جاتے۔ کنفیگریشن کے حوالہ جات: [Claude Code](https://code.claude.com/docs/en/mcp)، [Cursor](https://prod.cursor.com/docs/mcp)، [VS Code](https://code.visualstudio.com/docs/agents/reference/mcp-configuration)۔

لوکل برج کے لیے معیاری انٹری پوائنٹ یہ ہے:

```
python -m tgwitness.mcp_server --url https://your-panel.example/mcp
```

کلائنٹ کا لوکل Python استعمال کریں جس میں MCP ایکسٹرا انسٹال ہو۔ اس کے محفوظ انوائرنمنٹ میں `TGWITNESS_MCP_TOKEN` سیٹ کریں۔ کریڈینشلز کو کمانڈ آرگومنٹس اور URLs سے دور رکھیں۔ `tgwitness-mcp` بھی وہی انٹری پوائنٹ ہے۔ پرانا `tgwitness.mcp_bridge` ماڈیول اور `TGWITNESS_ARCHIVE_TOKEN` نام وارننگ کے ساتھ مطابقت کے راستوں کے طور پر برقرار ہیں؛ نئی کنفیگز `mcp_server` اور `TGWITNESS_MCP_TOKEN` استعمال کرتی ہیں۔

## Cloudflare Tunnel

پینل کے `/mcp` راؤٹ کو فارورڈ کریں اور بیئرر ہیڈر کو برقرار رکھیں۔ بطور ایڈمنسٹریٹر MCP سیٹنگز کھولنے سے اس رن کے لیے پینل کا موجودہ اوریجن رجسٹر ہو جاتا ہے۔ ری اسٹارٹ کے فوراً بعد دستیاب ہونے والے مستحکم ایڈریس کے لیے، پینل اسٹارٹ کرنے سے پہلے پینل کے HTTPS اوریجن کے ساتھ `TGWITNESS_PUBLIC_URL` کو کنفیگر کریں۔ فرضی Host اور فارورڈ کردہ ہیڈرز کسی قابلِ اعتماد ایڈریس کو رجسٹر نہیں کرتے۔ Host اور Origin چیکس غیر متعلقہ براؤزر اوریجنز کو مسترد کر دیتے ہیں۔ ریسپانسز `Cache-Control: no-store` استعمال کرتے ہیں؛ آتھورائزیشن ویلیوز کو کبھی لاگ نہیں کیا جاتا۔

`*.trycloudflare.com` ایڈریس عارضی ہوتا ہے۔ جب ٹنل کے ری اسٹارٹ ہونے سے ہوسٹ نیم تبدیل ہو جائے، تو کنفیگر کردہ پبلک URL اور ہر کلائنٹ کے MCP URL کو اپ ڈیٹ کریں۔ محفوظ کردہ کلائنٹ کنفیگریشنز کے لیے ایک مستحکم ہوسٹ نیم استعمال کریں۔

## ٹولز اور حدود

| ٹول | پڑھتا ہے |
| --- | --- |
| `list_workspaces` | مجاز ورک اسپیسز |
| `list_chats` | مجاز چیٹس |
| `search_messages` | منتخب مدت کے اندر محفوظ کردہ پیغام کا متن |
| `get_message_versions` | کیپچر کیے گئے ورژنز اور حذف کیے جانے کے مشاہدات |
| `get_message_context` | قریبی کیپچر کیے گئے پیغام کی IDs |
| `get_journal_event` | اپنے سورس ریفرنس کے ساتھ ایک صاف شدہ ریکارڈ |
| `get_capture_status` | کولیکشن اسٹیٹ اور مجاز کوریج ریکارڈز |

`tools/list` صرف وہی ٹولز واپس کرتا ہے جن کی اس کنکشن کو اجازت دی گئی ہے۔ دیگر ٹولز کی کالز مسترد کر دی جاتی ہیں۔ اس بلڈ میں گروپ کانٹیکسٹ، ایپی سوڈ، ٹرمینالوجی اور ریپلائی چین کے ٹولز پیش نہیں کیے گئے ہیں؛ ان کا الگ کانٹیکسٹ پیک بیک اینڈ شامل نہیں ہے۔

ہر ریڈ آپریشن ٹوکن، ٹول اور ورک اسپیس/چیٹ کے اسکوپ کو چیک کرتا ہے، بشمول ڈیٹا بیس کا کام مکمل ہونے کے بعد۔ حدود 60 ریکویسٹس فی منٹ، 50 ریکارڈز فی صفحہ، 64 KiB فی نتیجہ اور آٹھ سیکنڈ کی آرکائیو ڈیڈ لائن ہیں۔ ٹائم آؤٹ ہونے والی MCP کال ایک ٹول ایرر واپس کرتی ہے جس میں کم مدت یا کم حد استعمال کرنے کا کہا جاتا ہے۔

پیغام کے نتائج میں `untrusted_content: true`، ورک اسپیس/چیٹ/پیغام کی IDs، ایونٹ کا تسلسل، محفوظ کردہ ہیش اور ایک پینل لنک شامل ہوتا ہے۔ خام ٹیلی گرام آبجیکٹس، ایکسیس ہیشز، سیشنز اور کیز (keys) کو خارج کر دیا جاتا ہے۔ متن کے کٹ جانے (truncation) کی نشاندہی کی جاتی ہے۔ ترامیم، حذف ہونے کے نوٹسز اور `missing_on_recheck` الگ الگ مشاہدات ہیں۔ غائب ریکارڈز اس بات کا ثبوت نہیں ہیں کہ کوئی ایونٹ کبھی پیش ہی نہیں آیا۔

کیپچر کیے گئے پیغامات کے اندر موجود ہدایات کو ثبوت کے طور پر لیں، انہیں کبھی بھی کلائنٹ کی ہدایات نہ سمجھیں۔ صرف پڑھنے کی رسائی (Read-only access) آرکائیو میں تبدیلیوں کو روکتی ہے؛ تاہم کلائنٹ اب بھی اس مواد کو اپنے پاس محفوظ رکھ سکتا ہے جسے پڑھنے کی اسے اجازت ہے۔ ہیشز محفوظ کردہ ریکارڈز کی شناخت کرتے ہیں اور سالمیت کی جانچ (integrity checks) میں مدد دیتے ہیں؛ وہ ٹیلی گرام کی مصنفیت یا مکمل کیپچر ہونے کو ثابت نہیں کرتے۔
