Skip to main content
Glama
752,348 tools. Updated 2026-11-06 17:32

"Apache Cassandra" matching MCP tools:

  • Perform a full-text vulnerability search in SecDB. ## What this tool does Searches across: - CVE entries - Security advisories - Exploit references - Product and vendor vulnerability data ## Searchable fields (Lucene syntax supported): - type: result type - cve, cwe, advisory, nasl, exploitdb - id: exact identifier, without wildcards (e.g. id:CVE-2021-44228) - title: resource title or name - summary: short summary - description: full description text - alias: known vulnerability names (e.g. alias:log4shell) - severity: critical, high, medium, low - kev: true/false — CISA KEV catalog membership - status: NVD status (CVE only) e.g. analyzed, modified - published: publication date (e.g. published:>="2026-01-01T00:00:00Z") - modified: last modification date (e.g. modified:>="2026-01-01T00:00:00Z") - cve: related CVE ID (e.g. cve:CVE-2026-44827) - cwe: related CWE ID (e.g. cwe:CWE-79) - attack_vector: network, adjacent, local, physical - cvss_score: CVSS base score (e.g. cvss_score:>=7) Default operator is AND. Use OR for alternatives, quotes for exact phrases, * for wildcards. For ranges use `>`, `>=`, `<`, and `<=`, repeating the field for both ends. Dates need a quoted date and time in UTC. ## Examples: - "apache struts rce" → RCE vulnerabilities in Apache Struts - "id:CVE-2026-44827" → exact CVE lookup - "type:advisory AND severity:critical" → critical advisories - "alias:log4shell" → Log4Shell by alias - "cve:CVE-2026-44827 AND type:exploitdb" → ExploitDB entries for a CVE - "cvss_score:>=9 AND kev:true" → critical KEV CVEs - "type:cve AND published:>=\"2026-10-01T00:00:00Z\" AND published:<=\"2026-10-31T23:59:59Z\"" → CVEs published in October 2026 ## When to use this tool Use this tool when the user asks: - to look up a CVE, advisory, exploit, or product - "show vulnerabilities for X" - "search for advisories about Y" - exploratory or broad vulnerability discovery ## Inputs - **query**: free-text search term (CVE ID, advisory ID, product name, exploit name, vendor, keyword, etc.) - **limit**: maximum number of results to return (default 10, maximum 50) - **page**: page of results to return (default 1) - **type**: only return results of this type (`cve`, `cwe`, `advisory`, `nasl`, `exploitdb`) - **sort**: `relevance` (default) or `date` (most recently modified first) - **since**: only return results modified since then: a period (`P7D`, `P1W`, `P3M`, `P1Y`) or a date (`2026-10-01`, included) ## Outputs - **results**: search hits, each with `type`, `id`, `title`, `description` (shortened), `severity`, `cvss_score`, `kev` (CVEs only), `source`, `published`, `modified`, and `url` - **facets**: number of records found for each `type` and `severity` - **total_results**, **total_pages**, **current_page**: use them to decide whether to ask for another `page` - **search_url**: link to continue the search on SecDB ## LLM usage guidelines - Use this tool instead of assuming whether a CVE/advisory/exploit exists. - If `total_results` is `null`, the query is not valid: fix its syntax. It does not mean that nothing was found. - Results are short: for the full record use `vulnerability_info`, `advisory_info`, or `cwe_info` with the `id` of the result. - Combine with `vulnerability_score`, `epss_timeseries`, or `sightings_search` for deeper analysis.
    ConnectorNo auth
  • THE DEFAULT TOOL FOR QUESTION-SHAPED QUERIES ("wie/warum/was hilft bei X?", "how do I…?"): retrieves the best-matching fulltext passages from the corpus and returns them with citations (source resource, page, heading, source URL) — answer the user FROM the passages and cite each source. (For discovery intent — "finde/empfiehl Materialien" — use search_content instead, or afterwards to offer browsable links.) Keep `question` topic-only. Ranking is hybrid keyword+vector, so phrase the question as a topical statement that names the subject and the target group ("Friedenserziehung in der Grundschule: Einstieg in das Thema Frieden mit Kindern"), not as the user's literal sentence ("Wie kann ich …?"). Results are capped at two passages per document; a passage with only a snippet and no text has no fulltext yet — say so instead of guessing. Passages come from learning resources under Creative Commons, Public Domain and free software/documentation licenses, and DINI-AG-KIM license types that resolve to one of these and from articles, wikis, publications and the other content kinds. Other matching learning resources appear in `metadataOnlyMatches` (naddr, title, license, creator/publisher, sourcePage) without text, because their license does not permit quoting — point the user to them by title, license and link, never quote or paraphrase them as content. Cite the license and the creator/publisher with every learning-resource passage. licenseFilter narrows learning resources: "open" = CC0, Public Domain, CC BY, CC BY-SA, their DINI-AG-KIM license-type equivalents, and free software/documentation licenses (GPL, LGPL, AGPL, GFDL, MIT, Apache 2.0, BSD); "cc-any" = all of "open" plus every other Creative Commons license, incl. KIM non-commercial/no-derivatives (normally no metadataOnlyMatches); "any" = also unlicensed and all-rights-reserved resources, as metadataOnlyMatches. Scope is required but simple: with no source restriction from the user, pass the content kinds (e.g. kinds:[30142] for educational resources, [30040,30041] for publications, [30023] for articles). Route source restrictions ("nur Content von X") into the scope parameters: a metadata publisher (most organisations — resolve_publisher finds the exact spelling) goes into `search` as a QUOTED field filter, e.g. search:'publisher.name:"LEHRE LADEN"' (unquoted multi-word names match nothing); a Nostr signing account (resolve_author → pubkey) goes into `authors`. A published grimoire spell (kind 777, nevent or event id) can replace inline scope entirely; the response carries the canonical spell for whatever scope was used — publish it (e.g. via grimoire) to make the scope reusable. Spells may use $me/$contacts; they resolve to the calling user (pass `me` if the transport is anonymous). Fails rather than widening scope: an empty scope, unreachable relay (relay_unreachable — tell the user to retry), or unreachable index is a typed error, never a silently unscoped search.
    ConnectorNo auth
  • utilpeek: parse and format a phone number. For a prefix's country and network use lookup_phone_prefix. A string that is not a phone number, or a national form without region, is a 422 (not charged). Offline numbering-plan check (phonenumbers, Apache-2.0): `valid` means the number fits its country's numbering plan, not that it is assigned, in service or reachable; `carrier` is the original range holder (ported numbers are not detected). The submitted value is processed in memory only, never logged or stored. Typically under 0.1 s. Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/phone-number-validation-api.html
    ConnectorNo auth
  • utilpeek: parse and format a phone number. For a prefix's country and network use lookup_phone_prefix. A string that is not a phone number, or a national form without region, is a 422 (not charged). Offline numbering-plan check (phonenumbers, Apache-2.0): `valid` means the number fits its country's numbering plan, not that it is assigned, in service or reachable; `carrier` is the original range holder (ported numbers are not detected). The submitted value is processed in memory only, never logged or stored. Typically under 0.1 s. Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/phone-number-validation-api.html
    ConnectorNo auth
  • utilpeek: parse and format a phone number. For a prefix's country and network use lookup_phone_prefix. A string that is not a phone number, or a national form without region, is a 422 (not charged). Offline numbering-plan check (phonenumbers, Apache-2.0): `valid` means the number fits its country's numbering plan, not that it is assigned, in service or reachable; `carrier` is the original range holder (ported numbers are not detected). The submitted value is processed in memory only, never logged or stored. Typically under 0.1 s. Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/phone-number-validation-api.html
    ConnectorNo auth
  • Run a strictly read-only query against a database connection you can use (your own or one shared with you), identified by its name. Accepts the native query language of the connection's engine: SQL/CQL for relational and Cassandra, a JSON query object for MongoDB, Elasticsearch/OpenSearch, and DynamoDB, Cypher for Neo4j, and a command string for Redis. The query runs inside a read-only transaction and any mutating statement is rejected — this tool never writes. To modify data, use postgres_execute on a connection you own that has 'Allow writes' enabled. Results are capped at 1000 rows.
    ConnectorOAuth

Matching MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables inspection and management of Apache Airflow DAGs, runs, and logs across multiple instances. It provides tools for monitoring workflows and performing gated write operations like triggering DAGs or clearing task instances.
    16
    62 PyPI
    2
    Apache 2.0

Matching MCP Connectors

  • Check a product's recall risk: score + active CPSC/FDA/NHTSA recalls for a product or brand.

  • Cassandra prediction hub: one MCP door over govcon forecasts (recompete, contractor signals).

  • Find the CPE vendor and product names that SecDB uses for a product, with the number of CVEs of each one. ## What this tool does Searches the vendor and product names in the CPE configurations of the CVEs, marked as vulnerable. Every result can be passed to `product_vulnerabilities`. Results go from the most to the least CVEs. ## When to use this tool Use this tool when the user asks: - "What is the CPE name of Apache HTTP Server?" - "Which Fortinet products have known CVEs?" Use it before `product_vulnerabilities` when the exact names are not known. For open source dependencies, use `purl_audit`. ## Inputs - **query**: words to search in the vendor and product names, for example `apache http server`. Every word must match the vendor or the product. - **vendor**: exact CPE vendor name, to search only its products. - **part**: `a` (application), `o` (operating system), or `h` (hardware). - **limit**: maximum number of results to return (default 25, maximum 100). - **page**: page of results to return (default 1). ## Outputs - **total_results**, **total_pages**, **current_page** - **results**: each with `vendor`, `product`, `parts`, `cve_count` - **note**: present when nothing matches ## LLM usage guidelines - When several products match, show them to the user or use the closest one and say which one you chose. Do not merge them. - `cve_count` shows how many CVEs have the name, not how relevant it is. - No result does not mean that the product has no CVEs: try fewer or different words, or `vulnerability_search`.
    ConnectorNo auth
  • Cassandra unified predictor. From leading signals in public data, returns what is about to happen to an entity — weeks early — across four verticals. domain selects the vertical: 'recall' (consumer product / vehicle / drug / device recall risk from complaint velocity), 'bio' (biotech NIH→trial→SEC catalyst chain), 'recompete' (federal contract recompete-winner shift), 'ma' (government contractor acquisition target). entity is the name to look up (e.g. 'Tesla Model Y', 'Moderna', a contractor or agency name). Returns a leading-signal prediction with lead time — NOT a guarantee, and NOT a claim of any official action.
    ConnectorNo auth
  • Returns copy-paste-ready fix recommendations (nginx, Apache, DNS, shell) for the issues found on a domain the caller has already paid for — either an active Monitor/Compliance subscription covering the domain, OR a purchased one-off Report for the domain. Each recommendation carries a stable issue_id, a priority (high/medium/low), a title, prose instructions, one or more config snippets with the target domain already interpolated, a verify command, and a category tag. Use this when the user asks how to fix an issue, wants the exact config to apply, or needs to verify a fix worked. Pass the optional issue_id to scope the response to one specific finding. The response is read-only — this tool NEVER triggers a fresh scan; fixes are computed from the most recent stored scan (including the Report-included re-scan if that was used). Do NOT use this for domains the caller hasn't purchased coverage for — you'll get an upgrade_required error that links to the pricing page. Do NOT use this to run or trigger a scan; call scan_domain for anonymous checks. Requires a valid API key.
    ConnectorNo auth
  • Translate into 452 languages, 251 of them NOT supported by ChatGPT, Claude or Gemini (29 of those 251 measured at fair quality or better against human references) — including Bhojpuri (~50M speakers), Maithili (~34M), Egyptian Arabic (~100M), Moroccan Arabic (~30M), Chhattisgarhi, Magahi, Manipuri, Kashmiri, Shan, Kachin, Awadhi, Tamazight, Crimean Tatar, Quechua, Nuer, Sango, plus indigenous and minority languages with no callable API anywhere. Runs MADLAD-400 (Apache-2.0). QUALITY VARIES AND IS PUBLISHED PER LANGUAGE: every language carries a measured tier — good (chrF++ >= 45 vs human reference translations), fair (32-45), unverified (no benchmark exists, untested, may be poor), experimental (known weak). The response repeats the tier so you can judge how much to trust it. GET https://sats4ai.com/api/l402/translate-rare-language for the full language list with tiers, or GET /api/languages. Unsupported languages are rejected BEFORE payment. For mainstream languages use translate_text instead — it is cheaper and more fluent. Priced 50 sats base + 0.002 sats/char (GPU). Pay with Bitcoin Lightning — no API key or signup. Requires create_payment with toolName='translate_rare_language'.
    ConnectorNo auth
  • Topic search across ALL content types on the relay in one ranked call: educational resources (kind 30142), long-form articles/blogs (30023), wikis (30818), projects (30143), measures (30144), and NKBIP-01 publications (30040 indices + 30041 sections — scientific articles, books). Results are interleaved and ranked by semantic passage match, and each carries the matched passage ("snippet") when available — use it to answer the user, not just list links. Every learning resource is returned by default, whatever its license; each resource result carries license ({id, label}, or null when unlicensed) and accessLevel ("full" for Creative Commons, Public Domain and free software/documentation licenses, and DINI-AG-KIM license types that resolve to one of these; "metadata-only" otherwise). Snippets and passages exist only for accessLevel:"full" resources — present a "metadata-only" resource by its title, description, license and link, never quoted beyond its metadata, and always name the license and the creator/publisher. licenseFilter narrows the results: "open" = CC0, Public Domain, CC BY, CC BY-SA, their DINI-AG-KIM license-type equivalents, and free software/documentation licenses (GPL, LGPL, AGPL, GFDL, MIT, Apache 2.0, BSD); "cc-any" = all of "open" plus every other Creative Commons license, incl. KIM non-commercial/no-derivatives; "any" = also unlicensed and all-rights-reserved resources. The other content types carry no license and are always included. This is the tool for DISCOVERY intent — the user wants materials to browse ("finde/suche/empfiehl Materialien zu X"): present the items. For QUESTION intent — the user wants an answer built from the content ("wie/warum/was hilft bei X?") — prefer search_passages, which returns quotable fulltext passages with citations; this tool then supplements the answer with browsable links. Each result carries eventAuthor (the Nostr signer who uploaded the event — often an aggregator) plus, for resources, creator/publisher (who actually made and published the resource); these can differ, so do not treat eventAuthor as the publisher. For full metadata (license, dates, complete entity lists) pass a result's naddr to get_resource. Publication facets ride inside the query string as NIP-50 field filters: append type:academic, doi:10.1234/abcd.5678, keywords:<term>, or partOf:30143:<pubkey>:<d> ("publications of a project") to the query — the relay resolves them server-side. When presenting results to the user, render each as a markdown link so they can open it directly — prefer sourcePage (the original external source page, present on most resources and on projects/measures/publications), then url, then naddr. For upcoming events on the same topic, follow up with search_calendar_events.
    ConnectorNo auth
  • utilpeek: parse a User-Agent string. For known x402 monitors and indexers with call rates use identify_x402_client. A User-Agent is self-reported and easy to fake; `is_bot` is a heuristic (declared crawlers, HTTP libraries, headless browsers). Parsed with ua-parser and the uap-core regexes (Apache-2.0). Typically under 0.1 s (first call up to 0.5 s). Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/user-agent-parser-api.html
    ConnectorNo auth
  • mlpeek: Rerank up to 100 documents against a query. For pair scores use text_similarity. Returns 1-100 documents scored against a query by the ms-marco-MiniLM-L6-v2 cross-encoder (Apache-2.0) and sorted best first: index, rank, score (sigmoid of the logit, a relevance in 0-1) and logit; `top_k` keeps the best k. English model. Each text is cut at the model's 512-token window and the answer says so (longest side first). Over 32,768 tokens per request is a 422 too_many_tokens (not charged). Runs an open model pinned by hash on Tanod's own CPU (no LLM, no third-party API); an unavailable model is a 503 (not charged). Typically 0.1-2 s, up to about 10 s at the token budget. Price: USD 0.002. Free: 5 mlpeek calls per IP per UTC day. The submitted text is never logged or stored. Docs: https://tanod.dev/learn/embeddings-rerank-ner-mcp-server.html
    ConnectorNo auth
  • utilpeek: parse a User-Agent string. For known x402 monitors and indexers with call rates use identify_x402_client. A User-Agent is self-reported and easy to fake; `is_bot` is a heuristic (declared crawlers, HTTP libraries, headless browsers). Parsed with ua-parser and the uap-core regexes (Apache-2.0). Typically under 0.1 s (first call up to 0.5 s). Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/user-agent-parser-api.html
    ConnectorNo auth
  • mlpeek: Rerank up to 100 documents against a query. For pair scores use text_similarity. Returns 1-100 documents scored against a query by the ms-marco-MiniLM-L6-v2 cross-encoder (Apache-2.0) and sorted best first: index, rank, score (sigmoid of the logit, a relevance in 0-1) and logit; `top_k` keeps the best k. English model. Each text is cut at the model's 512-token window and the answer says so (longest side first). Over 32,768 tokens per request is a 422 too_many_tokens (not charged). Runs an open model pinned by hash on Tanod's own CPU (no LLM, no third-party API); an unavailable model is a 503 (not charged). Typically 0.1-2 s, up to about 10 s at the token budget. Price: USD 0.002. Free: 5 mlpeek calls per IP per UTC day. The submitted text is never logged or stored. Docs: https://tanod.dev/learn/embeddings-rerank-ner-mcp-server.html
    ConnectorNo auth
  • utilpeek: parse a User-Agent string. For known x402 monitors and indexers with call rates use identify_x402_client. A User-Agent is self-reported and easy to fake; `is_bot` is a heuristic (declared crawlers, HTTP libraries, headless browsers). Parsed with ua-parser and the uap-core regexes (Apache-2.0). Typically under 0.1 s (first call up to 0.5 s). Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/user-agent-parser-api.html
    ConnectorNo auth
  • mlpeek: Rerank up to 100 documents against a query. For pair scores use text_similarity. Returns 1-100 documents scored against a query by the ms-marco-MiniLM-L6-v2 cross-encoder (Apache-2.0) and sorted best first: index, rank, score (sigmoid of the logit, a relevance in 0-1) and logit; `top_k` keeps the best k. English model. Each text is cut at the model's 512-token window and the answer says so (longest side first). Over 32,768 tokens per request is a 422 too_many_tokens (not charged). Runs an open model pinned by hash on Tanod's own CPU (no LLM, no third-party API); an unavailable model is a 503 (not charged). Typically 0.1-2 s, up to about 10 s at the token budget. Price: USD 0.002. Free: 5 mlpeek calls per IP per UTC day. The submitted text is never logged or stored. Docs: https://tanod.dev/learn/embeddings-rerank-ner-mcp-server.html
    ConnectorNo auth
  • List the security advisories known for a package, with the affected and fixed versions. ## What this tool does Returns the advisories of a package across all its versions, most recent first. This covers more ecosystems than `purl_audit`, for example `github`, `cpan`, `apache`, and `freebsd`. ## When to use this tool Use this tool when the user asks: - "Which vulnerabilities has this package had?" - "Which version fixes this vulnerability?" - "Which version should I upgrade to?" To check whether a specific version is vulnerable, use `purl_audit` or `linux_audit`: this tool does not evaluate versions. ## Inputs - **purl**: Package URL. The version is ignored. For Linux packages, add the `distro` qualifier to limit the results to one release, for example `pkg:deb/ubuntu/curl?distro=noble`. - **limit**: maximum number of advisories to return (default 25, maximum 100). - **page**: page of results to return (default 1). ## Outputs - **total_results**, **total_pages**, **current_page**: advisories for the package across all pages - **advisories**: each with `advisory_id`, `title`, `severity`, `published`, `cves`, `status`, `affected`, `fixed_versions` - **affected**: version ranges, each with `versions` and, for Linux packages, `distro` - **fixed_versions**: each with `version` and, for Linux packages, `distro`. A version is either reported as fixed by the advisory or the exclusive upper bound of an affected range ## LLM usage guidelines - When `total_results` is 0, say that SecDB has no advisories for this package name, not that the package is safe. Names must match exactly. - To recommend an upgrade, consider all the advisories and check the resulting version with `purl_audit` when its ecosystem is supported. - `status` can include `malicious`: tell the user to remove the package instead of upgrading it. - If `fixed_versions` is empty, say that no fix is known. Do not guess a version.
    ConnectorNo auth
  • Composite CVE risk score (0-100) — fuses CVSS, EPSS, KEV, and PoC into a single agent-ready triage signal. Formula: CVSS*0.20 + EPSS*0.35 + KEV*0.30 + PoC*0.15 (each component rescaled to 0-100 before weighting). Multiplicative boosters applied in order: KEV+PoC combo (*1.15), critical-severity-with-high-EPSS (CVSS>=9 AND EPSS>0.7, *1.10), recently published (within last 7 days, *1.05). Final score clamped to [0, 100]. Label bands: CRITICAL>=90, HIGH>=70, MEDIUM>=40, LOW<40. Urgency text encodes patch SLA (immediate when KEV; 24h/72h/30d by label). Use to triage a single CVE without orchestrating cve_lookup + exploit_lookup separately. PoC signal here is the local ExploitDB mirror only — for full multi-source exploit detail (GitHub Advisory + Shodan refs + ExploitDB), call exploit_lookup separately. Methodology adapted from mukul975/cve-mcp-server (Apache-2.0): https://github.com/mukul975/cve-mcp-server. Free: 30/hr, Pro: 500/hr. Returns {cve_id, score (0-100), label (CRITICAL/HIGH/MEDIUM/LOW), urgency, has_public_poc, components (cvss_v3, epss_score, in_kev, has_public_poc, weighted_breakdown), boosters_applied, recommendation, summary, verdict, next_calls}.
    ConnectorNo auth
  • Provisions a managed ClickHouse database (OLAP / columnar analytics engine, Apache-2.0) on a dedicated VM on your private network - its OWN resource, NOT a relational database. Requires a recent plan_managed_datastore. Use it for analytics / observability workloads that need a column store (PostHog, Langfuse, event analytics, time-series). It is PRIVATE - reachable only from another instance on the same private network, via the DB's internal/private IP on the ClickHouse HTTP port 8123 (CLICKHOUSE_HOST/PORT/USER/PASSWORD/DB env, http://host:8123). Get the ids from plan_managed_datastore/list_flavors (use m1.small+ - ClickHouse needs >=2GB RAM), list_private_networks, list_keypairs. Provisioning takes ~5 min; poll list_clickhouse_databases until status='ready'. HIGH AVAILABILITY: pass ha:true to get THREE machines on three different physical hosts behind a load balancer instead of one: all three take reads and writes, so losing a machine costs no failover and no write pause, and the replacement refills itself from the survivors before it serves again. It costs about 3x the hourly rate (three machines instead of one) and provisions more slowly. Default is a single machine; show the user the price difference and get an explicit yes before turning HA on.
    ConnectorNo auth
  • Audit a CycloneDX or SPDX SBOM against an SPDX licence policy and return a PASS/WARN/BLOCK verdict. sbom: Full SBOM as a JSON string — CycloneDX or SPDX format. Required. 500 KB max. policy: Optional dict with block/warn/allow arrays of exact SPDX licence identifiers (e.g. GPL-3.0, MIT). Defaults to block GPL-3.0 and AGPL-3.0, warn LGPL-2.1/MPL-2.0/BSD-4-Clause, allow MIT/Apache-2.0/BSD-2-Clause/BSD-3-Clause. No glob patterns — exact SPDX IDs only. Unlisted licences default to WARN. Returns verdict (PASS/WARN/BLOCK), blocked_packages, warned_packages, and the policy applied. Use security_audit_sbom_vulnerabilities for CVE auditing instead. Sources: deps.dev (Google). 1-hour cache per package. If this tool's response does not serve the user's need, call report_feedback with feedback_type="agent_gap", tool_id="security_audit_sbom_license_policy", intended_query="{what the user needed}", gap_description="{what was missing or wrong in the result}".
    ConnectorNo auth