Skip to main content
Glama
741,526 tools. Updated 2026-11-04 06:21

"Tools or methods to operate and modify files" matching MCP tools:

  • Creates a new Word (.docx) document at `path` with the given text content (and an optional title rendered as the heading). The path must be somewhere LMCP can write; Desktop/Documents/Downloads may need a one-time Files-and-Folders grant (System Settings → Privacy & Security → Files and Folders). Returns {created, path}. For a OneDrive or Google Drive path use onedrive_write_file / gdrive_write_file; to append to an existing doc use word_append, to read one word_read.
    Connector
    Destructive
    OAuth
  • Concatenate two or more PDFs into a single PDF, in the order supplied, and return the merged file. Over MCP the PDF is never inlined: it comes back as a stored URL that stays retrievable for about 24 hours. Page content is copied unchanged — it does not compress (use compress_pdf) or select pages (use split_pdf). Fewer than two files is rejected. Every input must already be a PDF; a photo handed to this tool is rejected rather than converted. Use images_to_pdf when any input is a picture — it takes PDFs alongside them and splices both in one pass. There is no upload channel over MCP: pass `fileUrls`, an array of URLs in razi.pro's own storage; third-party URLs are rejected. Obtain such a URL by uploading the file over the REST API first (POST /api/v1/tools/execute with the file attached). Over the REST API the files may instead be attached as multipart/form-data. Limited to 20 merges per hour per IP.
    ConnectorNo auth
  • Concatenate two or more PDFs into a single PDF, in the order supplied, and return the merged file. Over MCP the PDF is never inlined: it comes back as a stored URL that stays retrievable for about 24 hours. Page content is copied unchanged — it does not compress (use compress_pdf) or select pages (use split_pdf). Fewer than two files is rejected. Every input must already be a PDF; a photo handed to this tool is rejected rather than converted. Use images_to_pdf when any input is a picture — it takes PDFs alongside them and splices both in one pass. There is no upload channel over MCP: pass `fileUrls`, an array of URLs in razi.pro's own storage; third-party URLs are rejected. Obtain such a URL by uploading the file over the REST API first (POST /api/v1/tools/execute with the file attached). Over the REST API the files may instead be attached as multipart/form-data. Limited to 20 merges per hour per IP.
    ConnectorNo auth
  • Return a paginated file listing for a dataset or a specific group. Depending on how deep gindex is in the group hierarchy, this returns either actual file rows or another layer of subgroup summaries — there's no way to tell in advance which you'll get. If you get subgroups, read the gindex (or url) off a row and call again with that gindex to go one level deeper; gindex values are dataset-specific and can't be guessed. A shallow gindex on a large dataset can return a very large response (thousands of files) — the file-row portion of the response is capped at 500 rows (look for "_truncated": true). Two ways to avoid hitting that cap instead of drilling down group by group: pass filter_wfile with a filename pattern (e.g. a date like "20220808") to filter down to matching files, or page through a known group's results with `page`. filter_wfile only filters actual file rows, so it has no effect at a gindex that's still returning a subgroup summary rather than files — if a first attempt comes back unfiltered, descend one level (see get_file_groups) and retry there. Args: dsid: Dataset ID (dNNNNNN), e.g. d083002 gindex: Optional group index to filter files page: Page number to fetch (for a group with more files than fit on one page) filter_wfile: Filter files by name pattern, e.g. "20220808" to match a date fl: File list source (defaults to "web" server-side)
    ConnectorNo auth
  • Publish files as a live website on Flowershow and get a shareable URL. Use when the user says "publish this", "put this online", "make this a website", "share this as a page" or "host this". Accepts Markdown (.md, rendered as a styled page with navigation), HTML (.html, served as-is) and supporting files such as CSS, JS, JSON and images: one page or a small site, up to 50 files and 3 MB per call. Name the home page index.md or index.html. Anyone with the link can see what you publish. When you publish, tell the user every path you are sending (and any paths in delete) and which site they go to: a new site, or the one being updated. Stop and ask before calling publish only when it matters: a file looks private or sensitive (drafts, personal notes, keys or passwords, data with people's names or emails), the call removes files (with delete or replaceWholeSite) the user didn't ask to remove, it would create a new site when the user meant to update one, or the set of files differs from what the user asked to publish. If the user already named the files, asked for the removal or said to go ahead, that is their yes. Without an account this creates a new site that expires in 7 days and returns a claim link: always show the user the live URL and the claim link exactly as returned, so they can keep the site. To update that site later in the conversation, call publish again with its siteId and claimToken and only the files you changed or added: files you don't send are kept as they are. To remove pages or files, list their paths in delete (files can then be empty). Only when the user explicitly asks to start the site over, set replaceWholeSite to true: the files you send become the whole site and every other file is removed. If that would remove existing files, the call is refused and tells you how many and which; ask the user, then call again with confirmDeleteCount set to that number. For bigger sites, suggest the Flowershow CLI (fl).
    Connector
    Destructive
    No auth
  • How to operate as a product manager on AIOProductOS. No arguments and no side effects — returns the same operating guide as plain text every call (deterministic): how to ground in the product brain, keep work welded to the spine (insight→feature→task→outcome), prioritise on evidence (affected accounts + MRR + reach), and what 'done' means. Call it FIRST, before planning or prioritising, to load the house rules the other tools assume.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables structured extraction of methods and reproducibility heuristics from academic papers, allowing AI agents to obtain metadata, full text, structured methods, code repository discovery, and a no-clone reproducibility verdict from a paper URL.
    8
    35 PyPI
    MIT

Matching MCP Connectors

  • Research methods for AI assistants: study design guidance, R and Python code, and citations

  • Download files from URL lists, turn PDFs into Markdown and read text from images. Pay per file.

  • 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
  • Read-only. Returns your current APIHub credit balance (in microdollars and USD), total lifetime spending (microdollars and USD), and total completed request count. Requires a valid API key. Use before apihub_call or apihub_call_external to confirm sufficient funds for a paid request, or periodically to audit usage. Does not modify state, send payments, or call upstream APIs; for top-ups use apihub_topup.
    ConnectorNo auth
  • Update an existing official rules document. Use fetch_rules first to get the rules_token. LEGAL BYPASS WARNING: Updating document_content replaces a legally valid document with free-form HTML that bypasses every safeguard of create_rules_wizard (AMOE, 21+ alcohol gate, COPPA, state eligibility). NEVER compose, draft, or modify the legal language yourself. Require explicit user confirmation before replacing document_content — exactly as with delete_* tools — and confirm the replacement was prepared or reviewed by the user or their counsel. UPDATABLE FIELDS: Only these fields can be modified: title, document_content, abbreviated_rules_shopify. NOT UPDATABLE: sweepstakes association, primary status, creation date, and any other field NOT listed above cannot be changed after creation. Do NOT tell the user they can update fields that are not supported by this endpoint. If they ask to change something not updatable, explain it cannot be modified after creation. # update_rule ## When to use Update an existing official rules document. Use fetch_rules first to get the rules_token. LEGAL BYPASS WARNING: Updating document_content replaces a legally valid document with free-form HTML that bypasses every safeguard of create_rules_wizard (AMOE, 21+ alcohol gate, COPPA, state eligibility). NEVER compose, draft, or modify the legal language yourself. Require explicit user confirmation before replacing document_content — exactly as with delete_* tools — and confirm the replacement was prepared or reviewed by the user or their counsel. UPDATABLE FIELDS: Only these fields can be modified: title, document_content, abbreviated_rules_shopify. NOT UPDATABLE: sweepstakes association, primary status, creation date, and any other field NOT listed above cannot be changed after creation. Do NOT tell the user they can update fields that are not supported by this endpoint. If they ask to change something not updatable, explain it cannot be modified after creation. ## Pre-calls required 1. `fetch_sweepstakes` if the user gave you a sweepstakes name instead of a token ## Parameters to validate before calling - `sweepstakes_token` (string, required) — The sweepstakes token (UUID format) - `rules_token` (string, required) — The rules token to update (UUID format) - `title` (string, optional) — New title for the rules document (max 100 characters) - `document_content` (string, optional) — New HTML content for the rules (max 1,000,000 characters) - `abbreviated_rules_shopify` (string, optional) — Abbreviated rules for Shopify integration (max 1,000,000 characters) ## Notes - Replacing `document_content` swaps a legally valid document for free-form HTML that bypasses the wizard safeguards — require explicit user confirmation first, like delete_* tools - NEVER compose or modify the legal language yourself
    ConnectorNo auth
  • Read-only. Returns your current APIHub credit balance (in microdollars and USD), total lifetime spending (microdollars and USD), and total completed request count. Requires a valid API key. Use before apihub_call or apihub_call_external to confirm sufficient funds for a paid request, or periodically to audit usage. Does not modify state, send payments, or call upstream APIs; for top-ups use apihub_topup.
    ConnectorNo auth
  • Read up to 50 files from the editable source tree in one call (8388608 bytes in total). Each path succeeds or fails on its own; paths past the budget fail with BATCH_BUDGET_EXCEEDED. Use read_source_files for source; use read_files instead for the files the site serves.
    ConnectorNo auth
  • Low-level Telegram API (MTProto) invoke for methods not wrapped by other tools. Dangerous methods require allow_dangerous=true. Success: API result dict or normalized error. PII and credential-shaped fields (phone, access_hash) are dropped from a successful result by default; pass include_sensitive=true for the raw payload. A bare message id needs a chat binding: requests with no peer field (messages.GetMessages, messages.DeleteMessages) are refused, because a bare id resolves against an arbitrary dialog. Use channels.GetMessages or messages.GetHistory, which carry the binding. messages.GetHistory cannot address a forum topic (no thread_id/top_msg_id in the schema, and channels.GetHistory does not exist) -- use messages.Search with top_msg_id, or the high-level get_messages with reply_to_id. Full documentation: https://github.com/leshchenko1979/fast-mcp-telegram/blob/main/docs/Tools-Reference.md
    Connector
    Destructive
    No auth
  • Low-level Telegram API (MTProto) invoke for methods not wrapped by other tools. Dangerous methods require allow_dangerous=true. Success: API result dict or normalized error. PII and credential-shaped fields (phone, access_hash) are dropped from a successful result by default; pass include_sensitive=true for the raw payload. A bare message id needs a chat binding: requests with no peer field (messages.GetMessages, messages.DeleteMessages) are refused, because a bare id resolves against an arbitrary dialog. Use channels.GetMessages or messages.GetHistory, which carry the binding. messages.GetHistory cannot address a forum topic (no thread_id/top_msg_id in the schema, and channels.GetHistory does not exist) -- use messages.Search with top_msg_id, or the high-level get_messages with reply_to_id. Full documentation: https://github.com/leshchenko1979/fast-mcp-telegram/blob/main/docs/Tools-Reference.md
    Connector
    Destructive
    No auth
  • Submit a booking request — a lead, NOT a confirmed appointment; the notary follows up. Use when ready to book AND the customer is not signed in; a signed-in customer goes through book_appointment instead. Requires: `service` (e.g. office, mobile, loan), the FULL LEGAL NAME as on government ID, and an email or phone (collect both). Pass the chosen startUnix from search_availability as `desired_time_unix`; to modify an open request pass `existing_reference`, never a duplicate. Returns a reference for check_request_status; fails if the name or a valid contact is missing.
    ConnectorNo auth
  • READ-ONLY: returns generated source code as text and writes nothing to disk, creates no project and runs no command. Generates an idiomatic @imqueue/rpc service (an IMQService subclass with @expose()d, JSDoc-typed methods) plus a bootstrap that starts it. Provide the methods you want, or omit them for a starter template. Any non-primitive parameter or return type also gets a types.ts with the required @classType()/@property() declarations — without those the generated client types it `any`, which compiles. Use create_service (local install only) if you want files actually written.
    ConnectorNo auth
  • Upload one or more files to Clueso. Pick a mode by client + where the file lives: 0. **files** — ChatGPT only: files the user attached in the conversation. ChatGPT fills each entry (download_url + file_id) itself; pass the attachments here rather than asking the user to re-upload. Returns one mcp_upload_id per file. 1. **file_name** — HOSTED upload, the default for any non-UI / programmatic upload (Claude Code, Cursor, Claude Desktop, scripts). Returns an upload URL on Clueso's OWN base domain + a ready-to-run curl that streams a single local file to it; Clueso relays the bytes to storage server-side. The PUT targets the base domain — NOT cloud storage directly — so it works on desktop/agent clients that can't reach or are blocked from S3. Requirement: the client must be able to PUT bytes to the Clueso base domain (run the returned curl, or any HTTP PUT). The agent (or the user at a shell prompt) runs the curl. Prefer this whenever there's no human at a browser. **file_names** (without request_hosted_upload) is the same for many files in ONE call: a token and URL per name plus ONE `curl` that sends them all. Run it from the folder the names are relative to (for edit_animation `upload_ids`, the page site's root, names like 'index.html' or 'js/scene.js'). 2. **file_url**: Pass a public https URL. Server fetches and stages the file. Returns mcp_upload_id immediately. Use when the file is already on the open web — no user interaction needed. 3. **request_hosted_upload** (UI mode — use ONLY when a human should pick files in a browser: many files at once, or a host with no shell / no PUT capability): Returns a single upload_token + upload_page URL. Share the link with the user; they open it in a new browser tab, drop their files, click Done. Then call check_uploads(upload_token) to retrieve all mcp_upload_ids. Call once for all files. Hosted uploads cover any number of files per call: one call issues one upload_token, and that token covers every file the user drops on the page. Repeat calls issue additional tokens, each tracking only its own files. The returned mcp_upload_id (prefixed `mup_`) can be passed to: - add_elements / update_elements (image or video → an element ON a clip: pass it as `type_data.mcp_upload_id`, on either tool — this is how a local image becomes on-canvas content, and how an existing element's source is swapped). To fill an animation's image slot, pass it inside `type_data.parameter_values` on update_elements only — parameter_values is an update-path field and is stripped on add. - add_audio (audio → project music track that plays under all clips) - add_clips(kind='video') (video or audio → sequential clip with auto-transcription) - add_clips(kind='pptx') (.ppt/.pptx → slide clips) - add_article_media (image/GIF → article asset) - analyze_audio (audio → transcript / silences / beats / features / energy / sections) - edit_animation (a page file (html, css, js, json, svg) or media → `files: [{path, upload_id}]`, or `upload_ids` when each upload is named by its path, so a big file never goes inline) **purpose: 'font'** (with file_name, file_names, file_url or files; display_name optional) adds the file to this workspace's brand fonts once it arrives: the curl's reply (this reply for file_url and files, check_uploads for the hosted page) carries `font: {name, family, format, converted_from}` or `font_error`. TTF, OTF, WOFF or WOFF2; WOFF and WOFF2 are stored as TTF so the renderer and text measurer read them. The name is display_name, else the file's family without build dates or versions ("Cursor Mono 260406" → "Cursor Mono"); use it exactly in font_setting.font and in animation pages. One face per name; a name already in the workspace is refused. Needs an editor or admin, on a plan with custom fonts.
    ConnectorNo auth
  • Publish a browser game (HTML5/JavaScript, static files) to Playfrog and get a public, shareable play link in seconds. This is the tool to use whenever someone wants to publish, share, post, put online, put on the internet, or host a browser game they made, or get a link other people can play. Free, no account and no API key. Send the game files; an index.html at the top level is required, 2.5 MB of files in total. An optional cover image improves the game page and social share card. Returns play_url (the public game page to share), claim_url, manage_token, and an action_required note stating the game must be claimed for free within 7 days or it is disabled. Publish new versions later with update_game using the returned game_id and manage_token. Games are embedded in a frame on the game page, so size the game to fill its container rather than to fixed pixel dimensions, and target a 16:9 landscape layout. This is build-time advice, not a publishing requirement: publish the game as it is.
    Connector
    Destructive
    No auth
  • Depreciate an asset by straight line or diminishing value, with a year by year schedule. Use for: 'how is depreciation calculated', 'straight line vs diminishing value', 'depreciation schedule', 'book value after 3 years', 'work out depreciation on equipment'. THE TWO METHODS DIVERGE SHARPLY ON THE SAME ASSET. Straight line spreads the deduction evenly across the useful life. Diminishing value applies the rate to the REDUCING book value, so it front-loads the deduction heavily and never reaches zero on its own. Which is better depends entirely on when the owner wants the deduction, so the year by year schedule is the useful part of this answer rather than the first year figure. Show the schedule. additional_costs are capitalised into the cost base, which is where delivery and installation belong. salvage_value acts as a floor under both methods, and the last year of a straight line life takes only what is left, so rounding cannot push the book value below it. ONE IMPORTANT LIMIT, AND IT MATTERS. This is the ARITHMETIC of the two methods on a rate you supply. It is NOT a lookup of Inland Revenue's prescribed rates, which vary by asset class and are published in the IRD depreciation rate finder. If someone needs to know the right RATE for a particular asset, send them to that finder. DO NOT INVENT A RATE to feed this tool and present the output as their tax position. Args: initial_cost: Purchase price of the asset. method: straight_line or diminishing_value. additional_costs: Costs capitalised in, such as delivery or installation. salvage_value: Expected residual value. A floor under both methods. useful_life_years: Years of life. Required for straight line. annual_rate_pct: Rate per year. Required for diminishing value. years_to_schedule: Years to show. Defaults to the life, or ten. Returns: The cost base, the depreciable amount, the first year charge, the total charged, the closing book value and the full year by year schedule.
    ConnectorNo auth
  • EDIT a deployed site — call get_project_files first, never edit from memory. PREFERRED: targeted edits ({ path, oldString, newString }) — you send only the changed text, and the server verifies oldString against the ACTUAL live file (exactly one match required), so a stale copy can never overwrite anything. Use files (full content) only for rewrites or new files, deletePaths for removals. Every file you do NOT name is guaranteed untouched — deletions never happen by omission. All-or-nothing: any failed match or invalid path rejects the whole patch with nothing changed. Text files only (HTML/CSS/JS) — images live in the Media Library. Single-file projects accept edits to their one file (path "/"); adding/deleting files is multi-file only.
    Connector
    Destructive
    OAuth
  • Open one attachment of a Gmail message and return what is in it. Text, CSV, JSON, HTML and code files come back as themselves; images come back as pictures the assistant can look at. PDFs, spreadsheets and Word files can't be read yet — but any attachment can be saved as-is with save_gmail_attachment_to_drive. Attachments up to 10 MB. Get attachmentId from get_gmail_message or get_gmail_thread.
    ConnectorOAuth
  • Open one attachment of an Outlook message and return what is in it. Text, CSV, JSON, HTML and code files come back as themselves; images come back as pictures the assistant can look at. PDFs, Excel workbooks and Word files can't be read yet — but any file attachment can be saved as-is with save_outlook_attachment_to_onedrive. Attached emails and OneDrive links are not files and are refused. Attachments up to 10 MB. Get attachmentId from get_outlook_message or get_outlook_conversation.
    ConnectorOAuth