Skip to main content
Glama
743,608 tools. Updated 2026-11-04 21:15

"A platform for deploying a website online" matching MCP tools:

  • Deploy a GitHub repository as a live web app on Dockhold. Call this when the user wants to put an app online, get a shareable HTTPS URL, or host a demo. Returns the new app id. Two paths: a PUBLIC repo needs only repo_url; a PRIVATE repo needs repo_url plus github_installation_id (call list_github_repos first, each repo comes with the installation_id to pass here). Deploying a private repo turns on auto-deploy: future pushes to that repo redeploy the app automatically. The app builds and comes online automatically; poll get_app_status to watch it. Set memory_mb to size the app's compute, one of the values get_resource_usage reports under compute.steps_mb: 256 MB fits a static site or a small API, 512 MB fits a typical Node or Python web app, and anything that holds data in memory needs more. Omit it and the app gets the minimum slice (256 MB) so it doesn't take your whole compute pool; resize_app changes the size later with no rebuild, applied as a rolling update that replaces the app's instances. The response reports memory_mb (what this app got) and compute_available_mb (what's left in your pool), so size the next app off that. This tool needs a GitHub repo URL: if the code only exists locally (no repo), it cannot be used here, and the user should run `npx dockhold login` then `npx dockhold deploy` in the project folder instead. Requires a token with the deploy scope.
    ConnectorNo auth
  • Connect a custom domain to a site. IMPORTANT: between this call and a working domain stands A PERSON. You get DNS records — show them to the user and explain they go in at their domain registrar. Do not wait for readiness: DNS propagates in minutes to an hour, the platform re-checks on its own, and you check later via `check_domain`. Spinning here burns time and context for nothing. The address can be passed as-is: the platform reduces `https://shop.example.com/page` to `shop.example.com` itself.
    ConnectorOAuth
  • Connect a custom domain to a site. IMPORTANT: between this call and a working domain stands A PERSON. You get DNS records — show them to the user and explain they go in at their domain registrar. Do not wait for readiness: DNS propagates in minutes to an hour, the platform re-checks on its own, and you check later via `check_domain`. Spinning here burns time and context for nothing. The address can be passed as-is: the platform reduces `https://shop.example.com/page` to `shop.example.com` itself.
    ConnectorAPI key
  • Use this when the user names a site that is not in their Inclusify account yet — list_websites does not have it, or a per-website tool answered that no such website exists. This is also the tool that fills in an account registered without a website at all, which /api/agent/start supports and which is a normal state rather than a half-finished signup. WRITES to the account's Inclusify configuration — never to the site itself: registers a domain as a website in the account, on the free plan, and starts nothing. No scan is run, no widget is installed on the site, nothing is charged and no plan is changed. Takes no "website" argument, because the point is that the website does not exist yet. REQUIRES CONFIRMATION: call it first without "confirm" to get a preview naming the exact domain, show that to the user, and only call again with the token once they have agreed — a domain can be registered to one Inclusify account only, so claiming it takes it from anyone else who might. Idempotent: a domain already in this account comes back as a no-op, not an error and not a second website. Refuses rather than guessing when the account has more than one workspace, because a website lands in exactly one and picking wrong hides it. At most 50 websites per account through this tool; the Inclusify panel has no such limit.
    ConnectorAPI key
  • Fetch one company's LinkedIn page: name, description, industry, employee count, headquarters, website, founding year, specialities, and the URN/numeric id you need for linkedin_search_people company filters. identifier accepts a company URL, the slug after /company/ (e.g. 'microsoft'), or a website domain like 'microsoft.com'; numeric ids and URNs are search-filter inputs, not fetch identifiers. Domains are resolved to a company and verified against that company's website: a domain identifier always QUOTES base+4 credits (set max_credits accordingly), and the 4-credit resolution surcharge is refunded at settlement when the domain was resolved before, so known domains settle at the base price. A domain that cannot be verified to a company returns INVALID_INPUT with the closest matches instead of a guessed company. Costs 4 credits base. Do not guess a slug from a brand name: slugs are vanity strings and a famous name can belong to an unrelated company's page (linkedin.com/company/anthropic is a small investment fund, not the AI lab). When you only know the company's name, pass its website domain instead -- the verified form -- and sanity-check the returned industry and description against what you expected. This tool does not search by name: if you only have an approximate company name, use linkedin_search_people's current_company filter with keywords (names are matched natively there) or give the exact slug. For the company's posts, use linkedin_get_posts with the same identifier (URL, slug, or website domain all work there too).
    ConnectorOAuth
  • List MULTIPLE printers with optional filters. For details on a single known printer, call get_printer instead — do not list-then-filter. For farm-wide counts ("how many printers are doing X"), call get_farm_overview instead — do not paginate this. Use status=["online"] to only see reachable printers, status=["printing"] for ones actively printing, status=["was_printing_when_offline"] for printers that dropped mid-print, status=["idle"] for available printers ready to accept a job, status=["awaiting_bed_clear"] for printers whose last print finished but the bed has not been cleared yet (NOT print_pending, which means a queued staggered start).
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to call tools through a security gateway that intercepts requests, enforces deterministic policy and risk checks, blocks or escalates high-risk actions for human approval, and keeps tool credentials and audit logs protected.
    1
    MIT

Matching MCP Connectors

  • Indicative UK skip hire prices by town, council skip permit rules and skip size recommendations.

  • Indicative UK skip hire prices by town, council skip permit rules and skip size recommendations. Four read-only tools, no authentication. Documentation: https://www.rent-a-skip.co.uk/developers. Official MCP registry name: uk.co.rent-a-skip/rent-a-skip.

  • Resolves a disambiguated Strong's number (dStrong) to its lexicon entry: lemma, transliteration, gloss, and - for a Greek entry only - a fuller definition (Abbott-Smith 1922, Public Domain). A Hebrew entry's definition field is always omitted: it is abridged BDB via Online Bible, which requires permission not yet obtained, so only its gloss is ever returned. Not to be confused with the get_verse/get_passage tools, which resolve a Ref to translated verse text, not a dStrong to a dictionary entry.
    ConnectorNo auth
  • Use this when you have a product slug and need its full public profile on uneed.best: description, website URL, category, tags, pricing, open source status (`open_source` / `repo_url`), launch date, community stats (votes, rating, review count), Ahrefs Domain Rating (`domain_rating`, 0-100, null if not measured yet), active promo deals and social links. `premium: true` means the product currently pays for featured placement on the Uneed website — treat it as a disclosure, not a quality signal. `url` is the maker-supplied website link and may occasionally be an affiliate link; `uneed_url` is always the neutral Uneed listing. Find slugs with search_products, get_trending, get_recent_launches or get_alternatives.
    ConnectorNo auth
  • Run a build again — a failed one as is, or the latest commit afresh. Default (`redeploy=false`): queue the SAME build again. Allowed only for builds in the `failed` or `cancelled` state. On a running build (`queued`, `building`) the platform refuses — that is not an error but protection against a second parallel build; on a `ready` build it refuses too — use `redeploy=true`. `redeploy=true`: start a NEW build of the branch's latest commit without a push. This is how changed project settings (`project_settings`) or environment variables (`env_vars`) get applied. The result goes live the same way a push to that branch would — on the production branch that is production, so make sure the person wants that. Projects without a repository are rebuilt by deploying the folder again (`npx layero@latest deploy` or `publish_site`). ⚠️ A plain retry makes sense when the cause was external (network, registry, timeout). If the build failed on the code, a retry gives the same result: `diagnose_deploy` first, then the fix, and only then a retry.
    ConnectorOAuth
  • Run a build again — a failed one as is, or the latest commit afresh. Default (`redeploy=false`): queue the SAME build again. Allowed only for builds in the `failed` or `cancelled` state. On a running build (`queued`, `building`) the platform refuses — that is not an error but protection against a second parallel build; on a `ready` build it refuses too — use `redeploy=true`. `redeploy=true`: start a NEW build of the branch's latest commit without a push. This is how changed project settings (`project_settings`) or environment variables (`env_vars`) get applied. The result goes live the same way a push to that branch would — on the production branch that is production, so make sure the person wants that. Projects without a repository are rebuilt by deploying the folder again (`npx layero@latest deploy` or `publish_site`). ⚠️ A plain retry makes sense when the cause was external (network, registry, timeout). If the build failed on the code, a retry gives the same result: `diagnose_deploy` first, then the fix, and only then a retry.
    ConnectorAPI key
  • Get the visitors active on the user's own website in the last 5 minutes with their approximate city-level location, for a live map view. Coordinates are rounded to 0.1 degrees, and no IP addresses or other identifying details are returned. Use get_realtime when only the count matters, and get_countries or get_cities for geography over a historical date range. Takes only the website selector: no dates, filters, or pagination. Poll no more than once every 5 seconds. Requires websiteId or domain with a workspace token.
    ConnectorOAuth
  • Use this when the user wants a live preview website for a local service business AND has typed business_name, email, and phone in THIS chat. Before calling, send: Starting your preview now. This usually takes about 30 seconds. Never reuse name, email, or phone from memory. If they only said "build me a website", ask first. Do not invent placeholders. Then call get_preview until preview_url is set. Do not scrape /build. Do not start_build twice for the same business.
    ConnectorNo auth
  • Adds, replaces, or removes hosted images on an existing Carryo website without replacing its HTML. Reusing a path replaces that image without consuming another image slot; new paths are subject to the website image allowance. Returns hosted-image metadata and URLs. New paths appear in the page when referenced by its HTML. Pass attached images through imageFiles. For one attachment, assets needs only its relative website path; Carryo matches the attachment automatically. For multiple attachments, use fileIndex (0 for the first imageFiles entry). Do not invent file IDs or ask for a public URL when attachment upload is available. Known fileId references and fetchable HTTP(S) sourceUrl imports also work. Carryo imports and hosts its own copy. Base64 image bytes and data URLs are unsupported.
    Connector
    Destructive
    No auth
  • Adds, replaces, or removes hosted images on an existing Carryo website without replacing its HTML. Reusing a path replaces that image without consuming another image slot; new paths are subject to the website image allowance. Returns hosted-image metadata and URLs. New paths appear in the page when referenced by its HTML. Pass attached images through imageFiles. For one attachment, assets needs only its relative website path; Carryo matches the attachment automatically. For multiple attachments, use fileIndex (0 for the first imageFiles entry). Do not invent file IDs or ask for a public URL when attachment upload is available. Known fileId references and fetchable HTTP(S) sourceUrl imports also work. Carryo imports and hosts its own copy. Base64 image bytes and data URLs are unsupported.
    Connector
    Destructive
    No auth
  • Lists up to 100 Special Bots on the API key's account with status and counters: candidates seen, matched, vetoed, signals produced, last result and last evaluation time. Use it to monitor your own bots; for saved strategies use get_my_strategies, for published signals get_open_signals. Takes no arguments; an account without bots gets an empty list. Needs an API key. Read only by design: this server has no bot controls, so deploying, starting, stopping and editing a bot are done in the ribqa.com Market Scanner.
    ConnectorNo auth
  • Deploy a project's Function code bundle. Project-level, not per-Function — one zip holds every handler for the project, so the name is plural. Upload the zip first with upload_file, then pass the file id here. The zip's own layout is preserved verbatim, so handler dotted paths point into it directly: a handler of 'orders.before.validate' needs orders/before.py in the zip. Dependencies must be vendored into the zip (pip install -r requirements.txt -t .) — the platform does not run pip on customer input. Returns immediately with status 'deploying'. Poll list_deployments to see it settle to 'ready' or 'failed'. Rolling back is this same call with an earlier file id.
    Connector
    Destructive
    API key
  • One TikTok account: its follower count, its lifetime likes and how many videos it has posted. Use when: sizing a creator or a brand on TikTok, checking a handle is real, reading a bio before outreach. Not for: the account's videos, use tiktok_get_videos. Where its audience is, use tiktok_get_audience. Finding accounts by topic, use tiktok_search_videos and read the authors. Returns: Record. The account's handle, name, bio, verified, followers, following, posts_count, likes, views, website (the link in bio) and links, with other profile fields where TikTok fills them. null or empty = the platform does not publish it. Cost: 1 credit. Cached 24 hours. Example: {"handle": "@gymshark"}
    ConnectorAPI key
  • The advertisers matching a brand name in Google's ad library, with their ids. Use when: before ads_get_advertiser_ads on Google, because that library is keyed by advertiser id and one brand has one entry per region. Not for: the ads themselves, use ads_get_advertiser_ads with the id this returns. The other libraries, which search their ads directly with ads_search_ads. Returns: List. rows[]: platform, id, name, region, ads_estimate, website. Cost: 1 credit. Cached 7 days. Example: {"platform": "google", "query": "lululemon", "region": "US"}
    ConnectorAPI key
  • Put a file online and get a short public link. Pass text directly, or base64 with encoding="base64" for binary files (images, PDFs, zips). An .html file becomes a web page; a .zip containing index.html becomes a website. Returns the URL, expires_at and a manage_token (shown once; anonymous callers need it to check or delete the link). Status may be "checking"/"publishing" (call get_link before sharing) or "unpublished" (not published). Limit 20 MB inline; use create_upload_session for bigger files.
    ConnectorNo auth
  • Changes the dates or the number of travelers of a trip you can edit (the same edits the Anywayr website allows; budget, title and preference edits are refused for now). Requires the version you last read with anywayr_get_trip; a stale version is refused rather than overwritten. Multi-city date changes and child-leg party changes require the Anywayr website. Does not share, invite or book. Effects: Writes a new trip version.
    Connector
    Destructive
    OAuth
  • Create a NEW Grigora website with AI from a description of what it should be. Grigora's AI website builder designs and writes the whole site from the prompt in the background (usually a few minutes). This uses the account's AI credits and counts toward its plan's website limit, so call it once per website the user actually asked for. The site is NOT published. Then: poll get_website_build_status(project_id) until status is "completed" (or "failed"); after that the new site's project_id works with every other tool (products, directory, blog, assets...), edit_website changes it with more prompts, and publish_project makes it live when the user wants. Give the user the returned editor_url to open the site in Grigora's editor. Args: prompt: What the website is for and what it should contain — business, audience, pages, tone, style. Specific is better. name: The website's name, e.g. "Pumpkin". Optional; derived from the prompt when empty. attachments: Optional links to files for the builder to use — logos, photos, brand guides, menus (PDF), price lists (CSV), audio, video. A list of up to 10 public URLs, e.g. ["https://example.com/logo.png"]. Grigora downloads them itself (up to 80 MB each), so only pass links — never file contents. Refer to them in the prompt by file name, e.g. "use logo.png in the header". For a LOCAL file (e.g. on the user's computer), first call get_attachment_upload_url, upload it with the returned curl command, then pass the returned url here. A refused attachment fails the call before anything is built or charged.
    Connector
    Destructive
    OAuth