opencode

Connect OpenCode to Memelord

Run OpenCode as a hosted agent in NoClick with Memelord wired into its tools handle. It can use Memelord directly while it works. No glue code, nothing to install. Click below to open a ready-to-run agent and connect your account.
Loading preview…
Opens a workflow with 17 tools ready to use.

Set up in minutes

The open button drops you into a guided setup. It asks exactly this, nothing else:
  1. Choose where it runs

    On your computer through your own OpenCode, or hosted in the cloud. The rest of setup adapts to your choice:

  2. Pick what it can do in Memelord

    A preset of real Memelord operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.

  3. Connect Memelord

    One sign-in. The agent acts through your account, scoped to the operations you picked.

  4. Add your personal MCP link

    The last step mints a private MCP URL for this agent and walks you through exactly this, with your real link filled in. The page flips to Connected the moment your OpenCode first calls in. opencode mcp add only saves the config. OpenCode connects when it starts — run opencode, or restart a running one.

    1. Run this in your terminal

    $opencode mcp add

    2. Choose Remote and paste your server URL

    https://mcp.noclick.app/s/<your-link>

    3. Choose No when asked about OAuth authentication — the link itself is the key

    <your-link> is your personal server URL — setup mints it for you.

Tools OpenCode gets

Pick the operations you want and each becomes a tool the agent can call directly while it works.

Memelord

17 tools
Search Memes

Search Memelord's template library of memes, video clips, and stickers. Default method "semantic_context" matches what a meme MEANS or depicts (natural-language queries like "when the deploy works on the first try"). Use "fulltext" for exact names and proper nouns ("drake", "spongebob"), "fuzzy" for misspellings, "semantic_combined" when visual identity matters, or "semantic_media" with media_url to find templates that look like a given image. Results come best match first and include ids you can pass as template_id to generate_caption_meme / generate_ai_meme / generate_video_meme / get_meme_template. Paging: each response has has_more and next_offset; to get the next page, repeat the exact same call (same query, method, filters, limit, min_score) with offset set to next_offset, and stop when has_more is false (next_offset is null). Pass ids you already have in exclude_ids only when starting a fresh search, not while paging, or the pages shift. Free.

Get Meme Template

Fetch one template asset by id: name, type (meme | video | sticker), media URL, description, tags, dimensions, and how many text slots its layout has. Use it to inspect a search result before generating with template_id. Free.

Get Trending Memes

What's trending right now: the most recent curated trending templates with a short cultural-context blurb explaining the format. Use it to pick timely templates for generate_caption_meme / generate_ai_meme / generate_video_meme, or to answer "what memes are hot this week". NSFW drops are never included. Free.

List Image Tools

Catalog of one-shot image tools you can run with run_image_tool: celebrity face swaps (Trump, Elon, Zuck, Vance, …), filters (Bust Down, Wojakify, GigaChad, Looksmaxxing, mugshot, Windows 95), and text-to-image generators (mascots, logos, Pokémon-style cards). Each entry lists its tool_id, whether it needs an image and/or a prompt, and any extra params. Free.

Generate Caption Meme

Classic caption memes: Jester picks a real meme template from the library (or uses template_id), writes new text for its caption slots, and renders that text on the unchanged template image. The picture is never AI-edited or repainted — use generate_ai_meme for that. Returns signed image URLs plus template_id, caption_slots, and an edit_handle you can hand to edit_meme to change the wording. Use search_memes or get_trending_memes first if you want to pick the template yourself. Billed against your usage balance.

Generate Ai Meme

AI-remixed image memes: Jester picks a meme template (or uses template_id), AI-edits the picture itself to fit the joke — swapping subjects, adding objects, or painting in people and products from reference_image_urls — then captions it. Use generate_caption_meme instead when you only want new text on an unchanged classic template. Returns signed image URLs plus template_id, caption_slots, and an edit_handle for edit_meme. Billed against your usage balance.

Edit Meme

Change the text of an image meme you already generated. Pass the edit_handle from a generate_caption_meme / generate_ai_meme (or previous edit_meme) result together with a plain-language instruction; use the slot numbers from that result's caption_slots as target_index to change just one box. Re-renders the image and returns a fresh URL, the updated caption_slots, and a new edit_handle (earlier handles stay valid, so you can branch from any version). Handles only work for the account that created them. Billed against your usage balance.

Generate Video Meme

Generate AI-captioned video memes from a topic. Jester picks video templates (or uses template_id), writes the caption text, and starts render jobs. Rendering is asynchronous: this returns job_ids immediately — poll check_video_status (or list_video_jobs) until status is "completed" to get the MP4 URL. Billed against your usage balance.

Edit Video Meme

Rewrite the caption of a video meme and re-render it. Provide the template_id and the current caption from a previous generate_video_meme job plus a plain-language instruction. Starts a new render job — poll check_video_status for the MP4. Billed against your usage balance.

Check Video Status

Check one video job from any video-producing tool. Returns status (pending / processing → completed | failed) and the MP4 download URL once complete. Free — poll every few seconds after a tool returns a job_id.

List Video Models

List the pro AI video models this account can run — Kling 3.0, Kling O3, Seedance, Wan 3.0, Cinema Studio 4.0 (run with run_video_model), Genjutsu character transpose (run with run_genjutsu), and Gemini Omni, Google's Gemini video model for editing a clip, animating a still, or generating from a prompt (run with run_gemini_omni). Each entry lists required and optional inputs, rules, and params (options, ranges, defaults). Call this before run_video_model to pick a model and valid params. Free.

Run Video Model

Generate new AI video footage with one model from list_video_models: from a prompt alone, a start frame (image_url, optional end_image_url), or reference images / clips / audio. Use this for original footage ("a cinematic drone shot over Tokyo at night", "animate this photo"). For a meme template turned into a captioned video clip use generate_video_meme; for still images use run_image_tool or generate_ai_meme; to put a person into an existing clip use run_genjutsu. Media must be public URLs the user provided — never invent or guess them; if the user gave you local files, upload them with upload_media and pass the returned url. Invalid requests come back as status "invalid_request" listing every problem, with nothing charged. The request's full cost is reserved from your usage balance before it starts; a balance that cannot cover it gets the usual usage-balance error and nothing is started or charged. Returns a job_id; poll check_video_status until completed (usually a few minutes). Billed against your usage balance per generated second once the job finishes; the reservation is released if it fails.

Run Genjutsu

Genjutsu character transpose: put a person or character into an existing video clip while keeping its motion, choreography, camera, timing, and audio ("put me in this music video", "swap the dancer for my character"). Needs the source clip (video_url, or video_job_id of a finished video on this account) and 1-8 photos in total of who to put in (character_image_urls for one person). Several people can be recast in ONE call: pass characters=[{target, image_urls}] with one entry per person, where target is who in the source clip they replace ("the king", "the guy playing chess") and image_urls are that person's own photos; all entries share the 8-photo cap. Both must be real media the user provided — never invent, guess, or substitute URLs. When the user gives you local photos or a local clip, upload each with upload_media first (clips over 3 MB via create_media_upload_url) and pass the returned urls. If anything is missing the call returns status "needs_input" listing everything still needed, with nothing started or charged: ask the user once, then call again. To generate new footage use run_video_model; for meme-template video clips use generate_video_meme. The clip's full cost is reserved from your usage balance before it starts; a balance that cannot cover it gets the usual usage-balance error and nothing is started or charged. Returns a job_id; poll check_video_status until completed. Billed against your usage balance per second of the source clip once the job finishes; the reservation is released if it fails.

Run Gemini Omni

Run Gemini Omni, Google's Gemini video model, by name. Three lanes, picked from the inputs: EDIT an existing clip with a plain-language instruction (video_url, or video_job_id of a finished video on this account, plus prompt — "make it snow", "turn the car red", "add a top hat on the dog"); ANIMATE a still (image_url + prompt); or GENERATE a short clip from the prompt alone. Up to 3 reference_image_urls can ground identity, product, or style. Media must be public URLs the user provided — never invent or guess them; if the user gave you local files, upload them with upload_media first and pass the returned url. This runs Omni only: a safety-filter block comes back as an error instead of being re-routed to another model (for an edit that may try other engines use run_agent; for captioned meme clips use generate_video_meme; for other AI video models use run_video_model). Invalid requests come back as status "invalid_request" listing every problem, with nothing charged. Returns a job_id; poll check_video_status until completed (usually a couple of minutes). Billed against your usage balance once the render finishes.

Run Agent

Hand a natural-language request to Jester, Memelord's full meme agent — the same brain behind the Memelord chat. Jester decides what to do: search templates, caption a meme, remix a format, edit or generate an image, face-swap, make or caption a video, add text-to-speech or lipsync, convert to GIF, and more. Use this when a request does not map cleanly onto a specific tool ("turn this photo into a 3-panel meme about my cat", "make a video meme with the drake format about Mondays", "put my face on Elon"). Pass thread_id from a previous result to continue the conversation. Returns the assistant's message plus any images; videos come back as job_ids to poll with check_video_status. Billed against your usage balance.

Run Image Tool

Run one specific image tool from list_image_tools by tool_id — e.g. "donald-trump-face-swapper" with a face photo, "bust-down-filter" on a portrait, or "mascot-generator" with a prompt. Provide image_url for image-to-image tools, prompt for text-to-image tools, and params for any extra inputs the tool lists. Returns the resulting image URL(s). Prefer this over run_agent when you already know exactly which tool you want. Billed against your usage balance.

Get Account

Return the authenticated Memelord account: user id, display name, email, usage balance (USD, rounded to cents), whether billable tools can run, where to add credits, how this MCP session is authenticated (OAuth or API key), and on API-key sessions the end_user_id received from the X-Memelord-End-User header (null when none was sent). Call this to confirm who you are acting as or to check whether billable tools will succeed. Free.

About OpenCode

OpenCode is an open, model-agnostic command-line coding agent. In NoClick it runs hosted and gains your apps as tools, so it can act on real systems rather than just edit files. Wire an integration into the agent and OpenCode can use that app’s operations directly while it works. It is a flexible choice when you want an open agent with broad model support and real tool access.
Open and model-agnostic
Flexible across many underlying models
Good general-purpose tool use
Lightweight to point at a focused task

Frequently asked questions

More ways to connect

Open your OpenCode agent in one click.

NoClick runs OpenCode for you with Memelord wired in as tools. Connect your account and run.