Skip to main content
Glama
459,989 tools. Updated 2026-08-17 12:39

"Tools for Extracting Content from Websites and PDFs" matching MCP tools:

  • Summarize document text into a prose summary and key points with citations. Use after document.extract_text or url.extract when you need a condensed understanding of a long document. For single-sentence Q&A, use url.qa instead. For extracting specific fields, use document.extract_structured. Typical workflow: document.extract_text/url.extract → document.summarize. Returns: { summary: string, key_points: string[], summary_cited: { value, confidence, citations[] }, key_points_cited: [{ text, citations[] }], truncated: boolean, strategy: "full"|"truncated"|"chunked" } Example prompts: - "Summarize this financial report and give me the key points." - "What are the main takeaways from this document?" - "Give me a concise summary of this 50-page report."
    Connector
  • Submit a photo or PDF of a receipt for processing. Covers requests phrased as 'log this', 'log this receipt', 'save this receipt', 'expense this', or 'add this to my expenses', including when the user simply shares a photo of a receipt or invoice. The receipt image is validated, uploaded to cloud storage, and processed by AI to extract vendor, amount, date, tax, and category. The expense appears in the user's spreadsheet in about 1-3 minutes, and longer for PDFs or large batches. Handles images and PDFs, mixed together in one batch. TO SEND FILES (preferred, and required for PDFs): call this tool with filesToUpload listing every file the user gave you. It returns one signed upload URL per file. Upload them ONE AT A TIME with an HTTP PUT, telling the user which file you just finished and how many remain, then call this tool ONCE with uploadRefs for all of them — that processes the whole set as a single batch, like the ExpenseBot web app. Do not call this tool once per file. Only use the photo parameter for a single small image whose base64 you can reliably include in full — large base64 payloads are frequently dropped in transit, which silently loses the receipt. Optional note and tag values use the same receipt metadata path as ExpenseBot's camera, file uploader, and forwarded-email intake. The note is stored in the Notes column (L); the tag is stored in the Tag column (K). Batch defaults apply to every file, and each uploadRefs item may override either value for that file.
    Connector
  • Generate a CDN-cached image variant for a file stored in UploadKit Cloud. Requires a paid plan, a live API key in the MCP process environment as UPLOADKIT_API_KEY, and an image key returned by UploadKit. BYOS files are not supported. Use signed delivery for private or temporary content and public delivery for stable URLs in websites, apps, srcset, CSS, or stored application data. Explicit formats consume 1 transformation unit; auto consumes 3 units. When to use: after an image is uploaded and the user wants a resized, cropped, optimized, or converted delivery URL. The returned URL is safe to send to browsers; the API key remains server-side. Returns: JSON { url, expiresAt, delivery, transform, usage }. Has the side effect of reserving monthly transformation units for a new unique variant.
    Connector
  • Drill into a specific URL after search surfaces it. Returns the extracted text content plus metadata. Internal routing: PDFs hit Anthropic Files API for OCR + structured extraction; HTML pages are fetched + text-extracted via readability-style stripping. Use for: verifying a verbatim quote from a Reddit thread, reading a primary source in full (earnings transcript, research paper), drilling into a vendor product page after search surfaced the URL. NOT for: discovering new URLs — use search/search_community/search_research first. This tool takes a known URL only. Optional max_chars 100-50000, default 8000. SSRF-protected: private IPs + localhost blocked.
    Connector
  • Download a PDF from a URL and extract all text content, page by page. Use this to read the full text of a specific document — for example, an annual report PDF linked from a search_filings result. Best combined with search_filings: use search_filings to locate the document, then parse_pdf_to_text for the full text. Do not use for PDFs that are already well-represented in the database — search_filings is faster and returns pre-ranked, relevant excerpts. Not suitable for scanned (image-only) PDFs without embedded text; those pages will be returned as "(no extractable text)". Args: pdf_url: Direct HTTPS URL to the PDF file, e.g. https://example.com/report.pdf. Must be publicly accessible; authentication-protected URLs will fail. Returns: All text from the PDF with "--- Page N ---" separators between pages. Returns an error string if the download fails, the URL does not point to a valid PDF, or the document exceeds the 60-second download timeout.
    Connector
  • Summarize document text into a prose summary and key points with citations. Use after document.extract_text or url.extract when you need a condensed understanding of a long document. For single-sentence Q&A, use url.qa instead. For extracting specific fields, use document.extract_structured. Typical workflow: document.extract_text/url.extract → document.summarize. Returns: { summary: string, key_points: string[], summary_cited: { value, confidence, citations[] }, key_points_cited: [{ text, citations[] }], truncated: boolean, strategy: "full"|"truncated"|"chunked" } Example prompts: - "Summarize this financial report and give me the key points." - "What are the main takeaways from this document?" - "Give me a concise summary of this 50-page report."
    Connector

Matching MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Extract content from URLs, documents, videos, and audio files using intelligent auto-engine selection. Supports web pages, PDFs, Word docs, YouTube transcripts, and more with structured JSON responses.
    2
    168
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    An MCP server that exposes any REST API to LLMs through runtime discovery, providing tools to browse endpoints, fetch schemas, and apply business rules without hardcoding or schema duplication.
    MIT

Matching MCP Connectors

  • Decision Layer for AI Agents — 58+ tools, Advisor, MCP. Free key: POST /v1/register {}.

  • GOV.UK Content + Search APIs (every gov.uk page + full search)

  • Fetch a public HTTPS URL and return its content translated into a target language. Lean mode — no bundle stored. Use when you need to understand web content in a different language. For extracting raw untranslated text, use url.extract instead. Returns: { url, translated_text, target_lang, truncated } Example prompts: - "Translate https://example.de/artikel into English for me." - "Translate this German article into Spanish: [URL]." - "Fetch [URL] and give me the French translation."
    Connector
  • List websites the organization has audited, with their latest run status, health score, and owned/prospect kind. Each row carries last_run_id (the latest run, any status) and last_report_run_id / last_report_id (the latest completed run whose report has not been deleted) — pass last_report_run_id to get_report to read a website's newest report without knowing a run id in advance, or list_audits with website_id for its full history. Use the website_id with list_issues/get_issue. Websites registered but never audited do not appear; run_audit or add_website registers a new one. Ephemeral one-shot audits never appear. Returns total/has_more for pagination. Filter by kind to separate sites the user runs from one-off prospect audits: kind: "prospect" returns ONLY sites explicitly marked as such, so it is the safe way to build a bulk-delete list.
    Connector
  • List the business's existing Orivox websites (guid, title, published state, preview URL). Call this before create_project when you are not sure whether the requested site already exists, or when the user asks what sites they have. owner_email is intentionally empty on the account's OWN projects (the caller already knows their identity from whoami); it is populated only on rows shared in from another account. Empty is not a data bug.
    Connector
  • Deploy or update a website or web app to get a public URL. Text files only in files[]. files[] must be a JSON array, even for one file. Example: files: [{"filename":"src/App.tsx","content":"..."}]. Never pass a bare string or a single file object. Use files[] for inline text edits and diffs, not for copying large existing local file contents into tool params. Never inline or base64-encode binary assets/resources in files[]; use upload_assets first for images, fonts, media, PDFs, archives, and other client-supplied file assets, then pass upload_id. Inline deploy_app text payloads MUST be compact. For JavaScript/TypeScript/JSX/TSX string literals, use single quotes wherever valid. Keep inline HTML/CSS/JS/TS diff from/to values single-line wherever valid; do not include newline characters unless required for valid syntax. Template files from get_app_template are auto-included as the baseline — use diffs[] to modify them; content is otherwise only for entirely new files. New apps: tests/tests.txt is the intentional template-file exception and must be sent as a complete content replacement. New apps: set app_id to null, provide app_name, description, app_type, frontend_template, and features. Updates: provide existing app_id, features, and either changed files/deletePaths or upload_id. If upload_id is provided, do not also send files[] or deletePaths[]; the upload manifest owns all text changes, diffs, and delete operations. Rules: do not add @appdeploy/client or @appdeploy/sdk to package.json (platform-injected). SPAs must use HashRouter. Frontend must never import @appdeploy/sdk; backend must never import @appdeploy/client. Frontend must use api from @appdeploy/client for backend calls, never fetch() or axios. If frontend realtime is used, @appdeploy/client websocket usage is ws.connect() only; do not call ws.subscribe/ws.publish/ws.send directly on ws. After deploy, poll get_app_status every 5s until status is 'ready' or 'failed'. If get_app_status returns QA/e2e/runtime errors, attempt automatic fixes and redeploy up to 3 times before asking the user for guidance.
    Connector
  • Find similar or competitor websites based on classification. Takes a URL, classifies it (or uses cached classification), and returns other websites from the same category and subcategory. Useful for competitive analysis and discovering related content. Rate limited to 1 request per minute per domain. Args: url: The website URL to find similar sites for. limit: Maximum number of similar sites to return (1-50, default 10). Returns: Dictionary with: - url: The input URL (normalized) - classification: The URL's category and subcategory - similar_sites: List of similar URLs from the same category - total_in_category: Total sites in this category/subcategory - cached: Whether the classification was from cache
    Connector
  • Look up the public Website Launches launch record for a single domain. Returns launch timing, owner verification status, milestone summary, public trust context, and a public record URL. Single domain only; does not search, list, discover, or export websites. Hosting, registrar, and location are secondary details — only surface them if the user explicitly asks.
    Connector
  • Fetch a single web page and extract clean content. Auto-tier server-side: handles SSR (Next.js, Nuxt, TikTok, Pinterest, YouTube), SPA shells, PDFs, paywall detection, residential-proxy escalation, and stealth profiles for TikTok / Instagram / Pinterest / YouTube. Returns clean markdown (default) with a YAML frontmatter header (url, outcome, total_chars). Read 'outcome' to classify the result (success | teaser | thin_content | paywall | bot_challenge | consent_wall | login_wall | rate_limited | timeout | transient_upstream | unsupported_target | not_found | error). Large pages (>80k chars) are truncated inline with truncated_chars + a download_full_url to the complete extraction (expires ~1h). Permanently unsupported (outcome=unsupported_target, cost=0 upstream): Bluesky search, Instagram post/reel and tag/explore pages (profiles work), Pinterest search, g2.com, Truth Social, Xiaohongshu. Threads and Instagram profile pages ARE supported.
    Connector
  • Submit manual content to a pipeline for transformation. Use when user says "add this to my changelog", "create a newsletter from this", "transform this content", or provides content to be processed. Content will be transformed using the pipeline's persona and ICPs. Social pipelines publish to the pipeline's declared destination (x/linkedin/instagram/facebook/threads — set via update_pipeline; undeclared defaults to x) after human approval; instagram items REQUIRE media_artifact_ids. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
    Connector
  • Returns the most recent earnings call summary for a ticker — management guidance text, overall call sentiment (positive / neutral / negative with a one-line rationale), and AI-extracted highlights and lowlights from the call as {title, content} bullets. This is a structured summary derived from the call, not the raw transcript text. Useful for "what did management say about X on the last call", "was the most recent call bullish or bearish", or "summarise the highlights from MSFT's latest earnings". Only the most recent quarter is stored per ticker; for historical EPS actual-vs-estimate series use get_earnings_history. Args: ticker: Stock ticker (e.g. 'AAPL', 'NVDA'). Returns: { ticker, fiscal_year, fiscal_quarter, guidance, sentiment: { label, summary }, highlights: [ { title, content }, ... ], lowlights: [ { title, content }, ... ] }
    Connector
  • Fetch first-hand content from a URL. Returns `structuredContent.data` with {title, content, url, cache_hit, fetched_at}. Read `.data.content` directly — the metadata and content are separated. Pass `delivery_level=excerpt` (default) for ~300 chars, `full` for complete content. [ASRP: Call AFTER origingrid_search. Loop over sources[] and fetch each source.url.]
    Connector
  • View grants made by a funder across IRS, web-extracted, and registry records. Merges five stores. **(1) IRS 990-PF filings** — structured grant lines from the ~143K US private foundations that file 990s, keyed by EIN. **(2) Web-extracted grant records** — our enrichment pipeline crawls funder websites and an LLM extracts their grant lists. This second store covers ~15K additional US foundations AND ~17K non-990 funders (European foundations, US community foundations, DAFs, corporate giving programs). **(3) 360Giving** UK GrantNav rows, **(4) CRA T3010** Canadian rows, and **(5) ACRI** Italian banking-foundation erogazioni are structured registry sources with original-currency amounts preserved. Use this for ANY funder when the user asks about grants given, including European funders without an EIN (pass ``funder_id`` instead of ``ein``). Each row in the response carries a ``source`` field (``"990"`` for IRS data, ``"discovered_web"`` for crawled, plus ``"360giving"``, ``"t3010"``, and ``"acri"`` for structured registries). When web-extracted rows for a funder lack captured amounts (common for European funders that publish PDFs rather than open data), the response includes an ``amount_coverage_note`` in ``data_quality`` — surface that caveat in your reply. Note: ``recipient_country`` reflects the recipient organization's HQ country (where the grantee is registered), not necessarily where the program work is implemented.
    Connector
  • Use this when the user asks to read, extract, get the text/content/article of, or summarize a webpage/URL. Do NOT use for a visual screenshot (use rendex_screenshot). Extracts clean reader-mode content from any webpage as Markdown, JSON, or HTML. Runs the same Chromium render pass as a screenshot, so it captures content after JavaScript runs — handles SPAs that fetch-only readers miss. Strips nav, ads, and boilerplate, returning the article body plus title, byline, and excerpt. Great for feeding page content to an LLM, summarization, or RAG ingestion. Costs 1 render credit per call.
    Connector
  • Get your agent's real mailing address beta endpoint when the account has explicit beta access: street address + mailbox number for approved accounts. For generally available inbound context, use list_inbound_forwarding_addresses instead; that returns a private intake alias for scans, PDFs, photos, provider notices, and notes from addresses the operator already uses.
    Connector
  • Pull licensed creator content from a specific pocket by ID. Use this tool when an AI agent needs to retrieve verified, provenance-tracked content for generation, RAG, or training purposes. Do NOT use for browsing or discovery — use search_pockets or list_pockets instead. Requires a valid Bearer token for authentication; unauthenticated requests return HTTP 401. Successful pulls trigger a metered charge ($0.001–$0.25 depending on content tier) and the transaction is logged for creator royalty distribution. The pocket_id parameter is a 24-character hex string identifying the specific content pocket to pull from. Returns the full content payload with provenance metadata including creator attribution and license terms.
    Connector