مرجع أدوات MCP
أدوات ميم وحقول الإدخال المستخرجة من تعريفات الخادم.
آخر مراجعة:
استخدم تعريف الاتصال الحالي
اتصل بعنوان https://memm.ai/api/mcp من عميل متوافق. اكتشف التعريف الحالي عبر tools/list واستدعِ الأدوات عبر tools/call. هذه عمليات في البروتوكول وليست روابط REST منفصلة.
يُنشأ المرجع أدناه من مصدر الخادم عند بناء الوثائق. توضّح الحقول المطلوبة شروط الإدخال الأساسية؛ لبعض مجموعات الإعدادات قواعد إضافية مذكورة في الأدلة. تبقى أسماء الأدوات والحقول بالإنجليزية في اللغتين. تعريف الاتصال وعرض التكلفة الجديد مقدّمان على الأمثلة.
الأدوات ومدخلاتها
memm_list_designsعرض النتائج المحفوظة في حسابك.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
limit | لا | z.number().int().min(1).max(50).optional() |
since | لا | z.string().optional() |
published_only | لا | z.boolean().optional() |
الوصف التقني الأصلي بالإنجليزية
List the most recent designs generated in Memm (memm.ai), newest first, each with its Canvas projectId (null = the main canvas). Read-only, costs nothing.
memm_get_designقراءة تفاصيل نتيجة واحدة ووصفها.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
id | نعم | z.string().uuid() |
الوصف التقني الأصلي بالإنجليزية
Fetch one design by id, including its full prompt, the agent's refined prompt, model, dimensions and image URL. Read-only.
memm_search_galleryالبحث في معرض ميم العام.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
query | لا | z.string().optional() |
category | لا | z.string().optional() |
limit | لا | z.number().int().min(1).max(50).optional() |
الوصف التقني الأصلي بالإنجليزية
Search Memm's published showcase (the /discover gallery) by brand, prompt text or category. Returns each design's model, its full prompt (public on Discover) and its live memm.ai/discover URL. Read-only.
memm_get_creditsمعرفة الرصيد والخطة وحدود الحساب.
لا يتطلب حقول إدخال.
الوصف التقني الأصلي بالإنجليزية
Return the credit balance, the plan (planName: Lite, Starter, Pro, Business or Enterprise) and whether a clip or an audio file is being made right now. Credits are the only limit: there is no daily generation limit, and the owner account is unlimited. Call this before generating. Read-only, free. credits (and creditBalanceDisplay) is the balance in credits (halves allowed, e.g. 3.5), the unit every price in memm_list_models and memm_quote_generation_cost uses; creditBalance is the same balance in UNITS (1 credit = 400 units), kept for memm_generate_design.
memm_generate_designأداة قديمة للتوافق فقط. استخدم memm_generate للعمل الجديد.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
prompt | نعم | z.string().min(1) |
model | لا | z.enum(MCP_MODELS).optional() |
quality | لا | z.enum(MCP_QUALITIES).optional() |
aspect_ratio | لا | z.enum(MCP_ASPECT_RATIOS).optional() |
text_overlay | لا | z.boolean().optional() |
text_language | لا | z.enum(MCP_TEXT_LANGUAGES).optional() |
reference_image_urls | لا | z.array(z.string().url()).max(4).optional() |
confirm_credit_cost | نعم | z.number().int() |
idempotency_key | لا | z.string().optional() |
الوصف التقني الأصلي بالإنجليزية
DEPRECATED, kept so existing callers keep working: new work should use memm_generate, which runs every launched model the way the Canvas Direct panel does. This older tool runs only three image models (google/nano-banana, google/nano-banana-pro, gpt-image-2) through the older Canvas pipeline. THIS SPENDS REAL MONEY. Get the exact cost first from memm_quote_generation_cost with this tool's model and quality and NO option, and pass its creditCost back as confirm_credit_cost. confirm_credit_cost is in UNITS, not credits (1 credit = 400 units); when telling the user a price, quote credits. A mismatch refuses the call without generating. The result is saved to the user's Memm library. Pass an idempotency_key so a retry returns the existing design instead of generating (and paying) twice.
memm_list_brandsعرض ملفات العلامات التجارية.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
limit | لا | z.number().int().min(1).max(50).optional() |
الوصف التقني الأصلي بالإنجليزية
List the brand profiles on this account — colours, fonts, tone, benefits, hero imagery. Use one to keep generations on-brand for a specific client. Read-only, free.
memm_get_brandقراءة ملف علامة تجارية واحدة.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
id | نعم | z.string().uuid() |
الوصف التقني الأصلي بالإنجليزية
Fetch one brand profile in full. Feed its colours, tone and audience into a generation prompt so the design matches the client's identity. Read-only, free.
memm_list_productsعرض المنتجات وصورها المرجعية.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
limit | لا | z.number().int().min(1).max(50).optional() |
الوصف التقني الأصلي بالإنجليزية
List saved products and their reference images. The image URLs can be passed straight into memm_generate (image_urls). Read-only, free.
memm_upload_referenceرفع صورة مرجعية صغيرة. للملفات المحلية استخدم تذكرة الرفع.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
image_base64 | نعم | z.string().min(1) |
filename | لا | z.string().optional() |
product_id | لا | z.string().uuid().optional() |
product_name | لا | z.string().optional() |
الوصف التقني الأصلي بالإنجليزية
Upload a SMALL product photo (under about 200 KB) as base64 and get back a URL usable as a reference; it is stored in the user's own Memm product library. For any bigger image or any file on disk use memm_get_upload_ticket instead: an assistant cannot reliably pass hundreds of kilobytes of base64 inside a tool call. Do NOT upload to any third-party service. Free, no credits.
memm_get_upload_ticketالحصول على تذكرة لرفع ملف محلي (صورة أو أغنية أو فيديو) مباشرة إلى ميم.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
filename | نعم | z.string().min(1).max(255) |
content_type | نعم | z.enum(TICKET_CONTENT_TYPES) |
size_bytes | لا | z.number().int().optional() |
الوصف التقني الأصلي بالإنجليزية
USE THIS for any file on the user's machine: a product photo (JPEG, PNG or WebP, up to 10 MB), a song to lip-sync to or the recording a HeyGen Avatar IV photo or Avatar V presenter speaks (MP3 or WAV, up to 15 MB; content_type audio/mpeg or audio/wav) or a video (a motion video for Kling motion control, or the video to edit with Wan 2.7 Edit; MP4 or MOV, up to 100 MB; content_type video/mp4 or video/quicktime). It uploads from the shell, so no file data passes through a tool call. Pass size_bytes (the file's size) when you know it. Files up to 4.4 MB go THROUGH memm.ai itself (nothing but memm.ai has to be reachable); a bigger file goes straight to storage at vercel.com. Returns finalUrl (the Memm URL the file will have), a ready curl command (Git Bash, macOS, Linux) and a PowerShell command, each with a <path> placeholder to replace with the file's path, the expiry (10 minutes), and the limit (one file per ticket); `fallback` holds the direct vercel.com commands for a file over 4.4 MB. Run the command; the upload answers JSON whose "url" field is the final address. If the command is blocked (HTTP 403, a proxy or connection error), the user's Claude Code sandbox may block the domain: ask them to allow memm.ai (or vercel.com for a big file) in the sandbox network settings, or to approve the command outside the sandbox. Then pass that URL in memm_generate: image_urls for a photo, audio_url for a song or a recording, video_url for a motion video. Free, no credits; a daily limit by plan applies.
memm_create_productإنشاء منتج لتنظيم صوره المرجعية.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
name | نعم | z.string().min(1) |
category | لا | z.string().optional() |
الوصف التقني الأصلي بالإنجليزية
Create an empty product in the library to group reference images under. Free.
memm_quote_generation_costطلب التكلفة الدقيقة دون إنشاء نتيجة.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
model | لا | z.string().min(1).optional() |
option | لا | z.string().optional() |
quality | لا | z.enum([...MCP_QUALITIES, "pro"]).optional() |
shape | لا | z.enum(MCP_STUDIO_SHAPES).optional() |
mode | لا | z.enum(MCP_STUDIO_MODES).optional() |
image_count | لا | z.number().int().min(0).max(10).optional() |
image_views | نعم | GENERATION_FIELDS.image_views |
pose_mode | نعم | GENERATION_FIELDS.pose_mode |
audio_url | لا | z.string().url().optional() |
presenter | لا | z.string().min(1).max(80).optional() |
video_url | لا | z.string().url().optional() |
resolution | لا | z.enum(["720p", "1080p"]).optional() |
character_orientation | لا | z.enum(["video", "image"]).optional() |
image_urls | لا | z.array(z.string().url()).max(1).optional() |
jobs | لا | z.array(z.object({ model: z.string().min(1), option: z.string().optional(), shape: z.enum(MCP_STUDIO_SHAPES).optional(), mode: z.enum(MCP_STUDIO_MODES).optional(), image_count: z.number().int().min(0).max(10).optional(), })).min(1).max(10).optional() |
الوصف التقني الأصلي بالإنجليزية
Return the exact live price of a generation without generating anything. Free. For memm_generate: pass model and option (from memm_list_models), plus mode and image_count when you attach images, because a few options cost more with images. The answer's credits (also given as confirm_credit_cost) is what memm_generate needs, in credits; a price can be a half credit (Nano Banana 2 is 1.5). For memm_generate_batch: pass jobs (each job's model, option, shape, mode and image_count) instead; the answer's totalCredits is the batch's confirm_total_credit_cost. For the deprecated memm_generate_design: pass its model (google/nano-banana, google/nano-banana-pro, gpt-image-2) and quality and NO option, plus image_count when you will send reference_image_urls (gpt-image-2 Hi-Fi with photos costs more); creditCost is in UNITS and creditCostDisplay in credits. For Wan 2.7 Lip-sync pass audio_url (and resolution), for HeyGen Avatar IV pass audio_url (the voice-over recording; no resolution), for HeyGen Avatar V pass audio_url and presenter (no photo, no resolution), for Kling 3.0 Motion Control pass video_url (and quality, character_orientation), for a video-edit model pass video_url (and resolution): Memm reads the file's length and prices the smallest cap that covers it, so the quote needs the uploaded file.
memm_list_modelsعرض النماذج والخيارات المتاحة لحسابك.
لا يتطلب حقول إدخال.
الوصف التقني الأصلي بالإنجليزية
Every model Memm offers in Direct mode, grouped by kind (image, video, voice, music, 3d): name, lab, what it is best for, the modes it takes (text only, reference images, start frame, start and end frames) with how many images each takes, its shapes and durations, and the price of each option in credits, halves allowed (with and without images). Voice-over models list their voices (Arabic-capable first), languages and the character limit each price covers; music and sound-effect models list their lengths and controls (instrumental, lyrics). Also says which options your plan allows. Options switched off by the daily price watch are left out. Read-only, free. Call this first to choose a model and option for memm_generate. 3D models include Meshy, Tripo, Hunyuan, Rodin and Trellis; each lists option modes, rigging (axes.rig), file format, photo counts, prompt rules and named views where required. Video models with a drivenBy block (Wan 2.7 Lip-sync, HeyGen Avatar IV and V, Kling 3.0 Motion Control, Wan 2.7 Edit) are driven by the user's own file: drivenBy lists the inputs, the limits, how the length picks the price, where the files come from and that these never queue (HeyGen Avatar V's drivenBy also lists its presenters: name, gender and a preview picture). The HeyGen models are listed only for an account that may use them.
memm_generateإنشاء نتيجة بعد الموافقة على تكلفتها. استخدم مفتاح إعادة محاولة ثابتًا.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
model | نعم | z.string().min(1) |
option | لا | z.string().optional() |
shape | لا | z.enum(MCP_STUDIO_SHAPES).optional() |
prompt | نعم | z.string() |
mode | لا | z.enum(MCP_STUDIO_MODES).optional() |
image_urls | لا | z.array(z.string().url()).max(10).optional() |
image_views | لا | z.array(z.enum(MCP_THREED_VIEWS)).max(8).optional() |
pose_mode | لا | z.enum(["", "a-pose", "t-pose"]).optional() |
voice | لا | z.string().min(1).max(60).optional() |
language | لا | z.enum(MCP_AUDIO_LANGUAGES).optional() |
dialect | لا | z.string().min(1).max(10).optional() |
pace | لا | z.enum(MCP_AUDIO_PACES).optional() |
style | لا | z.string().max(400).optional() |
instrumental | لا | z.boolean().optional() |
lyrics | لا | z.string().max(4000).optional() |
seconds | لا | z.number().int().min(1).max(22).optional() |
audio_url | لا | z.string().url().optional() |
presenter | لا | z.string().min(1).max(80).optional() |
video_url | لا | z.string().url().optional() |
resolution | لا | z.enum(["720p", "1080p"]).optional() |
character_orientation | لا | z.enum(["video", "image"]).optional() |
quality | لا | z.enum(["pro", "standard"]).optional() |
keep_original_sound | لا | z.boolean().optional() |
talking_style | لا | z.enum(["stable", "expressive"]).optional() |
consent_confirmed | لا | z.boolean().optional() |
consent_basis | لا | z.enum(["self", "someone_else", "not_real"]).optional() |
confirm_credit_cost | نعم | z.number().min(0).multipleOf(0.5) |
idempotency_key | لا | z.string().min(1).max(200).optional() |
project_id | لا | z.string().uuid().optional() |
الوصف التقني الأصلي بالإنجليزية
Generate an image, a video clip, a voice-over, a music track, a sound effect or a 3D model with any runnable model from memm_list_models, exactly like the Canvas Direct panel: same prices, plan rules, safety check, limits, charge once and refund once on failure. THIS SPENDS REAL CREDITS. First get the price from memm_quote_generation_cost and pass it as confirm_credit_cost, in CREDITS (not units; halves are allowed, e.g. 1.5); a different number is refused and nothing is charged. The prompt is rendered as written (no agent rewrites it): if the user wants a text-free image, describe no headline or caption. For a voice-over the prompt is the exact script (within the character limit of the option; a longer script is refused before any charge), with voice, language and the other voice fields; for music and sound effects it is the description (instrumental is the default; set it to false and pass lyrics for vocals on models that take lyrics). Images finish in this call and return imageUrl; video, voice-over, music and 3D return a running jobId, so poll memm_get_job until state is done (audioUrl for sound; modelUrl, modelFormat and downloadUrl for 3D). Meshy rigging options take text or one photo; several-photo options are unrigged. LIP-SYNC TO A SONG (Wan 2.7 Lip-sync): upload the song with memm_get_upload_ticket (audio/mpeg or audio/wav), pass image_urls with exactly 1 clear, front-facing photo of one adult (the person who will sing or speak), audio_url, resolution, optionally prompt (the performance direction: feeling and movement, never appearance; same price); the clip is as long as the audio, 3 to 15 sec, never trimmed. HEYGEN AVATAR IV (only when memm_list_models lists it for this account; a photo speaks the user's own recording): upload the recording with memm_get_upload_ticket (audio/mpeg or audio/wav, MP3 or WAV, 1 to 15 sec), pass image_urls with exactly 1 clear, front-facing photo of one adult (the person who speaks), audio_url, optionally talking_style (stable, the default, or expressive) and shape (Tall by default), and an EMPTY prompt: it takes no text, no resolution (always 1080p) and no video_url. The clip is as long as the recording, never trimmed; a recording over 15 sec: ask the user which part to use and never cut it yourself. HEYGEN AVATAR V (only when memm_list_models lists it for this account; a ready-made presenter speaks the user's own recording): upload the recording with memm_get_upload_ticket (audio/mpeg or audio/wav, MP3 or WAV, 1 to 15 sec), pass presenter (exactly one name from its drivenBy.presenters, which the USER chooses), audio_url, optionally shape (Tall by default), and an EMPTY prompt: it takes NO photo (never image_urls), no text, no talking_style and no resolution (always 1080p). The clip is as long as the recording, never trimmed; a recording over 15 sec: ask the user which part to use and never cut it yourself. MOTION CONTROL (Kling 3.0 Motion Control): upload the motion video (video/mp4 or video/quicktime), pass image_urls with exactly 1 character photo, video_url, quality, character_orientation and keep_original_sound; the clip is as long as the video, up to 30 sec. VIDEO EDIT (a model whose drivenBy says edit your own video): upload the video (video/mp4 or video/quicktime), pass video_url, prompt (the instruction, required), resolution, keep_original_sound and image_urls with at most 1 reference photo; the edited clip is as long as the video, 3 to 10 sec, never trimmed. For all of these, memm_quote_generation_cost needs the same audio_url or video_url (and presenter for HeyGen Avatar V), because the file's length picks the price. A video clip sent while every video slot of the plan is busy is charged and returns state queued: it starts on its own when a slot frees (memm_cancel_job refunds it until then). Lip-sync, HeyGen Avatar IV and V, motion control and video edit are the exception: they never queue, so while a clip is running they answer VIDEO_IN_FLIGHT (nothing charged): poll the running clip with memm_get_job, then send again. Their files come only from the user (never download a song, a recording or a video from a link or website; if you cannot run the upload command, send the user to the Video tab at https://memm.ai/canvas); a song over 15 sec: ask which part they want (a video to edit over 10 sec: ask them to trim it first); these have no permission question to ask: tell the user the price and wait for a clear yes. Every finished result also appears in the user's Canvas grid. Pass an idempotency_key so a retry returns the first job instead of generating (and paying) twice.
memm_generate_batchإرسال مجموعة مهام مدعومة بتكلفة إجمالية مؤكدة. راجع أنواع الوسائط المقبولة.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
jobs | نعم | z.array(z.object(GENERATION_FIELDS)).min(1).max(10) |
confirm_total_credit_cost | نعم | z.number().min(0).multipleOf(0.5) |
idempotency_key | نعم | z.string().min(1).max(160) |
project_id | لا | z.string().uuid().optional() |
الوصف التقني الأصلي بالإنجليزية
Send up to 10 video, voice-over or music jobs at once (images: use memm_generate). THIS SPENDS REAL CREDITS. First call memm_quote_generation_cost with the same jobs (the jobs field) and pass its totalCredits as confirm_total_credit_cost; a different total is refused and nothing is charged. Before any charge Memm checks every job, that the balance covers the whole total, that the video queue has room for every clip and that generation is not paused: if any check fails the whole batch is refused and nothing is charged. Then each job is charged and refunded on its own, in order: clips beyond the plan's free slots wait (state queued) and start on their own in that order. Voice-overs and music run at most 3 at a time and do not queue, so a batch may carry only as many as are free. The answer lists each job (jobId, state, credits, or why it was refused and what happened to its credits) and jobIds: poll them all with memm_get_job job_ids. Re-sending the same batch with the same idempotency_key charges nothing again for the jobs already made. Counts as one call against the 5-a-minute limit.
memm_list_projectsعرض المشاريع ومعرّفاتها لاختيار وجهة الحفظ.
لا يتطلب حقول إدخال.
الوصف التقني الأصلي بالإنجليزية
List the user's Canvas projects (folders for designs), newest first, with each one's design count. Pass a projectId as memm_generate's project_id to put the result in that project. Read-only, free.
memm_get_jobمتابعة مهمة أو عدة مهام وقراءة روابط نتائجها.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
job_id | لا | z.string().uuid().optional() |
job_ids | لا | z.array(z.string().uuid()).min(1).max(10).optional() |
الوصف التقني الأصلي بالإنجليزية
The state of one memm_generate job (or of up to 10 with job_ids): running, done (with imageUrl, videoUrl, audioUrl or modelUrl, a download link and the Canvas designId) or failed (with whether the credits were refunded). A running clip or audio file is checked with the vendor on each call. A lip-sync or motion-control job also returns boundInputs (the song or video it was made from and its measured length, and the photo URLs): compare them with what you sent before you show or trust the clip. Free.
memm_cancel_jobإلغاء فيديو ما زال في الانتظار واسترداد رصيده.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
job_id | نعم | z.string().uuid() |
الوصف التقني الأصلي بالإنجليزية
Cancel a video clip that is still waiting for a free slot (memm_get_job state queued) and give its credits back (the answer says how many went back). A clip that has started cannot be cancelled (the vendor is already making it); images never wait. Free.
memm_list_jobsعرض المهام الأخيرة مع إمكانية تحديد نوعها.
| الحقل | مطلوب | تعريف الإدخال |
|---|---|---|
limit | لا | z.number().int().min(1).max(50).optional() |
kind | لا | z.enum(MCP_JOB_KINDS).optional() |
الوصف التقني الأصلي بالإنجليزية
Recent Direct-mode jobs on this account (from memm_generate and from the Canvas Direct panel), newest first, with their state and result URLs. Read-only, free.