Skip to main content
Glama
742,209 tools. Updated 2026-11-04 13:25

"A powerful filesystem that works on both Windows and Mac" matching MCP tools:

  • Find every cocktail that appears in a given film or TV show. Case- and diacritic-insensitive substring match against both the title and the scene description, so a character or actor works too — e.g. "Casablanca", "Bond", "Hemingway". Each result names the cocktail, the film/show title, the year, and the scene. Returns up to 60 appearances ordered oldest year first, then by cocktail name. A single cocktail can appear multiple times if it shows up in multiple scenes that match. Use this only for on-screen appearances; for a drink by name use search_cocktails, and to browse the whole catalogue use list_cocktails.
    ConnectorNo auth
  • Hold a color's hue and chroma and set its lightness, returning one result per requested L*. color accepts a hex, CSS name, RNV brand name, or saved-palette reference; lightness is a list of L* values in 0-100. This is the operation behind a LIGHT/DARK PAIR: one hue at two lightnesses, with a and b held exactly, which is how a color that works on a dark ground gets a partner that works on a light one. Use it when you need the same color at a different lightness; use mix_colors when you need a different color. Returns the source color's LAB, and for each placement the hex, the achieved LAB, and the quantization error per axis -- 8-bit hex cannot store a and b to the precision LAB expresses, so two placements of one hue differ by a few hundredths on both axes however exactly the input held them. That is the storage format, not the operation, and it is reported rather than hidden. Read-only and deterministic. Refuses rather than clamps: not every (L*, a, b) exists in sRGB, and a lightness too far from a chromatic color's range is rejected with the reason instead of being silently moved to the nearest color that fits.
    ConnectorNo auth
  • Hold a color's hue and chroma and set its lightness, returning one result per requested L*. color accepts a hex, CSS name, RNV brand name, or saved-palette reference; lightness is a list of L* values in 0-100. This is the operation behind a LIGHT/DARK PAIR: one hue at two lightnesses, with a and b held exactly, which is how a color that works on a dark ground gets a partner that works on a light one. Use it when you need the same color at a different lightness; use mix_colors when you need a different color. Returns the source color's LAB, and for each placement the hex, the achieved LAB, and the quantization error per axis -- 8-bit hex cannot store a and b to the precision LAB expresses, so two placements of one hue differ by a few hundredths on both axes however exactly the input held them. That is the storage format, not the operation, and it is reported rather than hidden. Read-only and deterministic. Refuses rather than clamps: not every (L*, a, b) exists in sRGB, and a lightness too far from a chromatic color's range is rejected with the reason instead of being silently moved to the nearest color that fits.
    ConnectorNo auth
  • Free (requires an active plan). Upload one music track and get a `url` to reuse in tegas_edit_video's `music.url`. Give exactly one of audio_base64 or file_path. audio_base64 - the audio bytes as base64 (a `data:audio/mpeg;base64,...` URL is also accepted); this is the way for any remote agent, because the file never has to be public. file_path - a path on the FILESYSTEM OF THE MCP SERVER, so it only works for local / self-hosted runs where the server and the agent are on the same machine, and only when the server enables it (otherwise the tool answers with code local_files_disabled - then send audio_base64 instead). Formats mp3, wav, m4a, up to 25 MB. Bad input comes back as validation_error with details.reason, before anything is uploaded: one_source_required (gave both or neither), bad_base64, empty, not_audio, too_large; a file_path that cannot be read is file_not_readable, and a server that forbids local files answers with code local_files_disabled. label - a short note (e.g. "background track"), optional, kept to the first 120 characters. Returns music_id, the stored url, the label and expires_at. Pass the returned url in `music.url` of tegas_edit_video (and set `music.enabled` to true if music was off). Errors: no_active_plan -> ask the user to activate a plan in the cabinet.
    ConnectorOAuth
  • Download a completed Future Video Studio final render URL to a local file. Use this only after fvs_get_render_status or fvs_get_paid_render_status returns a final_video_url for a completed render. The tool performs an unauthenticated HTTPS GET to that signed URL and writes the response bytes to output_path on the MCP server's local filesystem. It does not call the FVS Agent API, spend wallet credits, require FVS_AGENT_API_KEY, cancel jobs, or modify remote render state. Side effects and constraints: output_path is a local filesystem path for the MCP server process, parent directories are created, existing files are not replaced unless overwrite is true, and large videos may take minutes to download. The request timeout is 600 seconds. Use a fresh status check to refresh expired signed URLs, and do not pass arbitrary or untrusted URLs.
    Connector
    Destructive
    No auth
  • Permanently deletes a file or an EMPTY folder inside the OneDrive folder synced on this Mac. It is not moved to the Mac's Trash, and OneDrive syncs the deletion to the cloud. Refuses a folder that still has items inside (it says how many) and any path outside a OneDrive folder. Called without confirm it returns a preview; pass confirm=true to delete. If OneDrive Files-On-Demand restores the item, the tool reports that the delete did not take instead of claiming success. Get the path from onedrive_list_files or onedrive_search_files.
    Connector
    Destructive
    OAuth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables ChatGPT's web interface to operate a real Mac by executing shell commands and reading or writing files over a reverse SSH tunnel, without installing a client or consuming API quota.
    MIT

Matching MCP Connectors

  • A public wall of thank you notes between humans and AIs, in both directions.

  • send-that-email MCP — wraps StupidAPIs, keyless: analyze whether you should send that email…

  • Compares Brazil's exports or imports between two equal-length windows (like-for-like), in value (USD FOB) and in volume (kg). `mode` changes the reading: quarterly, semestral, annual, ytd and rolling_3m/6m/12m look a year back and hold the season constant, while monthly and semestral_sequential compare against the period immediately before and cross one. `codes` and `countryIds` filter both windows alike and combine: together they isolate one product to one partner (1201 soybean to 160 China); omitted, every product and partner counts. The result carries both windows, the % change of each metric, the window label, whether it crosses a season, and the monthly series spanning both, capped at 24 months. This returns the FIGURES of a comparison — kyrodata_resolve_comparison_window only names the window, and kyrodata_list_trade_series hands over raw monthly points without comparing them. Credit class: comex (up to 2 comex tools per 60-second session = 1 credit).
    ConnectorAPI key
  • Reads a plain text file from the local filesystem by its absolute path — the primary, default tool for reading a local text file (use this unless the file is a PDF, Word, Excel, or PowerPoint document, which have their own readers). Reads anywhere on this Mac — home, external disks, cloud drives, /tmp — with one exception: credential and identity locations (keychains, ~/.ssh, ~/.aws, browser logins, another user's home, Time Machine backups) are never read. Supports .txt, .md, .csv, .json, .xml, .log, .yaml, .toml and common code file types; auto-detects UTF-8 with Latin-1/Windows-1252 fallback. For files in OneDrive use onedrive_read_file, in Google Drive gdrive_read_file; for PDFs pdf_read, Word word_read, Excel excel_read.
    ConnectorOAuth
  • Edit a case's title and/or its data payload. Provide at least one field. For the payload, send free-form `data` OR a structured `json_data` object, never both. `json_data` is validated against the queue's Case schema and requires the queue to have one; a case that is already typed against a schema keeps its structured payload and rejects a free-text `data` write. Works on pending, in-progress, and settled cases. Other attributes (status, priority, labels) have their own dedicated endpoints. Returns the updated case with its event history and approval batches.
    Connector
    Destructive
    No auth
  • Runs one of the user's macOS Shortcuts (Atajos) by name or identifier — the way Mac users already automate HomeKit, Focus modes, and third-party app actions the catalog doesn't cover. It runs the shortcut's OWN actions under the shortcut's own permissions, not a sandboxed subset — the same as clicking Run in the Shortcuts app, so it can do anything that shortcut does (send messages, change or delete files, call web services, control the Mac), including effects LMCP cannot preview or undo. This is a write operation: the first call (confirm=false) returns a preview naming the shortcut, its identifier, and its folder, without running anything; set confirm=true to actually run it. A name that matches more than one shortcut is refused with both identifiers — call again with one of those, never guessed. A shortcut that waits on a dialog or runs long is stopped after a bounded timeout with a clear message instead of hanging this call.
    Connector
    Destructive
    OAuth
  • Measure a public https dataset URL and return its exact sizeBytes, sha256 and contentType, plus suggestedEntry — a filled-in element of the spec's datasets[] array you can paste straight in. Call it before submitJob whenever you want datasets[] to stage and verify a file: sizeBytes and sha256 are REQUIRED on every entry, and this is how you get them without pulling the data down to your own machine first. We read the URL from our side, stream it through a hash and keep no copy. Free, books nothing, and it never reads the caller's filesystem. https only, and only addresses on the public internet: a loopback, private, link-local or otherwise reserved host is refused, and so is a redirect that leads to one. There is an upper size limit and a limit on how often one session may call it; both refusals say so plainly. You do NOT need this when your command downloads its own data with curl or wget — datasets[] is the verified-staging path, and only that path needs a hash declared up front.
    ConnectorOAuth
  • Read a photo as an inline image (original or adapted to 5 MiB), or a video as an authenticated HTTPS resource link supporting GET, HEAD and byte ranges. Videos are not base64-encoded into MCP. Use rendition=still only for an inline video thumbnail, not a frame at start_ms. For video playback pass the search result's segment_start_ms as start_ms; it is a seek hint, not a clip. The client must fetch video links with its authentication header (Authorization: Bearer for OAuth tokens or OwAI developer keys; legacy x-app-key is also supported) and support the source codec; a returned link alone does not mean playback or analysis succeeded. OneDrive needs no desktop. Local folders and Apple Photos require the owning app online with remote media access enabled; Photos also needs native permission and may first download/export from iCloud on that Mac. Does not launch windows or retain originals on the server.
    ConnectorAPI key
  • Choose which pipeline new Meta lead-ad leads go to. Give page_id alone to set the Page's route (every form on that Page), or page_id and form_id to override one form. pipeline_id null clears the route at that level (a Page falls back to the account default; a form falls back to its Page). Only connected Pages, and only forms that have already sent a lead, can be routed: get both from list_meta_lead_routes. Clearing (pipeline_id null, no form_id) also works for a Page that is no longer connected (stale_pages) and clears that Page's form routes too, since leftover routes would otherwise block deleting the pipeline they name. Existing deals do not move; it applies to leads that arrive from now on.
    ConnectorAPI key
  • Reads a text file from your OneDrive synced folder. Supports .txt, .md, .csv, .json, .xml, .log and several code file types. Auto-detects UTF-8, falls back to Latin-1/Windows-1252 for legacy files (common in Latin American banking .TXT padrones). For files elsewhere on this Mac, use file_read.
    ConnectorOAuth
  • Deploy an application to sota.io. The platform auto-detects your framework and builds a Docker image automatically: - Next.js: Detected via next.config.js/ts. Add output: 'standalone' to next.config for optimal builds. - Node.js: Detected via package.json with a "start" script. Works with Express, Fastify, Koa, Hapi, etc. - Python: Detected via requirements.txt or pyproject.toml. Works with Flask, FastAPI, Django. - Custom Dockerfile: If a Dockerfile exists in the project root, it takes priority over auto-detection. Use this for Go, Rust, Java, or any other language. The EXPOSE directive in the Dockerfile is used to detect the app port automatically. THREE WAYS to supply the source code — pick EXACTLY ONE: 1. **files** (inline source from AI): Pass a map of relative paths to UTF-8 text content. Best when you've just generated a small app in this conversation and want to deploy it without any filesystem step. Up to 200 files, 10 MB total. Include the framework manifest (package.json, requirements.txt, or Dockerfile) so auto-detection works. 2. **git_url** (clone a public repo): Pass an https://, git://, ssh://, or git@host:path URL. We shallow-clone it (--depth=1 --single-branch) on the server and deploy. Optional git_branch picks a non-default branch. Only public repos are supported in v1. Max 200 MB after clone. 3. **directory** (local filesystem): Pass an absolute path. Only works when the MCP client has filesystem access (Claude Code / CLI; not Claude.ai web). Defaults to the current working directory when omitted. IMPORTANT: Your app MUST listen on the PORT environment variable. For auto-detected frameworks (Next.js, Node.js, Python) PORT is 8080. For custom Dockerfiles, the port is auto-detected from the EXPOSE directive (e.g. EXPOSE 3000 sets PORT=3000). If no EXPOSE is found, it defaults to 8080. Every project includes a managed PostgreSQL 17 database. Six environment variables are auto-injected into your container — no manual database configuration needed: DATABASE_URL (full connection string), PGHOST, PGPORT, PGUSER, PGPASSWORD, and PGDATABASE. Libraries that follow libpq conventions (node-postgres, pgx, psycopg2, Django) pick up the PG* variables automatically with no configuration. If your app needs database migrations, run them on startup. Deployments use blue-green strategy for zero downtime. The old container keeps running until the new one passes health checks (60s timeout). Use get-logs to monitor build progress. Files matching .gitignore, .git/, node_modules/, .env, and .DS_Store are excluded from the archive.
    Connector
    Destructive
    No auth
  • Deletes a SAVED web-automation login profile: closes its window if open, erases its cookies and site data from this Mac, and removes it from web_session_list. Use it to clean up a profile that is no longer needed — web_session_close only closes the window and leaves the login (and its cookies) on disk. IRREVERSIBLE: the next web_login for that name starts from a signed-out browser. Requires confirm=true; without it you get a preview. Verify with web_session_list, which must no longer list the name.
    Connector
    Destructive
    OAuth
  • The US bank account — account number and routing number — plus the USDC address on Base. This is the banking half, so it needs verification to be approved; before that it refuses. On and off ramps are free. For a wallet address that works right now, without verification, use get_wallets.
    ConnectorNo auth
  • Upload an image to Liberty.win and get a public URL. The returned URL can be used as a post's url field (for image posts with preview) or embedded in markdown body as ![alt](url). Requires login. Supported: jpg, png, gif, webp. Max 10MB. Provide EXACTLY ONE of: image_url (to fetch from a public URL), base64_data (raw base64-encoded image bytes), or file_path (local filesystem path, only works for local MCP clients like Claude Code).
    ConnectorNo auth
  • Use this when the user wants photography golden hour shoot windows for a city and a date range, with an ICS calendar file and CSV table. Choose morning, evening or both. Limits: 1–31 days, cities with population 50,000+ (plus Tromso), years 1900–2100, flat sea-level horizon; missing polar windows are reported and calendar events are only included for existing windows. Does not access or change a calendar.
    ConnectorNo auth
  • Lists on-screen windows of any app with window_id, owning app bundle id + name, title, bounds (global space, top-left, points), display_id (the CGDirectDisplayID — matches list_displays, so you can look up which display a window is on), layer (0 = normal app window; non-zero = panel/overlay/menu), and is_focused. Window TITLES require Screen Recording permission — without it this returns an explicit permission_required error rather than a title-less result. Optional app_bundle_id filter — note that Electron-style apps often own their windows from a HELPER process with a different bundle id, so a filter can come back empty while the app is plainly on screen. on_screen_only DEFAULTS TO TRUE and excludes minimized, hidden and other-Space windows; pass false to see them. include_overlays DEFAULTS TO FALSE and excludes non-zero-layer windows (Notification Center, widgets, menus); pass true to include them — use layer in the result to tell them apart from normal windows. include_minimized_state DEFAULTS TO FALSE (an extra Accessibility lookup per app, so it's opt-in); pass true to add `minimized` (true/false) to each window AND, when on_screen_only is true (the default), also bring back the minimized windows that filter would otherwise drop — WITHOUT Accessibility granted `minimized` is `null` (unknown) and no minimized windows are added back, never a guessed false, so you can find/capture a minimized window without bringing it forward first. When the result is empty this tool returns a `note` explaining which filter emptied it and what to pass instead — read it instead of concluding the app has no windows. window_id is stable within the session for later targeting.
    ConnectorOAuth
  • Get visitors grouped by operating system (Mac OS, Windows, iOS, Android, Linux, and others), ranked by visitors descending, for a date range. Names only: use get_breakdown with dimension os_version for versions, get_browsers for the browser split, and get_devices for desktop versus mobile. Pass filter_os to other tools to scope them to one OS. Rows carry value, visitors, revenue, and percentage with pagination.total; limit defaults to 100 (max 1000). Dates default to the last 30 days; all filter_* arguments apply. Requires websiteId or domain with a workspace token.
    ConnectorOAuth