MCP

مرجع الأدوات

كل أداة يعرضها خادم MCP من More.You، مع مدخلاتها وشكل ما تعيده ومثال جاهز للنسخ واللصق.

المصادقة

يتطلب كل طلب إلى https://mcp.more.you/api ترويسة Authorization برمز Bearer. وأمامك طريقتان للحصول على رمز.

OAuth (موصى به لعملاء الذكاء الاصطناعي)

يجري عملاء الذكاء الاصطناعي تسجيل العميل الديناميكي (Dynamic Client Registration) عند أول اتصال، ثم يمرّون بالمستخدم على شاشة موافقة OAuth. تتولى صفحة /mcp/connect ذلك تلقائيًا. يحصل عميلك على رمز وصول صالح 30 يومًا.

مفتاح API

للسكربتات وCI، أنشئ مفتاح API شخصيًا في تطبيق More.You من الحساب ← مفاتيح API. يبدأ المفتاح بالبادئة apikey_ ويُقدَّم كرمز Bearer مثل أي رمز آخر.

نقطة النهاية

تذهب كل استدعاءات الأدوات إلى نقطة نهاية JSON-RPC 2.0 واحدة عبر HTTPS POST.

POST https://mcp.more.you/api

الأدوات

list_scheduled_posts

اعرض منشوراتك المجدولة (في قائمة النشر ولم تُرسل بعد).

المعاملات

limitnumber ·اختياري · الافتراضي 20
أقصى عدد من النتائج (1-100، الافتراضي 20).
fromstring (ISO 8601) ·اختياري
طابع زمني ISO؛ لا يعيد إلا المنشورات المجدولة في هذا الوقت أو بعده.

ما يعيده

كائن يحوي posts: [{id, platform, content, scheduledAt, status}]. حتى limit نتيجة.

مثال

curl -X POST https://mcp.more.you/api \
  -H "Authorization: Bearer apikey_xxx" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/call","id":1,
       "params":{"name":"list_scheduled_posts",
                 "arguments":{"limit":5}}}'

list_drafts

اعرض مسودات منشوراتك (غير المجدولة بعد).

المعاملات

limitnumber ·اختياري · الافتراضي 20
أقصى عدد من النتائج (1-100، الافتراضي 20).

ما يعيده

كائن يحوي drafts: [{id, platform, content, updatedAt}]. حتى limit نتيجة.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":2,
 "params":{"name":"list_drafts","arguments":{"limit":10}}}

list_connected_accounts

اعرض الحسابات الاجتماعية المرتبطة بفريقك.

المعاملات

بلا معاملات.

ما يعيده

كائن يحوي accounts: [{platform, handle, connected, lastSyncAt}].

مثال

{"jsonrpc":"2.0","method":"tools/call","id":3,
 "params":{"name":"list_connected_accounts","arguments":{}}}

get_account_healthخطة مدفوعة

احصل على ملخص صحة عبر كل المنصات المرتبطة.

المعاملات

platformenum ·اختياري
المنصة الاجتماعية: twitter أو instagram أو linkedin أو threads أو tiktok.
windowDays7 | 30 | 90 ·اختياري · الافتراضي 30
نافذة النظر للخلف بالأيام: 7 أو 30 أو 90 (الافتراضي 30).

ما يعيده

كائن يحوي windowDays وpostsScheduled وpostsPublished وpostsFailed وتفصيلًا byPlatform وtopErrors[].

مثال

{"jsonrpc":"2.0","method":"tools/call","id":4,
 "params":{"name":"get_account_health",
           "arguments":{"windowDays":30}}}

create_post_draft

أنشئ مسودة منشور جديدة. لا تُنشر المسودات تلقائيًا.

المعاملات

platformenum ·مطلوب
المنصة الاجتماعية: twitter أو instagram أو linkedin أو threads أو tiktok.
contentstring ·مطلوب
نص المنشور (1-2200 حرف).
mediaUrlsarray<string> ·اختياري
حتى 10 روابط صور أو فيديو.
clientRequestIdstring ·اختياري
مفتاح تكرارية (idempotency) اختياري. المفتاح نفسه خلال 5 دقائق يعيد النتيجة المخزنة.

ما يعيده

كائن يحوي المسودة الجديدة: {id, platform, content, status: "DRAFT", createdAt}.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":5,
 "params":{"name":"create_post_draft",
           "arguments":{"platform":"twitter",
                        "content":"Hello from MCP"}}}

update_post_draft

حدّث مسودة موجودة. يجب تقديم content أو mediaUrls على الأقل.

المعاملات

postIdstring ·مطلوب
معرّف منشور More.You من استدعاء قائمة.
contentstring ·اختياري
نص المنشور (1-2200 حرف).
mediaUrlsarray<string> ·اختياري
حتى 10 روابط صور أو فيديو.
clientRequestIdstring ·اختياري
مفتاح تكرارية (idempotency) اختياري. المفتاح نفسه خلال 5 دقائق يعيد النتيجة المخزنة.

ما يعيده

كائن يحوي المسودة المحدّثة: {id, platform, content, mediaUrls, status, updatedAt}.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":6,
 "params":{"name":"update_post_draft",
           "arguments":{"postId":"",
                        "content":"Updated copy"}}}

connect_channel

أنشئ رابطًا لمرة واحدة يفتحه المستخدم ليفوّض ربط منصة جديدة.

المعاملات

platformenum ·مطلوب
المنصة الاجتماعية: twitter أو instagram أو linkedin أو threads أو tiktok.

ما يعيده

كائن يحوي authUrl (رابط لمرة واحدة يفتحه المستخدم للتفويض) وexpiresAt وplatform.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":7,
 "params":{"name":"connect_channel",
           "arguments":{"platform":"linkedin"}}}

schedule_post

انقل مسودة (حالتها DRAFT) إلى قائمة النشر BullMQ في وقت لاحق. متكرر الأثر ضمن انحراف ±60 ثانية؛ ويرفض محاولات إعادة الجدولة في وقت مختلف ما لم يسبقها إلغاء صريح.

المعاملات

postIdstring ·مطلوب
معرّف منشور More.You من استدعاء قائمة.
scheduledAtstring (ISO 8601) ·مطلوب
طابع زمني ISO 8601؛ يجب ألا يسبق الوقت الحالي بأكثر من 5 دقائق.

ما يعيده

كائن يحوي postId وscheduledAt (ISO) وstatus: SCHEDULED.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":8,
 "params":{"name":"schedule_post",
           "arguments":{"postId":"",
                        "scheduledAt":"2026-05-10T09:00:00Z"}}}

cancel_scheduled_post

ألغِ منشورًا مجدولًا وأزله من قائمة النشر. تبقى المسودة الأصلية محفوظة.

المعاملات

postIdstring ·مطلوب
معرّف منشور More.You من استدعاء قائمة.

ما يعيده

كائن يحوي postId وstatus: CANCELLED.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":9,
 "params":{"name":"cancel_scheduled_post",
           "arguments":{"postId":""}}}

delete_draft

احذف مسودة منشور نهائيًا. يرفض المنشورات غير DRAFT (استخدم cancel_scheduled_post للمنشورات SCHEDULED).

المعاملات

postIdstring ·مطلوب
معرّف منشور More.You من استدعاء قائمة.

ما يعيده

كائن يحوي postId وdeleted: true.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":10,
 "params":{"name":"delete_draft",
           "arguments":{"postId":""}}}

get_post

أعد PostGroup الكامل للمنشور postId مع المحتوى والحالة والطوابع الزمنية لكل منصة.

المعاملات

postIdstring ·مطلوب
معرّف منشور More.You من استدعاء قائمة.

ما يعيده

كائن يحوي postId وstatus وscheduledAt وcreatedAt وupdatedAt وproviders (سجل platform → content).

مثال

{"jsonrpc":"2.0","method":"tools/call","id":11,
 "params":{"name":"get_post",
           "arguments":{"postId":""}}}

search_posts

بحث بجزء من النص (غير حساس لحالة الأحرف) في محتوى المنشورات للفريق النشط. المرشحات: status وplatform وlimit (1-100، الافتراضي 20).

المعاملات

querystring ·مطلوب
الجزء النصي المراد البحث عنه (3-200 حرف؛ تُهرَّب رموز regex الخاصة).
statusenum ·اختياري
اختياري: DRAFT | SCHEDULED | PUBLISHED | FAILED | CANCELLED.
platformenum ·اختياري
المنصة الاجتماعية: twitter أو instagram أو linkedin أو threads أو tiktok.
limitnumber ·اختياري · الافتراضي 20
أقصى عدد من النتائج (1-100، الافتراضي 20).

ما يعيده

كائن يحوي posts: [{postId, status, platforms, snippet, scheduledAt, updatedAt}]. يحتوي snippet على السياق المطابق مع علامات حذف على الجانبين.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":12,
 "params":{"name":"search_posts",
           "arguments":{"query":"launch","limit":10}}}

list_teams

أعد الفرق التي يملكها المستخدم المصادَق أو يديرها، مع تعليم الفريق النشط حاليًا.

المعاملات

بلا معاملات.

ما يعيده

كائن يحوي currentTeamId وteams: [{teamId, teamName, isCurrent}].

مثال

{"jsonrpc":"2.0","method":"tools/call","id":13,
 "params":{"name":"list_teams","arguments":{}}}

set_current_team

بدّل الفريق النشط لرمز Bearer هذا. يجب أن يكون المستخدم عضوًا. يُحفظ في مستند رمز OAuth؛ والتغيير داخل الجلسة يسري فورًا على الأدوات اللاحقة في المحادثة نفسها.

المعاملات

teamIdstring ·مطلوب
teamId المستهدف من list_teams. تُعاد عضوية الفريق للتحقق من جهة الخادم.

ما يعيده

كائن يحوي teamId وteamName وpersisted (true مع OAuth وfalse مع مفتاح API) وnote اختياري.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":14,
 "params":{"name":"set_current_team",
           "arguments":{"teamId":"team_xxxxx"}}}

get_plan_limits

اقرأ مستوى اشتراك المستخدم الحالي وحصصه (القنوات والتخزين وأرصدة الذكاء الاصطناعي والنشر). متاحة في كل الخطط. مفيدة قبل أدوات التعديل لتتوقع هل سيُرفض الاستدعاء.

المعاملات

بلا معاملات.

ما يعيده

كائن يحوي tier وtierDisplayName وisPaid وisTrial وupgradeUrl وlimits (channels/storage/aiCalls/posts، كلٌّ بصيغة {limit, current, exceeded} أو {limit, allowed}) وcreditsAvailable ({total, subscriptionRemaining, purchasedBalance} أو null).

مثال

{"jsonrpc":"2.0","method":"tools/call","id":15,
 "params":{"name":"get_plan_limits","arguments":{}}}

get_post_metrics

اجلب مقاييس التفاعل لمنشور نُشر على كل منصة أُرسل إليها. تعيد Twitter وInstagram مقاييس كاملة (الإعجابات وإعادات التغريد/المشاركات والتعليقات/الردود ومرات الظهور)؛ وتعيد LinkedIn وThreads وTikTok حالة النشر والرابط فقط (جمع التفاعل مؤجل إلى إصدار لاحق). ويجمع ملخص إجماليات موحّد الإعجابات والتعليقات والمشاركات ومرات الظهور عبر المنصات التي أبلغت بها.

المعاملات

postId معرّف منشور More.You من استدعاء قائمة.

ما يعيده

كائن يحوي postId وstatus وproviders: [{platform, publishedPostId, publishedUrl, publishedAt, status, metrics}] وtotals: {likes, comments, shares, impressions}. metrics كائن بأعداد رقمية لكل منصة، أو null حين لا تجمع المنصة التفاعل بعد.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":16,
 "params":{"name":"get_post_metrics",
           "arguments":{"postId":""}}}

get_publish_status

شخّص ما حدث لمنشور مجدول: حالته في القائمة ونجاحه أو خطؤه على كل منصة ووقت المعالجة ومعرّف مهمة العامل. يعيد isScheduled=false للمنشورات الموجودة كمسودات ولم تُنقل قط إلى قائمة النشر، مع تلميح يشير إلى schedule_post.

المعاملات

postId معرّف منشور More.You من استدعاء قائمة.

ما يعيده

كائن يحوي postId وisScheduled وstatus وscheduledAt وpublishedAt وplatforms وprocessingTimeMs وjobId وtopLevelError وresults: [{platform, success, publishedPostId, publishedAt, error}]. يتضمن hint حين تكون isScheduled false.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":17,
 "params":{"name":"get_publish_status",
           "arguments":{"postId":""}}}

update_brand_profile

عدّل ملف العلامة النشط للمستخدم. الحقول المسموح بها: bio وbrandVoice وpersonalityTraits وmainThemes وexpertiseAreas وpreferredHashtags وaudienceSize. أي حقل آخر يُهمل بصمت. يُحدَّد الملف "النشط" بالملف الافتراضي للفريق أولًا، ثم أول ملف نشط يملكه المستخدم.

المعاملات

brandVoice مصفوفة أوصاف لصوت العلامة (مثل ["professional", "concise"]).

حقول أخرى قابلة للتعديل: bio وpersonalityTraits وmainThemes وexpertiseAreas وpreferredHashtags وaudienceSize.

ما يعيده

كائن يحوي profileId وname وupdated: [أسماء الحقول التي عُدّلت] والقيم الحالية للحقول bio وbrandVoice وpersonalityTraits وmainThemes وexpertiseAreas وpreferredHashtags وaudienceSize بعد التعديل.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":18,
 "params":{"name":"update_brand_profile",
           "arguments":{"brandVoice":["professional","concise"]}}}

get_best_time_to_post خطة مدفوعة

اقترح أفضل N خانة (dayOfWeek, hour) للمنشور التالي على منصة معيّنة، مرتبة حسب التفاعل لكل منشور خلال آخر 90 يومًا. تعيد Twitter وInstagram درجات موزونة بالتفاعل؛ أما LinkedIn وThreads وTikTok فترتيبها بتكرار النشر فقط. الأوقات بالمنطقة الزمنية IANA المحددة (الافتراضي UTC). يتطلب خطة مدفوعة.

المعاملات

platform المنصة الاجتماعية: twitter أو instagram أو linkedin أو threads أو tiktok.

timezone اسم منطقة زمنية IANA (مثل Europe/Berlin وAmerica/New_York). الافتراضي UTC.

topN عدد الخانات الموصى بها المطلوب إعادتها (1-24، الافتراضي 5).

ما يعيده

كائن يحوي platform وtimezone وsampleWindowDays وsampleSize وmetricsAvailable وrecommendations: [{dayOfWeek (1-7، الاثنين=1), dayLabel, hour (0-23), score, basedOn: {posts, avgEngagement}}]. يتضمن hint في حالات البداية الباردة أو غياب المقاييس.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":19,
 "params":{"name":"get_best_time_to_post",
           "arguments":{"platform":"twitter","timezone":"Europe/Berlin","topN":5}}}

search_tools

ابحث في كتالوج أدوات MCP بنص حر أو فئة أو غرض. يعيد الفئات وrequiresScope ووصفًا من سطر واحد ووسوم حالات الاستخدام المطابقة. مجانية لكل الخطط (واجهة الاكتشاف).

المعاملات

كلها اختيارية. استدعِ دون معاملات لعرض كل الأدوات المتاحة.

query بحث نصي حر في أسماء الأدوات وأوصافها ووسوم حالات الاستخدام.

category صفِّ إلى فئة واحدة: posts أو accounts أو analytics أو brand أو teams أو discovery أو other.

ما يعيده

كائن يحوي totalTools وmatchCount وcategories: [string[]] وtools: [{name, category, requiresScope, description, useCases, matchedOn: [name|category|description|use_case]}]. يتضمن hint حين لا توجد مطابقة أو لا مرشح.

مثال

{"jsonrpc":"2.0","method":"tools/call","id":20,
 "params":{"name":"search_tools",
           "arguments":{"query":"why did my post fail"}}}

موارد MCP

الموارد سياق للقراءة فقط يستطيع العميل جلبه عبر الطريقة resources/read في MCP. يسحبها Claude عند بدء المحادثة ليحصل على سياق الحساب والفريق والعلامة دون أن تعيد السؤال في كل جلسة.

moreyou://account/summary

البريد الإلكتروني واسم مستخدم الحساب (ليتأكد Claude من الحساب الذي يعمل عليه)، والخطة، وأرصدة الذكاء الاصطناعي المستخدمة / الحد، وعدد المسودات والمجدولة والقنوات المرتبطة. الأعداد محدودة بـ 100 لكل منها لسرعة التحميل.

moreyou://channels/connected

بالشكل نفسه الذي تعيده list_connected_accounts؛ تُعرض كمورد ليسحبها Claude مرة واحدة عند بدء المحادثة (دون رحلة استدعاء أداة).

moreyou://brand-profiles/active

ملف العلامة النشط للمستخدم (الافتراضي للفريق، وإن لم يوجد فأول ملف يملكه). يعيد الحقول المفيدة للنموذج اللغوي فقط: bio وexpertiseAreas وpersonalityTraits وbrandVoice وmainThemes وaudienceSize وpreferredHashtags.

moreyou://teams/current

بيانات الفريق الحالي (teamId وteamName) مع العدد totalTeamsAvailable. اقرنه بالأداتين list_teams وset_current_team للتبديل.

مسارات العمل المسماة

اختصارات في قائمة الشرطة المائلة تنسّق عدة أدوات. اختر واحدًا ودع مساعدك ينفّذ مهمة من عدة خطوات مع طلب التأكيد قبل تغيير أي شيء.

/weekly-plan

اقرأ ملف العلامة والقنوات المرتبطة والمنشورات المنتظرة، ثم اقترح 5 إلى 10 مسودات موزعة من الاثنين إلى الجمعة.

/draft-thread

اكتب سلسلة من 5 إلى 10 منشورات على Twitter أو Threads عن موضوع أو رابط تقدمه، بصوت علامتك.

/audit-queue

افحص منشورات الأيام السبعة القادمة المجدولة ونبّه إلى المكرر وازدحام المنصات والفجوات.

/channel-sweep

قارن القنوات المرتبطة بالمجموعة المدعومة واقترح ما تربطه أو تجدده.

نقاط الاكتشاف وOAuth

بيانات وصفية متوافقة مع المعايير ليضبط أي عميل MCP إعداداته تلقائيًا.

  • GET /.well-known/oauth-protected-resource/api: RFC 9728
  • GET /.well-known/oauth-authorization-server: RFC 8414
  • GET /oauth/.well-known/openid-configuration: OIDC
  • POST /oauth/reg: تسجيل العميل الديناميكي (RFC 7591)
  • GET /oauth/auth: التفويض (PKCE-S256 مطلوب)
  • POST /oauth/token: تبادل الرمز

مفتوح المصدر

وصفات جاهزة للصق ومرجع للمطورين في مستودع وثائقنا العام. مرخّص برخصة MIT؛ طلبات السحب مرحّب بها. github.com/moreyouhq/moreyou-mcp

أدِر قنواتك الاجتماعية من أي مساعد ذكاء اصطناعي

خطط للمنشورات واكتب مسوداتها وجدولها وراجعها على 7 منصات بمحادثة بسيطة مع Claude أو ChatGPT أو Cursor. اتصال آمن واحد يفتح كل ميزات More.You.

اللغة