mcpbeat Sign in

GEN MCP Server

by poweredbygen Your server? Claim it
answering

GEN is answering right now. Last checked moments ago. It exposes 19 tools. Last commit 12 Aug 2026.

GEN is the creative AI video engineer. Free editor/social publishing; AI credits via card/x402.

Uptime history 31 days of history · worst day 98%
31 days agonow
100.0%
Uptime 24h
92 of 92 checks
19
Tools
read from the server
807 ms
Response time
average over 24h
0
Stars
last commit 12 Aug 2026

What changed 396

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 6 October 2026. No other catalogue keeps this.

2 Nov a tool changed version2 times that day
1 Nov 19 tool descriptions were rewritten gen_agent_action, gen_analyze, gen_ask and 16 more
1 Nov 19 tools changed the parameters they ask for gen_agent_action, gen_analyze, gen_ask and 16 more
1 Nov a tool changed version2 times that day
31 Oct a tool changed the parameters it asks for gen_analyze
31 Oct a tool description was rewritten gen_analyze
31 Oct a tool changed version
30 Oct 9 tools changed the parameters they ask for15 times that day gen_agent_action, gen_analyze, gen_characters and 6 more
30 Oct 5 tool descriptions were rewritten7 times that day gen_analyze, gen_characters, gen_content_action and 2 more
30 Oct a tool changed version3 times that day
and 338 more, back to 6 October 2026

Nothing serious here today

Today is the operative word: we check GEN every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 0 min ago.

run in your terminal
claude mcp add gen-mcp-server --transport http https://mcp.gen.pro
Settings → Connectors → Add custom connector, then paste this address
https://mcp.gen.pro
~/.codex/config.toml
[mcp_servers.gen-mcp-server]
url = "https://mcp.gen.pro"
.cursor/mcp.json
{
  "mcpServers": {
    "gen-mcp-server": {
      "url": "https://mcp.gen.pro"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "gen-mcp-server": {
      "type": "http",
      "url": "https://mcp.gen.pro"
    }
  }
}

Available tools 19

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

gen
gen_agent_action
Use only to manage an agent's profile, settings or appearance. Next: inspect with gen_discover view=action for fields and a valid example before writing. add_agent_inspiration(url):Attach an inspiration source to the agent; next: read agent.settings. add_linked_account(url):Link a social account to the agent profile; next: read agent.profile. add_reference_images():Attach owned reference images to the agent; next: read agent.core. complete_profile():Propose the agent's profile from description and accounts; next: confirm. connect_agent_elevenlabs(api_key):Connect the agent's external voice provider; next: read agent.settings. create_agent(name):Create a workspace agent with the supplied identity; next: read agent.detail. create_agent_avatar():Create the agent's visual identity; next: read agent.profile_photos. create_look():Generate a reference look for this agent; next: read the returned job. Finish with gen_task_action wait/get(task_id). delete_agent():Permanently delete the named agent; next: confirm only after user approval. delete_agent_avatar(avatar_id):Delete the agent's named visual identity; next: read agent.profile_photos. remove_linked_account(linked_account_id):Remove the named agent social link; next: read agent.profile. remove_reference_images(ids):Detach named agent references; next: read agent.core. reset_agent_profile():Reset the selected profile fields; next: read agent.profile. revoke_agent_share(shared_agent_id):Propose revoking this agent's access grant; next: confirm. set_agent_share_role(role,username_or_email):Propose a new agent access role; next: confirm the role change. set_location(catalog_version,city_id,country_code):Save the agent's location; next: read agent.profile. set_name(name):Rename the selected agent; next: read agent.profile. set_primary_photo(profile_photo_url):Select the agent's saved photo; next: read agent.core. set_primary_voice(default_user_voice):Select the agent's saved voice; next: read agent.core. set_profile():Save authored brand/profile fields; next: read agent.profile. set_project_share(permission,project_id_or_uuid):Propose access to the named project; next: confirm the grant. share_agent(role,username_or_email):Propose access to the named agent; next: confirm the access grant. transfer_agent_ownership(username_or_email):Propose changing the agent's owner; next: confirm the transfer. update_agent():Update the named agent's fields; next: read agent.detail.
gen_analyze
Use only to collect sources or analyze videos, trends and research. Next: inspect with gen_discover view=action for fields and a valid example before writing. analytics(agent_id,view):Query supported workspace metrics; next: inspect returned rows. Finish with gen_task_action wait/get(task_id). analyze_account(agent_id,username):Analyze the supplied social account; next: read returned job. analyze_socials(agent_id):Analyze supplied social sources with billed collection; next: read returned job. apify_scrape(actor_id,agent_id,idempotency_key,input):Run the selected external data collector; next: read returned job. aura_user_stats(agent_id,emails,environment):Read campaign engagement for the named user; next: inspect returned metrics. chart(agent_id):Create a chart from supplied data; next: open returned artifact. clip_moments(agent_id,sources):Discover candidate clips in a source video; next: build selected saved ideas. Finish with gen_task_action wait/get(task_id). collect(agent_id,targets):Collect live sources from typed targets and scope; next: wait/get task. Finish with gen_task_action wait/get(task_id). collect_enrichment_status(agent_id,job_id):Read an accepted collect enrichment job; next: use admitted analysis. comment_mining(agent_id,target):Find patterns in supplied comments; next: read analyze.job. Finish with gen_task_action wait/get(task_id). comments(agent_id):Read or analyze comments for supplied videos; next: read returned job. Finish with gen_task_action wait/get(task_id). comments_online(agent_id,video_ids):Collect live comments for supplied videos; next: read returned job. creators(agent_id,query):Find creators for the supplied topic; next: wait/get task. Finish with gen_task_action wait/get(task_id). hooks(agent_id,query):Research effective hooks for a topic; next: wait/get task. Finish with gen_task_action wait/get(task_id). import_urls(agent_id,platform,videos_urls):Import source URLs for analysis; next: read returned job. layer_analysis(agent_id,cell_id,vidsheet_id):Analyze an owned timeline layer's media; next: read vidsheet.layer_analysis. monitor_status(agent_id):Read the supplied source's collection status; next: inspect returned findings. report(agent_id,window):Research a topic into a report; next: wait/get task. Finish with gen_task_action wait/get(task_id). research_scrape(agent_id,input,source):Collect sources for supplied research; next: read returned job. research_web(agent_id):Research web sources; save=true keeps findings; next: wait/get task. Finish with gen_task_action wait/get(task_id). search_posts(agent_id,keyword):Search social posts for the supplied query; next: read returned job. sounds(agent_id,view):Find music matching the supplied criteria; next: use returned sound references. Finish with gen_task_action wait/get(task_id). transcribe(agent_id):Submit media for transcription; next: transcribe_status. transcribe_status(agent_id,video_ids):Read an accepted transcription; next: use its text when complete. trends(agent_id,query):Research current trends for a topic; next: wait/get task. Finish with gen_task_action wait/get(task_id). upload_by_ids(agent_id,video_ids):Import the supplied provider media IDs; next: read returned resources. video_analysis(agent_id,video_url):Analyze a source video's content and structure; next: read returned analysis. Finish with gen_task_action wait/get(task_id). web_asset_scrape(agent_id,url):Find media assets on the supplied web page; next: use returned assets. Finish with gen_task_action wait/get(task_id).
gen_ask
Use only to run a durable or scheduled multi-step goal that is not content work (content: gen_content_action). Next: inspect with gen_discover view=action for fields and a valid example before writing. ask(client_message_id,question):Run a durable or scheduled multi-step goal; needs question and client_message_id; next: follow run next_steps. Content requests use gen_content_action generate_ideas. Finish with gen_task_action wait/get(task_id). cancel_pending(conversation_id,pending_id):Cancel the named pending conversation item; next: read platform.conversation. chat(client_message_id,message):Continue a durable goal in conversation_id; needs message and client_message_id; next: follow run next_steps. Content requests use gen_content_action generate_ideas. steer(conversation_id):Send feedback to an active conversation run; next: follow its next_steps. stop(run_id):Stop the named workflow run_id; next: read task.run_status.
gen_asset_action
Use only to manage or analyze owned media assets and files. Next: inspect with gen_discover view=action for fields and a valid example before writing. analyze(kind):Analyze owned media for evidence, not content intake; next: wait/get task. Finish with gen_task_action wait/get(task_id). complete_asset_upload(signed_id):Register the finished direct upload as an owned asset; next: read asset.detail. create_direct_upload(byte_size,checksum,content_type,filename):Prepare an owned file upload; next: PUT bytes, then complete_asset_upload. delete_asset(resource_id):Delete the named owned asset; next: read asset.list. import_asset_from_url(url):Import a URL into owned assets; next: use returned resource ID. run_computer(command):Execute supplied code in the compute sandbox; next: read returned outputs.
gen_billing_action
Use only to manage subscriptions, funding or billing settings. Next: inspect with gen_discover view=action for fields and a valid example before writing. buy_credits(credit_plan_id,organization_id):Buy a credit pack when balance is low; next: open returned checkout. create_x402_credit_purchase(workspace_id):Prepare an x402 credit purchase; next: settle its payment. list_owned_invoices(organization_id):Read invoices of workspaces you own; next: open the invoice URL. list_owned_subscriptions():Read subscriptions of workspaces you own; next: inspect billing plans. open_checkout(credit_plan_id,organization_id):Open plan checkout for a workspace; next: follow the returned URL. prepare_funding_recovery():Prepare owned-workspace funding recovery; next: open checkout. settle_x402_credit_purchase(checkout_session_id,payment_signature,workspace_id):Settle the prepared x402 purchase; next: read credit balance.
gen_characters
Use only to manage standalone characters from an owned image or video; a video or series's characters: gen_content_action. Next: inspect with gen_discover view=action for fields and a valid example before writing. copy_to_mine(agent_id):Copy a shared character into your collection; next: get your copy. create(agent_id,content_resource_id):Standalone character/clone_voice from owned image/video content_resource_id. For content, use generate_ideas; the run creates the character. create_talking_character(agent_id):Standalone talking clips from look/voice; next: read generation. For content, use generate_ideas; the run creates the character. delete_character(agent_id):Delete the saved character; next: confirm preview only after user approval. delete_look(agent_id):Delete a saved character look; next: confirm preview only after user approval. delete_talking_character(agent_id):Delete a saved talking clip; next: confirm preview only after user approval. edit_talking_character(agent_id):Create a revised talking character from saved clips; next: read generation. get(agent_id):Read a saved character by character_id; next: choose its look and voice. get_talking_character(agent_id):Read one saved talking character; next: use its media in a build. list(agent_id):Read the selected character pool; next: get a selected character. rename(agent_id):Rename a character or its selected look/clip; next: get the character. set_primary_voice(agent_id):Save the character's selected voice; next: get the character. set_profile(agent_id):Save authored character appearance fields; next: get the character. share_character(agent_id,organization_id):Grant workspace access to your character; next: inspect the saved grant. unshare_character(agent_id,organization_id):Revoke a workspace's character grant; next: inspect the saved grant. upload_look(agent_id,content_resource_id):Add an owned image to character_id; needs content_resource_id; next: get character. upload_talking_character(agent_id,content_resource_id):Standalone video/clone_voice for character_id from content_resource_id. For content, use generate_ideas. validate_cast(agent_id):Validate saved idea cast inputs before building; next: repair named missing media.
gen_content_action
Use only to do any content work, the default for ideas, characters, a series arc, a storyline, a storyboard or script edit, or making a video; other tools only when the user asks for something else. Next: inspect with gen_discover view=action for fields and a valid example before writing. create_content_resource(signed_id):Save a content source or asset reference; next: read content.resource. create_video_from_idea():Build Draft/Full from a saved idea; needs idea_id, idea_ids or idea_title; creation_mode=draft/full (omitted: paid full); next: read content.video_job. Fresh request: generate_ideas. Finish with gen_task_action wait/get(task_id). delete_content_resource(resource_id):Delete the named saved source; next: read content.list. expand_idea():Write or revise a saved idea's storyboard from the user's feedback (line, scene, timing, style); next: read the returned idea job. Finish with gen_task_action wait/get(task_id). generate_ideas():Default for any content work: ideas, brainstorming, characters (twin/avatar/character), a series or season arc, an episode storyline, or starting videos/posts; agent_id, the user's request in brief, uploads in attachments; the run designs and saves its characters. Next: brief proposal, confirm proposal_id, ideas, create_video_from_idea for Draft/Full. Finish with gen_task_action wait/get(task_id). recreate_video():Recreate a source video's structure as saved ideas; next: create_video_from_idea. Finish with gen_task_action wait/get(task_id). reimagine_video(direction):Adapt a source video to a new brief as ideas; next: create_video_from_idea. Finish with gen_task_action wait/get(task_id). remove_content_preference(preference):Remove the named content preference; next: read agent.settings. save_idea(brief,title,video_type_id):Save an authored idea's script and structure; next: create_video_from_idea. set_content_preference(preference):Save an idea/content preference for the agent; next: read agent.settings. set_idea_status(idea_id,status):Save the selected idea's workflow status; next: read content.idea. update_content_resource(filename,resource_id):Update the saved content source; next: read content.resource.
gen_discover
Use only to read records, options, job results or inspect an action. Next: inspect with gen_discover view=action for fields and a valid example before writing.
gen_feedback
Use only to report a problem or send product feedback to GEN. Next: inspect with gen_discover view=action for fields and a valid example before writing.
gen_generate
Use only to generate one standalone image, video, song or transcript (content work: gen_content_action). Next: inspect with gen_discover view=action for fields and a valid example before writing. create_image(prompt):Render a standalone image from a prompt; next: wait/get the accepted task. Finish with gen_task_action wait/get(task_id). create_song():Compose standalone music from the request; next: wait/get task. Finish with gen_task_action wait/get(task_id). create_song_mix(tracks):Mix supplied songs into one output; next: read the returned generation. create_video(prompt):Render standalone video or narration from supplied media; next: wait/get task. Finish with gen_task_action wait/get(task_id). transcribe():Transcribe supplied audio/video media; next: wait/get task. Finish with gen_task_action wait/get(task_id).
gen_generate_report_ideas
Use only to prepare report ideas from supplied research data. Next: inspect with gen_discover view=action for fields and a valid example before writing.
gen_platform_action
Use only to manage workspace members, preferences or API access. Next: inspect with gen_discover view=action for fields and a valid example before writing. create_api_key():Create a workspace API credential; next: store the returned key securely. create_organization(name):Create a workspace with the supplied name; next: read platform.organization. create_proof_of_genesis_backup(asset_url):Save an asset's proof-of-genesis backup; next: read platform.backups. delete_organization(organization_id):Delete the named workspace; next: confirm only after user approval. invite_member(organization_id,username_or_email):Invite the named person to a workspace role; next: read platform.members. leave_workspace(organization_id):Leave the named workspace; next: read platform.organizations. remove_member(organization_id,user_id):Remove the named workspace member; next: read platform.members. remove_proof_of_genesis_backup(backup_id):Delete the named backup; next: read platform.backups. request_email_link_code(email):Start email linking for the supplied address; next: verify_email_link_code. resend_email_link_code(request_id):Resend a requested email code; next: verify_email_link_code. revoke_all_api_keys():Revoke every caller API key; next: sign in again. revoke_api_key(token_id):Revoke the named API key; next: read platform.api_keys. set_member_role(organization_id,role,username_or_email):Change the named workspace member's role; next: read platform.members. start_seat_checkout(organization_id,return_url):Open checkout to add workspace seats; next: follow returned URL. transfer_workspace_ownership(organization_id,username_or_email):Transfer workspace ownership to its named member; next: confirm. update_api_key(name,token_id):Rename the named API credential; next: read platform.api_keys. update_organization(name,organization_id):Rename the named workspace; next: read platform.organization. update_session_preferences(conversation_id,preferences):Save conversation preferences; next: read platform.preferences. upgrade_workspace(credit_plan_id,organization_id,return_url):Open the workspace plan upgrade; next: follow returned checkout URL. verify_email_link_code(code,request_id):Verify the requested email code as text; next: read the link result.
gen_publish_action
Use only to connect social accounts, publish or schedule posts. Next: inspect with gen_discover view=action for fields and a valid example before writing. delete_published_post(post_id):Delete the named published post; next: read publish.post_status. delete_scheduled_post(post_id):Cancel the named scheduled post; next: read publish.scheduled. disconnect_social(platform):Disconnect the named publishing account; next: read publish.connections. publish_content(description,platform,schedule_type):Publish supplied media to a connected account now; next: read publish.post_status. schedule_post_facebook(media_url):Schedule a Facebook post to a connected account; next: read publish.scheduled. schedule_post_instagram(media_url):Schedule an Instagram post to a connected account; next: read publish.scheduled. schedule_post_linkedin():Schedule a LinkedIn post to a connected account; next: read publish.scheduled. schedule_post_tiktok(media_url,tiktok_disable_comment,tiktok_disable_duet,tiktok_disable_stitch,tiktok_privacy_level):Schedule a TikTok post to a connected account; next: read publish.scheduled. schedule_post_x():Schedule an X post to a connected account; next: read publish.scheduled. schedule_post_youtube(media_url,title):Schedule a YouTube post to a connected account; next: read publish.scheduled. update_published_post(post_id):Edit metadata on the named published post; next: read publish.post_status. update_scheduled_post(fields,post_id):Edit the named pending post; next: read publish.scheduled.
gen_sign_in_link
Use only to obtain the sign-in link for this MCP connection. Next: inspect with gen_discover view=action for fields and a valid example before writing.
gen_task_action
Use only to schedule work or wait for and read accepted tasks. Next: inspect with gen_discover view=action for fields and a valid example before writing. create_monitoring_job(platform,search_type,value):Schedule monitoring of supplied sources; next: read task.list. create_recurring_job(job_type,prompt,schedule):Save a prompt with its cadence and delivery; next: read task.list. decide_agent_run(approved,run_id):Approve or reject the named pending run; next: read task.run_status. delete_recurring_job():Delete the named recurring job; next: read task.list. duplicate_recurring_job(job_id,vidsheet_url):Copy the named recurring job; next: read task.list. ensure_default_recurring_job():Ensure the agent's standard recurring job exists; next: read task.list. get(task_id):Read an accepted MCP task by task_id; next: use its result or wait. list_grants():Read authorization grants for scheduled work; next: inspect the chosen grant. pause_recurring_job():Pause the named recurring job; next: read task.list. render_email(assistant_content,payload):Render supplied content as email; next: inspect the rendered document. resume_recurring_job():Resume the named paused job; next: read task.list. revoke_grant(grant_id):Revoke the named scheduled-work grant; next: read task.list. run_recurring_job_now(job_id):Fire the named recurring job once; next: read task.run_status. update_monitoring_job(job_id,platform,search_type,value):Change a saved monitoring job's settings; next: read task.list. update_recurring_job():Change the named schedule or delivery settings; next: read task.list. wait(task_id):Wait up to 60 seconds for task_id; next: get its result or wait again.
gen_upload_asset
Use only to upload a local file into the caller's owned assets. Next: inspect with gen_discover view=action for fields and a valid example before writing.
gen_vidsheet_action
Use only to edit or generate editable video workspace rows. Next: inspect with gen_discover view=action for fields and a valid example before writing. add_column():Add a named workspace column; next: read vidsheet.columns. add_layer():Add a timeline layer to the target row; next: read vidsheet.layers. apply_storyboard():Apply an authored storyboard to an owned row; next: read the saved sheet. clone_template():Create a workspace from a template_slug; next: read vidsheet.sheet. close_gap(target):Close the gap immediately before the target layer, shifting that layer and its later track siblings together; refuses when no gap exists. continue_generation():Resume the accepted generation_id; next: read vidsheet.generation. create(target,values):The video-editing operation to perform. create_engine():Create the workspace engine for template_slug and idea_id; next: read vidsheet.engine. create_sheet():Create an editable workspace without a saved idea; next: read vidsheet.sheet. Saved ideas use create_video_from_idea. delete(target):The video-editing operation to perform. duplicate(target):The video-editing operation to perform. duplicate_sheet():Copy an existing vidsheet_id; next: read the new vidsheet.sheet. export(target):The video-editing operation to perform. generate(card,target):The video-editing operation to perform. import_asset():Add owned media to an existing workspace; next: read vidsheet.rows. redo(target):The video-editing operation to perform. refund_unused_output():Request credit recovery for unused generation output; next: read receipt. reorder(ids,target):The video-editing operation to perform. set_cell():Save authored cell values or a creation card; next: read vidsheet.cell. stop_generation():Stop the accepted generation_id; next: read vidsheet.generation. undo(target):The video-editing operation to perform. update(target,values):The video-editing operation to perform. update_layer():Save fields on an existing layer_id; next: read vidsheet.layer. validate_layout():Check the workspace layout without writing; next: correct the reported fields.
gen_voice_action
Use only to create, preview or manage voices and voice scripts. Next: inspect with gen_discover view=action for fields and a valid example before writing. clone_voice(name):Clone a voice from owned speech media; next: read the returned job. delete_voice(voice_id):Delete your saved voice; next: read voice.mine. design_voice(generation_id,name):Design a new voice from a description; next: preview the saved voice. generate_voice_description(gender):Describe a voice for the supplied content; next: design_voice. generate_voice_samples(text):Generate selectable speech samples; next: read voice.sample_status. Finish with gen_task_action wait/get(task_id). generate_voice_script():Write narration for the supplied brief; next: preview_voice. preview_voice(text,voice_id):Render a voice preview from text and voice ID; next: read voice.preview_status. Finish with gen_task_action wait/get(task_id).
gen_watchlist_action
Use only to manage watched sources or query their findings. Next: inspect with gen_discover view=action for fields and a valid example before writing. add_watchlist_source(platform,target_type,target_value):Add a source to the named watchlist; next: read watchlist.detail. create_watchlist(name):Create a watchlist for supplied sources; next: read watchlist.detail. delete_watchlist():Delete the named source watchlist; next: read watchlist.list. pause_watchlist():Pause collection for the named watchlist; next: read watchlist.detail. query_watchlist(question):Query the named watchlist's findings; next: use returned evidence. remove_watchlist_source():Remove a source from the named watchlist; next: read watchlist.detail. resume_watchlist():Resume collection for the named watchlist; next: read watchlist.detail. update_watchlist():Change the named watchlist's configuration; next: read watchlist.detail.

Endpoints

URLTransportStateLatencyChecked
https://mcp.gen.pro streamable-http answering 766 ms 0 min ago

Alternatives to GEN

same job, measured the same way
Longwave
by longwave

Give AI agents a creator's video pipeline: Shorts, thumbnails and YouTube publishing.

answering
aicut
by aicut

Generate AI videos, images, audio and staged AI Video Story episodes, and publish them to social.

62 tools answering
Agents by MyInfluence AI
by myinfluenceai

Our AI agents ideate, create and publish videos and carousels across 11 social media channels.

answering
AutoPoster AI
by autoposter

Multi-platform social media post creation, scheduling, and publishing.

14 tools answering
Website MCP
by socialai

Build, edit, stock, and publish Social AI websites and storefronts via AI chat.

49 installs/wk answering
Bloom for Creators
by bloomforcreators

Save and edit social post drafts in Bloom for Creators. Draft-only; cannot publish or delete.

answering
Slidefast
by slidefast

Create, edit, export and publish social carousels from your Slidefast account.

84 installs/wk answering
Postbolt
by whitemarmot

Publish to 13+ social media platforms from any AI agent via MCP.

34 installs/wk local only

GEN — questions

Answers built from our own checks of this server.

What can GEN do?
It exposes 19 tools, read directly from the server on our last check. Among them: gen_agent_action, gen_analyze, gen_ask, gen_asset_action, gen_billing_action, gen_characters and 13 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is GEN working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 807 ms. The bar chart above shows every period we have measured.
How do I connect GEN?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does GEN need an API key?
No. GEN completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 19 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is GEN?
It answers our handshake in 807 ms on average, which is faster than 11% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is GEN open source?
We cannot say either way: written in Python and 0 stars on GitHub, but we could not determine the licence, and without one the code is not open source by default.