741,228 tools. Updated 2026-11-04 02:41
"A server for finding technology-related web content" matching MCP tools:
- Discover content franchises within a domain. Two modes: pass `tag` for a precise taxonomy match (every game tagged 'co-op'), or pass `query` for free-text SEMANTIC search powered by pgvector embeddings — finding franchises by meaning ('dark atmospheric games about isolation') even when no literal tag matches. Results are verifiable: tag mode carries tag confidence/corroboration, semantic mode carries a similarity score; both carry entity freshness. When to use: an agent wants a domain-scoped shortlist by tag or by intent. Inputs: a domain plus either a tag or a free-text query.ConnectorNo auth
- Discover content franchises within a domain. Two modes: pass `tag` for a precise taxonomy match (every game tagged 'co-op'), or pass `query` for free-text SEMANTIC search powered by pgvector embeddings — finding franchises by meaning ('dark atmospheric games about isolation') even when no literal tag matches. Results are verifiable: tag mode carries tag confidence/corroboration, semantic mode carries a similarity score; both carry entity freshness. When to use: an agent wants a domain-scoped shortlist by tag or by intent. Inputs: a domain plus either a tag or a free-text query.ConnectorNo auth
- Discover content franchises within a domain. Two modes: pass `tag` for a precise taxonomy match (every game tagged 'co-op'), or pass `query` for free-text SEMANTIC search powered by pgvector embeddings — finding franchises by meaning ('dark atmospheric games about isolation') even when no literal tag matches. Results are verifiable: tag mode carries tag confidence/corroboration, semantic mode carries a similarity score; both carry entity freshness. When to use: an agent wants a domain-scoped shortlist by tag or by intent. Inputs: a domain plus either a tag or a free-text query.ConnectorNo auth
- Optimize an AI-generated image for the web The step after image generation. gpt-image, DALL-E, Flux, Midjourney and Stable Diffusion hand back 2-8 MB PNGs; this returns the same picture as a web-ready webp (default), avif, jpeg or png, metadata stripped, transparency kept on webp/avif/png. Optional max_dimension caps the longest side (never upscales); optional q or quality_target (smallest file with SSIM >= target, flat surcharge) control quality. Same price as convert. If the result is not smaller than the input it is still returned but free (X-Pig-Billed: 0). X-Pictomancer-Bytes-Before/-After/-Saved-Percent report the saving. The input's C2PA manifest, if any, is reported in X-Pictomancer-C2PA-Input but is not carried over: re-encoding invalidates it. ### Responses: **200**: Processed image binary (Success Response) Content-Type: application/json Content-Type: image/jpeg **Example Response:** ```json "string" ``` Content-Type: image/png **Example Response:** ```json "string" ``` Content-Type: image/webp **Example Response:** ```json "string" ```ConnectorNo auth
- Optimize an AI-generated image for the web The step after image generation. gpt-image, DALL-E, Flux, Midjourney and Stable Diffusion hand back 2-8 MB PNGs; this returns the same picture as a web-ready webp (default), avif, jpeg or png, metadata stripped, transparency kept on webp/avif/png. Optional max_dimension caps the longest side (never upscales); optional q or quality_target (smallest file with SSIM >= target, flat surcharge) control quality. Same price as convert. If the result is not smaller than the input it is still returned but free (X-Pig-Billed: 0). X-Pictomancer-Bytes-Before/-After/-Saved-Percent report the saving. The input's C2PA manifest, if any, is reported in X-Pictomancer-C2PA-Input but is not carried over: re-encoding invalidates it. ### Responses: **200**: Processed image binary (Success Response) Content-Type: application/json Content-Type: image/jpeg **Example Response:** ```json "string" ``` Content-Type: image/png **Example Response:** ```json "string" ``` Content-Type: image/webp **Example Response:** ```json "string" ```ConnectorNo auth
- Returns the plain-language meaning and step-by-step fix for one Malinois finding. Use it while helping the user fix an issue reported by scan_app, or when they ask what a finding means. Pass the rule_id exactly as scan_app returned it. Read-only, no network, instant.ConnectorNo auth
Matching MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to extract clean, structured web content (articles, tables, links, visual layouts) optimized for LLM token efficiency, with fast response times and optional JavaScript support.556 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to read any web page as clean Markdown and inspect its metadata, structure and technology stack, plus check redirects, TLS certificates, security headers, robots.txt, sitemaps, feeds, domains, SEO, broken links, email authentication (SPF/DMARC/DKIM) and SSO (SAML/OIDC). It also provides developer utilities such as cron, regex, color, Unicode and time-zone tools along with Hyperliquid perpetuals market data, all hosted remotely on Apify with pay-per-call pricing.MIT
Matching MCP Connectors
26 tools: web pages to Markdown, metadata, tech stack, SSL, SEO, domains, email auth and SSO checks.
26 tools for AI agents: read any web page as clean Markdown, get metadata, structure and tech stack, and check redirects, SSL, security headers, robots.txt, sitemaps, feeds, WHOIS/DNS, SEO, broken links, email authentication (SPF, DMARC, DKIM) and SSO (SAML, OIDC), plus cron, regex, color, Unicode, time zone utilities and Hyperliquid market data. Hosted on Apify; authenticate with an Apify API token (Bearer). Pay per successful call ($0.001-$0.003).
- Read a registered server resource URI, not an ordinary web URL. USE WHEN you have a judgment://, legislation://, hansard://, or server:// URI returned by this server. Do not use for https:// URLs; use the source-specific tool instead (for a canonical GOV.UK HMRC internal-manual URL, call hmrc_get_manual_page). Returns the resource content as a string. Binary content is base64-encoded. AFTER calling, use the returned primary-source content and URI in citations; if the URI is rejected, follow the named source-specific tool rather than treating the URL as retrieved evidence. Source: registered UK Legal MCP resource providers.ConnectorNo auth
- Read a registered server resource URI, not an ordinary web URL. USE WHEN you have a judgment://, legislation://, hansard://, or server:// URI returned by this server. Do not use for https:// URLs; use the source-specific tool instead (for a canonical GOV.UK HMRC internal-manual URL, call hmrc_get_manual_page). Returns the resource content as a string. Binary content is base64-encoded. AFTER calling, use the returned primary-source content and URI in citations; if the URI is rejected, follow the named source-specific tool rather than treating the URL as retrieved evidence. Source: registered UK Legal MCP resource providers.ConnectorNo auth
- Fetch a web/docs URL as clean, token-optimized markdown from Slipstream's shared cache (use INSTEAD of a raw web fetch). The first agent pays the crawl; every agent after gets ~90% fewer tokens. Surfaces warnings other agents left on the page. Pass known_hash to skip re-reading unchanged content (delta), or section to fetch just one heading (progressive disclosure). Returns a contentHash you can pass as known_hash next time.ConnectorNo auth
- Full-text search across all SEC EDGAR filings since 2001 for a keyword or phrase. Wraps EDGAR's own full-text search index, so it covers every filer and form type, not just a single company. Useful for finding who is disclosing a particular risk, technology, litigation, or event across the entire market. When to use: cross-company research ("who is disclosing AI-related risk factors"), finding filings that mention a specific term, litigation or regulatory tracking. When NOT to use: you already know the company (use edgar_filings_feed, which is company-scoped and cheaper), or you need results from before 2001 (EDGAR full-text search does not cover that far back). Args: - query (string, required): search text. Wrap an exact phrase in double quotes, e.g. "\"material weakness\"". - forms (string[], optional): restrict to form types, e.g. ["10-K"]. - dateFrom (string, optional): ISO start date (YYYY-MM-DD). - dateTo (string, optional): ISO end date (YYYY-MM-DD). - limit (integer, optional, default 10): maximum hits to return (1-50). Returns structuredContent: { "query": "material weakness", "totalMatches": 10000, "totalIsApproximate": true, "count": 2, "hits": [ { "id": "0001193125-26-123456:doc.htm", "entity": "Example Corp.", "form": "10-K", "filedAt": "2026-03-01", "cik": "0000320193" } ], "source": "https://www.sec.gov/edgar" } "totalMatches" is a lower bound and "totalIsApproximate" is true once EDGAR's own count exceeds its display cap (10,000) — narrow with forms/dateFrom/dateTo for a precise count.ConnectorNo auth
- Scan text for prompt-injection patterns and return a redacted copy plus findings. Pattern-based, not a guarantee — review before trusting the result. Free, anonymous, nothing stored; read-only with no side effects. Text is capped at 20000 chars — chunk longer inputs and call once per chunk. Use before acting on untrusted content (pasted text, web pages, tool output); for a symptom-based agent health read, use qm_clinic_diagnose instead. Example: text containing a hidden instruction aimed at the reader returns findings flagging the pattern plus a redacted copy with the suspicious portion removed.ConnectorNo auth
- Scan text for prompt-injection patterns and return a redacted copy plus findings. Pattern-based, not a guarantee — review before trusting the result. Free, anonymous, nothing stored; read-only with no side effects. Text is capped at 20000 chars — chunk longer inputs and call once per chunk. Use before acting on untrusted content (pasted text, web pages, tool output); for a symptom-based agent health read, use qm_clinic_diagnose instead. Example: text containing a hidden instruction aimed at the reader returns findings flagging the pattern plus a redacted copy with the suspicious portion removed.ConnectorNo auth
- A one-time link to upload a local file into the media library, for a client that can run a command (Claude Code, Codex, Cursor): PUT the file to uploadUrl with the returned Content-Type (the result includes the curl command), then call import_media with url set to the returned mediaUrl. A Blender scene (.blend, contentType application/x-blender) is the exception: it skips import_media and its mediaUrl goes into a Blender Render node's Blend file field. The link expires in 15 minutes and signs one content type. If you cannot run a command, do not call this: ask the person to drop the file into their Treza library in the web app and find it with list_assets. Needs the pipelines:write scope. Spends no credits.ConnectorAPI key
- Use this when the user asks which companies use a particular technology (for example Intercom, Zendesk, HubSpot, Shopify, Stripe), or which technologies are most used. With a slug: companies detected using that technology, 20 per page. company_count is every company detected using it; listed_count is how many the list can page through, so stop at page ceil(listed_count / 20). Without a slug: the technology index, most-used first, with company counts (default 100, up to 1,000). Slugs are lower-case with hyphens, e.g. intercom, hubspot, google-analytics, shopify. Works without an API key; no contact reveals.ConnectorOAuth
- Keywords one competitor ranks for in the top 100 that the target does not rank for at all. Use when: "what does competitor.com rank for that we do not", "find gaps against X", content opportunities from a rival. Not for: everything a domain ranks for, use seo_get_ranked_keywords. Finding who the competitors are, use seo_get_serp_competitors. Fresh ideas around a topic, use seo_search_keywords. Returns: List. rows[]: keyword, competitor, competitor_rank, competitor_url, volume, kd, cpc, intent. Sorted by volume. Cost: 5 + 5 per 100 rows. Default 100 rows = 10 credits. Cached 7 days. Example: {"target": "example.com", "competitor": "competitor.com", "limit": 100}ConnectorAPI key
- Customer-related intangibles: customer relationships with attrition, distribution networks by channel profitability, and non-compete agreements on protected profits. Method selects the formula. Use for customer relationships, distribution networks, and non-compete assets; customer_relationships projects multi-period revenue with a retention rate. For the workforce and key-person assets use valuation_human_capital; for technology assets use valuation_technology. Per method: customer_relationships needs customer_count + avg_revenue_per_customer + retention_rate + profit_margin + discount_rate + projection_period; distribution_network needs channel_count + revenue_per_channel + channel_margin + useful_life + discount_rate; non_compete needs protected_revenue + profit_margin + term + enforcement_probability + discount_rate. retention_rate and enforcement_probability are in [0,1]; projection_period sets the number of discounted periods. Only method is required; all other parameters are method-dependent — supply those the selected method names and omit the rest (defaults apply where defined). Rates and premiums are decimals (0.10 = 10%). Pure arithmetic: no I/O and no external calls, rounded to 2 decimals; parameters belonging to other methods are accepted and ignored. An unknown method, or a missing method-required parameter, returns an error instead of a value.ConnectorNo auth
- Traverse the ESG Hub knowledge graph one hop from a page and return every connected record grouped by edge type. Use it after get_esg_page when you need neighbouring concepts; to read a page's own content use get_esg_page. Returns at most 15 related pages and, today, only `related_pages` edges; a page with no links returns an empty group list, not an error. There is no pagination. `record_id` accepts a `page:` record ID or a permalink; `edge_type` filters the result to one edge type (default: all). Cached ~10 minutes; rate-limited per IP; retry on 5xx.ConnectorNo auth
- Update a web part page: metadata (title/icon) and/or content. Content updates require expectedUpdateRevision (from get_page); a mismatch means someone else changed the page first and the write is rejected with UPDATE_REVISION_MISMATCH, which a fresh get_page resolves. Requires contribute access. Publishing is separate: publish_page makes changes public.ConnectorDestructiveOAuth
- Pull fresh content now instead of at the next scheduled refresh. When to use: - Before an announcement, so menus and prices are current; after changing a web link's crop with update_items, to see the result. When NOT to use: - Changing a feed's or link's settings: use update_items. A screen that has not picked up a change, or is frozen: use control_screens. What to know: - Settings never change. A failing feed is reported in the result, not thrown. Screens showing the data update when a sync succeeds. Needs integration.edit for feeds, media.edit for a web link. Parameters: - Pass exactly one; none or two is an error. - dataSourceId: one ds_… feed from list_items kind data_sources. - allDataSources: true syncs every feed you can edit, one after another; one failure does not stop the rest; limited to 5 calls a minute. - webLinkId: one med_… web link (list_items kind media, mediaKind web); renders a new snapshot.ConnectorOAuth
- [writes flayr data · `write` scope] Step 1 of attaching a LOCAL file (video or image) to a draft. Returns a single-use, short-lived `uploadUrl`. Step 2: POST the raw file bytes to it with the file's Content-Type, e.g. `curl -X POST -H "Content-Type: video/mp4" --data-binary @clip.mp4 "<uploadUrl>"` — the JSON response has a `storageId`. Step 3: pass it as `videoStorageId` or `imageStorageId` on create_content or update_content. For media already on the web, skip this and pass `videoUrl` / `imageUrl` instead. Returns 413 when the account's storage is full. (Wraps POST /api/v2/media/upload-url.)ConnectorOAuth
- Update ONE existing Mallory finding in place — its status, severity, confidence, title, summary, body, remediation, qualifier or asset_details. Use it when new information changes an already-filed finding: the problem was fixed, it turned out not to apply, a vulnerability proved reachable, corroborating intel changes how bad it is. WRITES IMMEDIATELY to the caller's own organization's data, and the result is visible in the Mallory UI to everyone in that organization. There is no preview and no confirmation step — calling this tool IS the write. Only call it when the user has asked for the change. - uuid identifies the finding. Get it from listFindings or getFinding, or from a createFinding DUPLICATE outcome's `existing_finding_uuid`. Never construct or guess one. - ONE finding per call. To change status or severity across a SET of findings you can only describe ("dismiss all the unrotated-secret findings", "mark everything on foo/bar medium"), use bulkUpdateFindings — do NOT loop this tool over a selection. - The finding's identity — definition_slug, asset_type, asset_identifier — cannot be changed. A different problem, or the same problem on a different asset, is a new finding (createFinding). - body REPLACES the stored text rather than appending to it. To add to a finding, read the current text first with getFinding and send the combined text, or the prior detail is lost. There is no evidence field on update: new evidence goes into body as prose. - qualifier is part of core's open-finding dedupe key, so changing it can collide with another open finding on the same asset (CONFLICT). In user-facing status messages, use "fixed" and "mark as fixed" consistently. ENUM VALUES ARE CASE-SENSITIVE AND EACH FIELD HAS ITS OWN SET. severity is UPPERCASE (CRITICAL, HIGH, MEDIUM, LOW, INFO). status is lowercase with exactly three values: open, fixed, dismissed — "resolved", "closed" and "assigned" are not statuses, and neither are the resolution reasons (false_positive, accepted_risk, not_applicable, duplicate, fixed_externally, other), which belong to a separate field this tool does not set. Use "fixed" when the problem was remediated and "dismissed" when it is accepted or not applicable. Setting status back to "open" is allowed but unusual — the product has no reopen button — so confirm the user really means to reopen the finding. OUTCOMES: either ok:true with the updated finding, or ok:false with a code — NOT_FOUND (no such finding in this tenant: do not retry, re-read the uuid), CONFLICT (an open finding already occupies that identity), INVALID (a rejected field, or no fields to change), PLAN_LIMIT (findings are not included in this tenant's plan — the request was fine, nothing is broken, nothing was written: say so and do not retry).ConnectorAPI key