Skip to main content
Glama
masoudroot
by masoudroot
README.md
# persian-writing-mcp

[![tests](https://github.com/masoudroot/persian-writing-mcp/actions/workflows/test.yml/badge.svg)](https://github.com/masoudroot/persian-writing-mcp/actions)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

## این چیست؟

مغز دوم یک ویراستار حرفه‌ای فارسی.

۱۵۷۷ نکتهٔ ویراستاری در خودش دارد؛ از رسم‌الخط و نشانه‌گذاری و دستور زبان تا جمله‌بندی، واژه‌گزینی، لحن، ساختار متن و قالب‌های آماده. چیزهایی که یک ویراستار حرفه‌ای در سال‌ها کار یاد می‌گیرد، این‌جا یک‌جا جمع شده است. این دانش به هر برنامهٔ هوش مصنوعی وصل می‌شود؛ مثل Claude Desktop، Cursor و n8n.

کافی است متن را بدهی. اول خودش متن را می‌خواند و ایرادهایش را پیدا می‌کند؛ بعد از میان این نکته‌ها، برای همان ایرادها یک چک‌لیست مخصوص می‌سازد. هوش مصنوعی با همان چک‌لیست متن را ویراستاری می‌کند، یک بازبینِ دیگر آن را کنترل می‌کند، و در آخر، خودش یک بررسی نهایی هم می‌کند. در آخر یک متن تمیز تحویل می‌گیری؛ همراه با گزارشی که نشان می‌دهد چه چیزهایی درست شد.

## این ۱۵۷۷ نکته چه چیزهایی را پوشش می‌دهد؟

| حوزهٔ دانش | تعداد نکته |
|---|---|
| تمرین‌ها و نمونه‌های تحلیلی | ۲۱۸ |
| نویسندگی خلاق و ادبی | ۱۸۴ |
| بلاغت و آرایه‌های ادبی | ۱۵۲ |
| نثر کاربردی معاصر | ۱۳۰ |
| آموزشگاه ویراستار | ۱۲۱ |
| تولید محتوای دیجیتال | ۱۱۵ |
| رسم‌الخط و نشانه‌گذاری | ۹۳ |
| دستور زبان فارسی | ۹۳ |
| فرایند حرفه‌ای نوشتن | ۷۶ |
| واژه‌گزینی و درست‌نویسی | ۷۲ |
| ویرایش و بازنویسی | ۷۰ |
| جمله و پاراگراف | ۵۷ |
| سبک و نثر فارسی | ۵۳ |
| چک‌لیست‌ها و برگه‌های تقلب | ۴۸ |
| قالب‌ها و الگوهای آماده | ۴۵ |
| واژه‌نامه و نمایه | ۲۳ |
| منابع و کتاب‌شناسی | ۱۴ |
| راهنمای استفاده و نقشهٔ راه | ۱۳ |

## چه چیزهایی را درست می‌کند؟

در چهار لایه، از سطح خط تا سطح فکر:

- **خط و نشانه**: حروف عربیِ قاطی‌شده (ي، ك)، نشانه‌گذاری لاتین، نیم‌فاصله‌های جاافتاده («می شود» به‌جای «می‌شود»).
- **جمله**: جمله‌های بلند و خسته‌کننده، حشو اداری («می‌باشد»، «لذا»، «گردید»)، مجهول‌های بی‌جا، شروع‌های تکراری که ریتم متن را یکنواخت می‌کند.
- **واژه و لحن**: واژهٔ نامناسب، لحن ناهماهنگ با مخاطب، کلیشه‌های فرسوده («در دنیای امروز»، «شایان ذکر است»).
- **کل متن**: بندهای شلوغ و بی‌سروته، پرش از موضوعی به موضوع دیگر، شروع و پایان ضعیف، ساختاری که به نوع متن نمی‌خورد.

نکتهٔ مهم: بازبینی عمیق (انسجام، ریتم، وحدت بند، ساختار) برای **هر** متن انجام می‌شود؛ حتی اگر غلط سطحی نداشته باشد. ویراستار حرفه‌ای فقط دنبال غلط املایی نیست.

یک نمونه. این جمله:

> این گزارش می‌باشد که توسط تیم ما تهیه گردیده است و لذا جهت استحضار مدیریت ارسال می شود.

این‌طور تمیز می‌شود.

> تیم ما این گزارش را تهیه کرده و برای مدیریت فرستاده است.

## چطور کار می‌کند؟

۱. **تمیزکاری اولیه**: ایرادهای ساده و مشخص (مثل حروف عربی) خودکار درست می‌شوند.
۲. **معاینه**: ایرادهای متن پیدا می‌شود؛ بعد همهٔ حوزه‌های دانش (از رسم‌الخط تا ساختار) یکی‌یکی متن را می‌سنجند و برای هر حوزه نکته‌های مخصوص همان متن آورده می‌شود.
۳. **ویراستاری**: هوش مصنوعی با چک‌لیست، متن را ویراستاری می‌کند.
۴. **بازبینی**: یک بازبینِ دیگر، تک‌تک بندهای چک‌لیست را روی متن کنترل می‌کند؛
 اگر چیزی جا مانده باشد، برمی‌گردد برای اصلاح (تا ۴ بار).
۵. **کنترل نهایی**: آخرش هم خودش بررسی می‌کند که چیزی جا نمانده باشد؛
 اگر موردی نیاز به نظر انسان داشته باشد، در گزارش اعلام می‌شود.

## شروع سریع

به پایتون ۳.۱۰ یا بالاتر نیاز دارید.

اگر داکر نداری، با pip نصبش کن.

```bash
pip install git+https://github.com/masoudroot/persian-writing-mcp.git
obper-mcp
```

یا با داکر؛ از ریشهٔ ریپو بیلد بگیر.

```bash
docker build -t persian-writing-mcp .
docker run -p 8060:8060 -e OP_MCP_API_KEY=<redacted>
```

## وصل شدن به برنامه‌ها

- **Claude Desktop و Cursor**: همین دستور `obper-mcp` را به‌عنوان ابزار اضافه کنید؛
 بعد در هر گفت‌وگو می‌توانید بخواهید متنتان را ویراستاری کند.
- **n8n**: دو ورک‌فلوی آمادهٔ ایمپورت در پوشهٔ [examples](examples) هست
 (یکی ساده برای کار روزمره، یکی کامل با همهٔ مرحله‌های بالا)؛ راهنمایش در [docs/n8n.md](docs/n8n.md) است.
- **کد خودتان**: راهنمای کامل الگو با نمونه‌کد در [docs/deep-edit.md](docs/deep-edit.md) است.

اگر برنامه‌تان روی شبکه است، این دستور سرور را راه می‌اندازد.

```bash
obper-mcp --transport streamable-http --port 8060 --api-key SECRET
```

## برای توسعه‌دهندگان

۱۱ ابزار دارد؛ مهم‌ترین‌ها این‌هایند.

| ابزار | چه می‌کند |
|---|---|
| `smart_rules` | متن را می‌خواند و برای ایرادهایش چک‌لیست مخصوص می‌سازد |
| `mechanical_pass` | تمیزکاری خودکارِ بدونِ حدس + کنترل نهایی |
| `verify_regression` | چک می‌کند ایرادهای پیدا شده واقعاً حل شده‌اند یا نه |
| `diff_report` | فهرست دقیق همهٔ تغییرها، برای حسابرسی |
| `rule_pack` | چک‌لیست کوتاه برای یک نوع متن (مثلاً گزارش رسمی) |
| `search` / `ruling` / `read_note` | جست‌وجو و خواندن نکته‌ها |

## مشارکت

ایده و پول‌ریکوئست (درخواست ادغام) خوش می‌آید. پیش از پوش، تست‌ها را با این دو دستور اجرا کنید.

```bash
python tests/test_smoke.py
python tests/test_golden.py
```

## لایسنس

لایسنس MIT است؛ فایل [LICENSE](LICENSE) را ببینید.

TDQS

A3.5/5.0

Scored across 11 tools

Disambiguation3/5

The three rule-building tools (rule_pack, deep_rules, smart_rules) overlap heavily — all produce editing checklists for Persian text, and the distinctions (compact vs full vs diagnostic-driven) are subtle enough that an agent could easily misselect. Similarly, search, ruling, and rule_pack all query the same vault, with boundaries explained only in prose. The mechanical_pass/verify_regression/diff_report trio is more clearly separated by their distinct gate/ledger roles.

Naming Consistency4/5

All names are lowercase snake_case with no camelCase mixing, which is a solid baseline. However, the pattern shifts between verb_noun (read_note, map_vault, verify_regression, diff_report) and bare noun/verb forms (search, reindex, ruling), so the convention is mostly but not fully predictable.

Tool Count4/5

Eleven tools is a reasonable scope for a Persian editing pipeline plus vault access. It is slightly heavy given that three of them (rule_pack, deep_rules, smart_rules) occupy nearly the same slot, suggesting some consolidation is possible, but nothing is wildly out of range.

Completeness4/5

The editing pipeline is well-covered end to end: diagnose (smart_rules), fix (mechanical_pass), verify (verify_regression), and audit (diff_report), plus vault access via search/read_note/map_vault/reindex. The vault side is read-only with no note creation or update, but that may be intentional if notes are authored elsewhere, so the gap is minor.

Maintenance

ActivityNo data
ResponsivenessNo issues