MCP Server
Markdown (لـ LLMs)أضف التحقق من الاستشهادات الأكاديمية إلى Claude Desktop و Cursor وأي عميل متوافق مع MCP.
ما تحصل عليه
أداتان تُغلِّفان REST API لـ CiteTrue. نفس الأرصدة ونفس الدقة — فقط عبر MCP بدل HTTP.
| الأداة | الغرض | أرصدة / استدعاء |
|---|---|---|
| verify | Split a text blob into references and verify each against real sources. | 1 per ref; tricky ones up to 5 |
| get_credits | يُعيد رصيد أرصدة الحساب. | 0 |
بداية سريعة
- انتقل إلى لوحة التحكم → مفاتيح API وانقر مفتاح API جديد. انسخ المفتاح الذي يبدأ بـ
sk_. - افتح إعدادات عميل MCP (انظر إعداد العميل) وأضف كتلة citetrue.
- أعد تشغيل عميل MCP — ليس فقط المحادثة، بل التطبيق بأكمله.
- اطلب من المساعد «تحقق من هذه الاستشهادات: [الصق]». سيستدعي verify ويُلخص.
إعداد العميل
أي عميل MCP عبر stdio يعمل. أدناه الثلاثة الأكثر شيوعًا؛ والآخرون يستخدمون نفس البنية.
Claude Desktop
ثبّت CiteTrue كامتداد في Claude Desktop — دون تحرير JSON ودون إعداد Node. يعمل الخادم المُجمّع على Node المُرفق مع Claude Desktop.
تنزيل لـ Claude Desktopانقر نقرًا مزدوجًا على الملف الذي نزّلته (أو اسحبه إلى الإعدادات → Extensions) والصق مفتاح API عند الطلب — يُخزَّن بأمان في سلسلة مفاتيح نظام التشغيل.
مهم: بعد التثبيت، تأكد من أن الامتداد مُفعَّل (قيد التشغيل) في الإعدادات → Extensions ثم أعد تشغيل Claude Desktop — هذا ما يُفعِّل أدواته.
أو الإعداد يدويًا
حرّر ~/Library/Application Support/Claude/claude_desktop_config.json على macOS، و%APPDATA%\Claude\claude_desktop_config.json على Windows:
{
"mcpServers": {
"citetrue": {
"command": "npx",
"args": ["-y", "@citetrue/mcp-server"],
"env": {
"CITETRUE_API_KEY": "sk_..."
}
}
}
}Cursor
في Settings → MCP → Add new MCP server، استخدم نفس بنية command / args / env الموجودة في JSON Claude Desktop أدناه.
Windsurf، Zed، وغيرها
أي عميل MCP عبر stdio يعمل — مهما كان مسار التكوين، الحقول الثلاثة نفسها (command، args، env).
التكوين
| متغير بيئة | الافتراضي | ملاحظات |
|---|---|---|
| CITETRUE_API_KEY | — (مطلوب) | رمز Bearer من لوحة التحكم. |
| CITETRUE_API_URL | https://api.citetrue.com | تجاوز في حال النشر الذاتي. |
الأدوات
verify
Split a free-form text blob into individual references and verify each against real sources. Every reference goes through the same flow, and each one in the result reports what it cost.
المعاملات
Supply exactly one of text or taskHash:
textstring — raw text containing one or more references: numbered / bulleted / blank-line-separated lists, BibTeX, or prose with in-text author-year citations. Max 10MB.taskHashstring — resume a task started by an earlier call (thetaskHashit returned). Finished results are replayed without charging again; citations that still need checking are completed and billed as usual.forcebool, optional — ignore cached results and check the text again from scratch (billed like a new check). Only applies withtext.
الناتج
{
"taskHash": "...",
"refs": [
{
"hash": "a1b2c3...",
"text": "[1] Vaswani, A., Shazeer, N., Parmar (2017)...",
"assessment": "authentic",
"value": {
"type": "citation",
"title": "Attention is all you need",
"authors": ["A Vaswani", "N Shazeer", "N Parmar"],
"year": 2017,
"url": "https://..."
},
"note": "",
"notices": [],
"confidence": 0.97,
"cost": 1
}
],
"cost": 2,
"balance": 248
}Each ref's cost is what the task has charged for that citation: 1 for most citations, up to 5 for tricky ones that needed more data sources and more analysis, 0 if it was already paid for in another task. Resuming a task with taskHash reports the same per-ref numbers again — they are not new charges. The top-level cost is what this call newly charged (0 when a finished task is simply replayed), and balance is what's left afterwards — it can be negative (see Billing). note is a free-form one-line natural-language explanation in English (intended for end-user display); for programmatic checks, match on notices[] instead.
Assessment values
authentic— paper exists and is the one cited;valuecontains the matched paper.unsure— found something but can't confirm;noticesandconfidencedescribe why.inauthentic— definitively not found / fabricated / unrelated.invalid— input wasn't a citation; pipeline refused to search.error— verification failed on this ref;errors[]lists tokens.exceeded— credits ran out before this ref ran.
الفوترة
Same credits as the REST API. Most citations cost 1 credit. Tricky ones that need more data sources and more analysis can cost up to 5. If you run out of credits mid-check, citations already in progress still finish; the overage is deducted at your next credit reset, so balance can be negative. Citations that couldn't start for lack of credits come back as exceeded. get_credits is free.
استكشاف الأخطاء
If the server fails to start, ensure npx is on PATH and CITETRUE_API_KEY is set.
يتولى صيانته فريق CiteTrue · آخر تحديث: