Skip to main content
Glama
751,414 tools. Updated 2026-11-06 14:41

"Spreadsheets" matching MCP tools:

  • Answer questions about how Refpro works. Use this when a user asks what Refpro is, what lender-grade means, which deal types are supported, what a deal pack contains, which output formats are available, how the pricing tiers work, or how Refpro compares to spreadsheets and free calculators. Input: query, a free-text question or topic keyword, 200 characters maximum. Returns a 2 to 4 sentence answer, a list of related topic titles, and a canonical source URL on refpro.ai. Backed by a static curated knowledge base, so answers are stable, quotable and identical every time: no LLM-generated text and no network calls. Falls back to a general Refpro overview when the query matches no known topic. Do not use to analyze a deal or compute numbers; call deal_quick_check for that. Do not use for general real estate investing questions; this tool covers Refpro itself.
    ConnectorNo auth
  • 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
  • Download all records from a built dataset as text (Step 5 — final step). Returns the complete dataset content as a UTF-8 string directly in the response — no file download or separate URL needed. Call get_job_status after build_dataset and wait for status='completed' before calling this tool. Use the dataset_id from that completed response. Format guide: jsonl = LLM fine-tuning, rag = LangChain/LlamaIndex chunks, csv = spreadsheets, md = human-readable, xml = structured interchange. Binary formats (parquet, hf) cannot be returned via MCP — export them from the FlexOrch dashboard directly. Args: dataset_id: Dataset ID from the get_job_status completed build response. format: Text export format — jsonl, csv, json, md, xml, rag. Default: jsonl.
    ConnectorNo auth
  • Generate structured test cases from a requirement or prompt using the Test Manager AI generator (applies the project's Memory Layer — Project & Org Instructions — automatically) and file them into the chosen folder. Requirement documents, specs, spreadsheets or screenshots can be attached via files to ground the generation. Volume = test_scenario_limit × per_scenario_test_cases_limit, capped at 50 per call. By default all generated cases are saved into the folder (one sub-folder per scenario); pass auto_save=false to review before saving. The call returns FAST with a request_id (and a browser progress URL) — generation takes ~30-90s in the background; call this tool again with just request_id to check progress, fetch results, or save. Note: consumes AI generation credits.
    ConnectorOAuth
  • Generate structured test cases from a requirement or prompt using the Test Manager AI generator (applies the project's Memory Layer — Project & Org Instructions — automatically) and file them into the chosen folder. Requirement documents, specs, spreadsheets or screenshots can be attached via files to ground the generation. Volume = test_scenario_limit × per_scenario_test_cases_limit, capped at 50 per call. By default all generated cases are saved into the folder (one sub-folder per scenario); pass auto_save=false to review before saving. The call returns FAST with a request_id (and a browser progress URL) — generation takes ~30-90s in the background; call this tool again with just request_id to check progress, fetch results, or save. Note: consumes AI generation credits.
    ConnectorOAuth
  • List one folder of a Python project's code and files, as entries of { name, type (file or dir), path }: the top level by default, or the folder given as path. It does not recurse, so output a run saved, such as outputs/report.md, appears only when outputs is listed. Use it to find the path that fastero_read_python_file, fastero_write_python_file and fastero_ensure_python_entrypoint take. Files uploaded to the project (spreadsheets, PDFs) are listed by fastero_list_files instead, and fastero_get_python_project lists a local project's stored files in one flat list. A project linked to a repository is listed from its branch together with the files written here, without .git, .venv, node_modules or __pycache__. A folder that does not exist lists nothing, and a path outside the project is refused. Any project member, viewers included, can list it.
    ConnectorAPI key

Matching MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides comprehensive control over Google Sheets to read, write, format, and manage spreadsheets directly through natural language. It includes extensive tools for data manipulation, conditional formatting, and cell protection, along with integrated PostgreSQL database query capabilities.
    -

Matching MCP Connectors

  • Read one file of a Python project: a picture (PNG, JPEG, GIF or WebP), such as a chart a run saved in outputs/, comes back as an image with its mimeType, bytes and source; anything else as text. Text returns content, decoded as UTF-8, and source: local for a file stored in Fastero (written here, or saved by a run), git for one read from the linked repository's branch; a stored file is read in place of the repository's at the same path. Read a file here before fastero_write_python_file, which replaces the whole file; the path, relative to the project's root, comes from fastero_list_python_files. Uploaded project files such as spreadsheets are read with fastero_read_file, and notebooks with fastero_read_notebook. A file over 1,000,000 bytes is refused, with its size, rather than cut, since writing a cut copy back would lose the rest, and a path outside the project is refused. Any project member, viewers included, can read it.
    ConnectorAPI key
  • List the documents stored with a database (uploaded via create_upload_link), newest first: id, filename, size, the name they are attached to, and markdownChars - the size of the Markdown copy read_document returns (null when there is none, with markdownNote saying why). Pass nameId for one name's documents. Read-only. Use it to find a document's id before read_document, or to see what source files (PDFs, spreadsheets, notes) back a database. Data files loaded by import_file are not documents and are not listed here. Returns {database, count, documents}, every document at once (no paging). Errors database_not_found when the database does not exist or this user cannot open it.
    ConnectorAPI key
  • Use this when the user wants to stack or append many spreadsheets into one: "combine multiple csv files into one", "merge 12 monthly excel files", "combine excel files with different column names", "append these exports into one sheet", "combine all sheets into one". Takes 1 to 24 CSV, TSV or .xlsx files (or pasted tables). Aligns columns by identical name, then same name with different case or spacing, then a synonym table (Amt = Amount, Txn Date = Date, Memo = Description), then fuzzy spelling matches that are listed for confirmation; a specific column is not folded into a more general one (Spouse First Name stays separate from First Name). Adds a Source file column, decides day/month order once per file, reads EU number formats, removes total rows and repeated headers (listed), and reports each column decision. Returns an Excel workbook (Combined, Column mapping, Files, Excluded rows, Summary) and a CSV. Does not join files side by side on an ID (use join_spreadsheets) and does not do mail merge.
    ConnectorNo auth
  • Dry-run a job spec: fetch, extract and transform, return a preview. Saves nothing. Job spec: {"series": name, "cron": "m h dom mon dow" (UTC, at most every 5 min), "request": {"url", "method"?: "GET"|"POST", "headers"?: {}, "body"?: obj|str, "pages"?: {"param": "page", "start"?: 0, "max"?: 1-10} (json with items: bump a query parameter until an empty items array) | {"cursor": "paging.next.after", "into": "after", "max"?: 1-10} (copy that JSON path from each response into the JSON body; stop when it is missing. A cursor that remains after max pages is an error, so a sum is never a partial total. HubSpot CRM search uses this. A json aggregate with no request.pages fails when the body still has another page, paging.next.after, has_more true, links.next, pageInfo.hasNextPage or another next cursor, instead of saving a partial total. Set pages. A response with no next marker is complete.)}, "extract": {"format": "json", "items"?: "path.to.array", "date"?: "field", "value": "field", "value_type"?: "number"|"text", "aggregate"?: "count"|"sum"|"mean"|"min"|"max" (records per date, e.g. hourly prices to a daily mean; needs items; all but count need value), "period"?: "D"|"M"|"Q", "where"?: [{"field": "path", "equals"|"not_equals": value}] (up to 5, with aggregate). Omit "date" with aggregate to snapshot every matching record as one point on the day of the fetch. String numbers (HubSpot properties.amount) are summed.} | {"format": "json_columns", "dates": "path.to.array", "values": "path.to.array", "value_type"?} (two parallel arrays, e.g. Yahoo chart: timestamp + close) | {"format": "csv", "date"?: "COLUMN", "value": "COLUMN", "delimiter"?, "value_type"?} (omit date to stamp every row with the fetch day; one value per day, so the last row wins. That does not sum the rows the way a JSON aggregate that omits date does. A history needs a Date column. Make a copy https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsuywaTNyzL_pac/copy. Public CSV https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsuywaTNyzL_pac/export?format=csv&gid=1746689811. Downloads /templates/google-sheets.csv and /templates/google-sheets.xlsx.) | {"format": "jsonstat2"} (SSB/Eurostat; filter the query to a single series), "transform"?: [{"op": "pct_change"|"diff"|"rolling_mean"|"rolling_sum"|"rolling_min"|"rolling_max"|"shift", "n": int} | {"op": "scale", "factor": num}], "keep"?: "all"|"last"}. "value_type": "text" stores labels (no transforms; see Data policy). Dates like 2026-09-30, 2026M08, 2026Q2/2026K2, 2026 or unix time are normalised to ISO period-end dates; date-times (2026-10-05T14:00+02:00) count on the day as written. A single JSON value with no timestamp (omit "date", or a date path the body doesn't have) is dated with the day of the fetch: that is valid for a snapshot such as a price. A date that is present but not a date is an error. Do not invent a timestamp field. URLs and string bodies may use {today}, {yesterday}, {tomorrow}, {year}, {month}, {day} (UTC, filled in on every run) for sources that put the date in the URL. Private APIs: the URL, header values and string body may use {{secret:NAME}} for a secret the workspace owner stored (list_secrets shows the names and the one host each may be sent to); the value is filled in at fetch time and never shown, e.g. "headers": {"Authorization": "Bearer {{secret:STRIPE_KEY}}"}. A stored secret may be sent on GET, on a POST whose body is a GraphQL query, or on POST https://api.hubapi.com/crm/v3/objects/{deals,contacts,companies}/search only (HubSpot's read-only CRM search, JSON body; https://developers.hubspot.com/docs/api-reference/legacy/crm/search-the-crm). No other POST may carry a secret, and the secret is still sent only to the host it was saved for. If a needed secret is missing, ask the user to add it at /account under Data sources.
    ConnectorOAuth
  • List the spreadsheets one of your Google Sheets, Excel or Smartsheet account connections can read (postgres_list_connections marks them `spreadsheets: true`), or one spreadsheet's tabs. Without `spreadsheetId` it returns the files: for a Google account, the spreadsheets its owner chose for OrionBI with "Add spreadsheets" on the Workbooks page (Google lets OrionBI open nothing else); for a Microsoft 365 account, the Excel workbooks it can open across OneDrive and SharePoint, filtered by `query`; for a Smartsheet account, the sheets it can open, filtered by `query`. With `spreadsheetId` (and, for Excel, `driveId`) it returns that file's tabs and their sizes; a Smartsheet sheet is one table, its columns named by their titles. For Excel, `link` instead takes a OneDrive or SharePoint sharing link the user pasted and returns that workbook and its worksheets. Excel connections read workbooks (.xlsx, .xlsm) in OneDrive for Business and SharePoint, not personal OneDrive. Every file and tab carries `selection`, the JSON object to pass as `sql` to dataset_create, which turns a tab into a Data Set with typed columns (numbers, dates, true/false) refreshed on a schedule. If a Google spreadsheet the user names is not listed, ask them to add it on the Workbooks page; it cannot be reached any other way.
    ConnectorOAuth
  • Upload data to work on. This hosted endpoint has no filesystem, so instead of a file path you send the data once with sheet_load and then pass its name as `path` to sheet_info, sheet_read, sheet_query, sheet_stats, sheet_find, sheet_add_column, sheet_convert and sheet_write. Give exactly one of csv (raw text, comma or tab separated), xlsx_base64 (a base64-encoded .xlsx workbook) or url. url: fetch a public file instead of pasting base64 (recommended above about 10 KB): the url is fetched here with a 10 second timeout, at most 3 redirects, public http(s) hosts only, and a 2 MB cap, and a fetched file is stored as an .xlsx when it carries the PK zip header and as delimited text otherwise. Loaded sheets are kept for your token and survive between calls; the total is capped at 2 MB per token. Files the other tools write come back as a download link that is valid for one hour.
    Connector
    Destructive
    No auth
  • Upload data to work on. This hosted endpoint has no filesystem, so instead of a file path you send the data once with sheet_load and then pass its name as `path` to sheet_info, sheet_read, sheet_query, sheet_stats, sheet_find, sheet_add_column, sheet_convert and sheet_write. Give exactly one of csv (raw text, comma or tab separated), xlsx_base64 (a base64-encoded .xlsx workbook) or url. url: fetch a public file instead of pasting base64 (recommended above about 10 KB): the url is fetched here with a 10 second timeout, at most 3 redirects, public http(s) hosts only, and a 2 MB cap, and a fetched file is stored as an .xlsx when it carries the PK zip header and as delimited text otherwise. Loaded sheets are kept for your token and survive between calls; the total is capped at 2 MB per token. Files the other tools write come back as a download link that is valid for one hour.
    Connector
    Destructive
    No auth
  • Read one Drive file's TEXT content by id. Google-native docs (Docs/Sheets/Slides) are exported as text (default text/plain, spreadsheets text/csv — override with export_mime_type); other files are read as UTF-8 text directly (garbles binary formats like images/PDFs — use download_file_content for those). Content is capped (large files are truncated, `truncated: true`). Needs the Drive CONTENT scope (drive.readonly) — accounts without it get a reconnect hint. Pass `account` when more than one content-capable account is connected.
    ConnectorOAuth
  • The original file of one document, for reading it yourself: a PDF comes back as the file, a picture as an image, a text or CSV file as text. Use it when get_document_data does not have the answer, to check a value against the original, or when the user asks to see or read the document. Prefer get_document_data first: it is smaller and already structured. Only documents with `downloadable` true in list_documents have a file. PDFs up to 5 MB, pictures up to 3.75 MB and text up to 200 KB can be sent; spreadsheets and other formats cannot be read here, so use get_document_data for them.
    ConnectorOAuth
  • Read an uploaded file (PDF, Word, PowerPoint, spreadsheet, text) as markdown. Find file ids with workspace_folders_browse (a folder's items of kind workspace_file) or search_workspace. For anything long, call with `outline: true` first: it returns the headings with their character offsets and the total length. Then read only the sections you need with `offset` and `maxChars`. Spreadsheets come back as tables. A file that can't be read as text says so; don't guess at its contents.
    ConnectorNo auth
  • Delete a hosted page (a dashboard is deleted with fastero_delete_dashboard). Its link stops working for everyone in the project, answering that the page was not found, and its automatic refresh stops. The widgets it read, and their queries and spreadsheets, are kept. To change what it shows and keep its link, fastero_update_page replaces its HTML in place. Answers with the page’s _id.
    Connector
    Destructive
    API key
  • Read receipts and invoices (JPG, PNG, WebP, HEIC, PDF, or a zip of them; one document per file or PDF; up to 25 documents per call, 10 MB each, PDFs up to 10 pages) into checked numbers. Give each file as file_id (from create_upload), url (public https) or data_base64 (up to 2 MB inline). MCP requests are capped near 4 MB by the SDK, so keep all inline base64 in one call under about 2 MB and use create_upload for more. Returns one entry per document with vendor, date, currency, line items, subtotal, tax, total and payment method, each field marked ok, check or missing, the checks that ran, a status of ready or needs_review with review_reasons, and duplicate_of for a repeated receipt. Money is a decimal string, never a float. Each document also carries printed: its dates and currency as printed, the paths of fields whose text could not be read (printed.unreadable), the paths of fields a second read changed after a failed check (printed.second_look), and the paths of amounts printed with a dotted thousands separator on a rupiah-style receipt ("31.000") that were read as the whole number (printed.thousands; the value is already converted and the field is marked check), and the paths of amounts the model returned as JSON numbers, whose printed digits are lost (printed.number_typed; the field is marked check). Also returns 24-hour download links for the exports you ask for: csv (default), line_items_csv, quickbooks_csv (one currency; set quickbooks_currency and quickbooks_date_format, MM/DD/YYYY or DD/MM/YYYY) and file_pack (a zip of the originals renamed by date, vendor and total, plus documents.csv). Each link lists the documents left out of that file: quickbooks_csv leaves out every document with status needs_review (and ones missing a date or total), with the reason; csv, line_items_csv and file_pack keep every document. Hints: country (ISO 3166-1 alpha-2) and currency (ISO 4217) help with unclear receipts, date_order (DMY or MDY) settles dates like 03/04/2026. Show documents with status needs_review and their review_reasons to the user before using their numbers. Free for now within a daily quota counted in documents (see start.md); price when payments are enabled: $0.01 per document. Use a client timeout of at least 240 s.
    ConnectorNo auth
  • Get a one-hour signed upload URL for a document or a zip that is too large to send inline (over 2 MB; up to 100 MB here) or that already sits on disk. PUT the raw bytes to upload_url with a Content-Length header, then pass file_id to extract_documents. Free.
    ConnectorNo auth
  • List the outside systems this organization has connected (Slack, Gmail, Linear, spreadsheets and so on) with the live state of each: active, still authorizing, failed, or disconnected. Each entry carries a plain explanation of what went wrong when something is not working. Use this whenever someone asks what is connected, why a connection is not working, or what you can currently reach. This is the source of truth about connections -- do not infer them from which tools you happen to have.
    ConnectorAPI key
  • Upload data to work on. This hosted endpoint has no filesystem, so instead of a file path you send the data once with sheet_load and then pass its name as `path` to sheet_info, sheet_read, sheet_query, sheet_stats, sheet_find, sheet_add_column, sheet_convert and sheet_write. Give exactly one of csv (raw text, comma or tab separated), xlsx_base64 (a base64-encoded .xlsx workbook) or url. url: fetch a public file instead of pasting base64 (recommended above about 10 KB): the url is fetched here with a 10 second timeout, at most 3 redirects, public http(s) hosts only, and a 2 MB cap, and a fetched file is stored as an .xlsx when it carries the PK zip header and as delimited text otherwise. Loaded sheets are kept for your token and survive between calls; the total is capped at 2 MB per token. Files the other tools write come back as a download link that is valid for one hour.
    Connector
    Destructive
    No auth