Skip to main content
Glama
746,787 tools. Updated 2026-11-05 11:29

"A server for querying Kusto databases and creating Kusto queries" matching MCP tools:

  • Semantic search over Japan's official government white papers: the Ministry of Defense white paper (防衛白書) in both its 2025 edition (令和7年版) and 2026 edition (令和8年版), and METI's trade white paper (通商白書, 2025 edition). Use this when the user asks about Japanese defense policy, the Self-Defense Forces, Japan's security environment, defense budgets or procurement programs, the Japan-US alliance, how Tokyo officially describes China, North Korea or Russia, or about Japan's trade strategy, global supply chain resilience, economic security, overdependence and economic coercion, or China's industrial policy and its effect on trade. One query searches all of them at once, and every result is labelled with its paper name and edition year. Because both defense editions are indexed together, a single query can surface how the same topic is described in each year: the 2026 edition adds parts and chapters that did not exist before, while other passages carry over from the previous year with little or no change. Reading the returned excerpts side by side therefore shows both what changed and what stayed the same. This tool retrieves passages; it does not compute the differences for you. Queries may be in English or Japanese — English queries are automatically translated before retrieval against the Japanese corpus. Returns ranked excerpts with paper name, chapter, page numbers and a source URL suitable for citation. Scope: the 2025 and 2026 editions of the defense white paper and the 2025 edition of the trade white paper only. Not a source for breaking news, press conferences, statistical databases, export control regulations, tariff schedules, or documents from other ministries.
    ConnectorNo auth
  • Fast code search across any public git repo. Returns file paths, line numbers, and code snippets with context. Supports regex, boolean queries, fuzzy matching, and structural filters (declarations, usages, strings, comments). Dependency/build directories excluded by default. Searching for leaked secrets? Call code_analyze instead and read security_summary — it runs a real secret and credential scanner over the whole repository, where searching for key prefixes like "sk-", "ghp_" or "AIza" only matches the spellings you happened to think of.
    ConnectorNo auth
  • Semantic / vibe search over the same nationwide ramen DB — describe what you feel like eating in natural language, English or Japanese ("rich creamy pork broth", "あっさり淡麗な醤油", "oily mazesoba", "tsukemen near Ebisu station"), and get the closest shops by meaning, each with a similarity score. Powered by multilingual embeddings (bge-m3), so English queries find shops with Japanese-only names. Role split: use search_ramen for exact facts (shop name lookup, keito/prefecture/status filters, geo radius) — use vibe_search for descriptive/fuzzy queries where no exact filter fits. Style rankings reflect only classified shops (~25%); unclassified shops still match by name and place. Tip: concrete food words (style, broth, richness, place, hours) match far better than abstract mood words ("stylish", "hardcore") — translate moods into concrete attributes before querying. Prefecture intent in the query text (北海道, 博多の…) is auto-applied as a filter (pref_source: inferred); region-style names (札幌ラーメン, 喜多方, 佐野…) stay pure style words and never restrict location. Dish-concept words (オロチョン, カラシビ, 台湾ラーメン/まぜそば, 勝浦タンタンメン) are expanded into their constituent style vocabulary before embedding (transparent via concept_expansion in the echoed query) — expansion never adds filters, so shops serving the dish always stay eligible; spicy-implying concepts additionally give spice-verified shops a small rank boost (concept_boost — a soft rerank, still no filter). Richness/hours inferred from the query text likewise act as a soft rank boost (attr_boost; attr_matched is informational) — only explicit richness/hours params and spiciness intent filter strictly.
    ConnectorNo auth
  • Everything created, updated or deleted since a cursor (from the workspace digest/map or a previous call) or an ISO time — pages, databases, rows and deletions, oldest first. Omit both to bootstrap. Always keep nextCursor for the next call: this is how to catch up instead of re-reading the tree. An entry stamped in the cursor's own second may appear once more — dedupe by id.
    ConnectorOAuth
  • List the curated sandbox topic labels that define the free Discovery corpus — every topic federally-sourced and audience-safety-checked. Use it to preview what content domains exist before creating a stream. Does NOT enumerate messages — the corpus stays internal. For the full live template catalog + gating contract, read the signal://catalog resource.
    ConnectorNo auth
  • Enrich Indicator of Compromise (IP/domain/URL/hash) by auto-detecting type and querying abuse.ch feeds. Per-type source coverage: hash → ThreatFox only (Feodo and URLhaus do not index hashes); IP → ThreatFox + Feodo Tracker + URLhaus; domain / URL → ThreatFox + URLhaus. verdict.sources_queried lists what actually ran; verdict.sources_unavailable lists what failed (timeout / upstream error). Use as primary IOC triage tool when type unknown; use threat_intel for domain-only, hash_lookup for richer MalwareBazaar hash data. Free: 30/hr, Pro: 500/hr. Returns {indicator, type, threat_level, sources, summary, verdict}.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that grounds KQL queries on your actual schema and expertise, helping AI assistants generate validated, accurate queries for Kusto databases.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP (Model Context Protocol) server that provides tools for interacting with Azure Data Explorer (Kusto) clusters.
    10
    16 npm
    MIT

Matching MCP Connectors

  • Query synaptic connectivity between Drosophila neuron classes across ALL connectome datasets simultaneously for comparative connectomics. This is NOT pre-cached — it runs live queries, so expect slow responses (up to several minutes). Set both upstream_type AND downstream_type to filter connections between two specific neuron classes (e.g., "What Tm1→T3 connections exist across all datasets?"). At least one of upstream_type or downstream_type is required. CONSTRAINTS: Only accepts neuron class terms (OWL IDs like FBbt_00003789 or labels like "transmedullary neuron Tm1") — anatomical regions or neuropils (e.g., "lobula", "medulla") are NOT accepted. NOT suitable for individual neuron-to-neuron connections — for pre-computed connections of a single individual neuron, use run_query with NeuronNeuronConnectivityQuery instead. NOT for muscle/sense organ connections. RECOMMENDED DEFAULTS: weight=5, exclude_dbs=["hb","fafb"] unless user specifies otherwise. For both-ends queries, start with weight≥50 to avoid timeouts. RESULT SIZE: a broad query is enormous (a single class at weight=5 can be over 50,000 connections), so results are ranked strongest-first and paged — you get limit rows (default 50) plus a summary computed over ALL of them: totals, per-dataset counts, distinct neuron counts, and the top class pairs. Answer from the summary and quote a handful of rows; only page with offset if the user asks for specific further rows. WORKFLOW: Confirm parameters with user before querying. Use search_terms with filter_types ["neuron","class"] to validate/canonicalize neuron type labels. If zero results, try relaxation: lower weight to 1, then remove exclude_dbs filter, then try group_by_class=true — report what worked and let user decide. group_by_class=true is usually the better first call on a broad query: it rolls the connections up over the subclass hierarchy — a row per (upstream level, downstream level) with data, up to the queried term(s) — instead of returning every neuron pair. Because a connection counts toward every ancestor pair in scope, per-row pairwise_connections and total_weight do NOT sum to the raw connection counts, and a row appears for the queried class itself as well as each subclass with data.
    ConnectorNo auth
  • List available exascale.build data capabilities for agent discovery before querying. Also call this BEFORE stating that a capability is not available — client tool lists are cached and this surface grows; anything listed here is reachable via query_capability_v1 even if your tool list predates it.
    ConnectorNo auth
  • Create a Tavern Finder account for the person you are helping, and get a reusable access token for it. Use the account immediately — booking and creating events work right away. STORE THE ACCESS TOKEN and reuse it for this person every time; do not call this again for someone you already registered. You also get a claim link: give it to the person so they can take ownership, set their own email and password, and see their bookings on the website. Only pass an email if the person actually gave you one — otherwise leave it out and they will set it when they claim.
    ConnectorNo auth
  • Call this first for every XGR purchase. Read live price, stock and payment assets; use payment_assets[].key exactly as payment_asset and inspect requires_sender_wallet before creating an order.
    ConnectorNo auth
  • List the curated sandbox topic labels that define the free Discovery corpus — every topic federally-sourced and audience-safety-checked. Use it to preview what content domains exist before creating a stream. Does NOT enumerate messages — the corpus stays internal. For the full live template catalog + gating contract, read the signal://catalog resource.
    ConnectorNo auth
  • List the SQL databases (D1 or Neon Postgres) on my account, including which owned site (if any) each is attached to. Call this BEFORE db_query/db_schema-style work to discover a databaseId — those live on a per-database MCP server reached via GET /api/v1/databases/{id} (see llms.txt), which this id feeds.
    ConnectorNo auth
  • Cancel at period end. This is not just a billing change — it schedules deletion of ALL databases on the account. Call without confirm first: the response spells out the consequences with concrete dates; show them to the user and only retry with confirm="cancel" after their explicit approval.
    ConnectorNo auth
  • Create new guides Create one or more new guides based on provided queries. Each guide targets exactly ONE engine and ONE analysis mode, chosen with the optional `source` field (default `google`). How to request each guide type: 1. Google SERP guide (1 credit per guide): omit `source`, or pass `source: "google"`. Example payload: {"queries": ["best crm"], "lang": "en-us"} 1bis. Google AI Overview guide (1 credit per guide). Two modes, like AI engines: `source: "google_ai_overview"` builds the guide from the TEXT of Google's AI answers (AI Overview, completed with AI Mode answers) ; `source: "google_ai_overview_citations"` builds it from the content of the web SOURCES those answers cite (recommended for GEO). Same language/country parameters as a Google SERP guide, 1 credit per guide in both modes. Example payload: {"queries": ["best crm"], "lang": "en-us", "source": "google_ai_overview_citations"} 2. LLM ANSWER guide (4 credits per guide): pass the engine name alone, e.g. `source: "chatgpt"`. The guide is built from the answer text the AI generates for the query. Example payload: {"queries": ["best crm"], "lang": "en-us", "source": "chatgpt"} 3. LLM CITATIONS guide (4 credits per guide) [RECOMMENDED AI mode]: pass the engine name with the `_citations` suffix, e.g. `source: "chatgpt_citations"`. The guide is built from the content of the web pages the AI cites in its answer. Example payload: {"queries": ["best crm"], "lang": "en-us", "source": "chatgpt_citations"} Which AI mode to pick? For GEO (getting a page visible in AI answers), prefer `<engine>_citations`: AI engines send traffic by CITING pages as sources, so the winning move is to look like the pages they cite. The answer-text mode (`<engine>` alone) is mostly useful to analyze how the AI phrases its own answer. When in doubt, pick `<engine>_citations`. The same two modes exist for every AI engine (chatgpt, perplexity, claude, gemini, grok, mistral, deepseek). To optimize the same page for several engines or modes (e.g. Google AND ChatGPT answers AND ChatGPT sources), create one guide per source value on the same query. IMPORTANT, HOW TO READ THE RESPONSE OF THIS ENDPOINT, WHICH SPENDS CREDITS. Queries listed in `guidesFailed` are PROVEN not to have produced a guide and their credit was given back (unless the account has unlimited credits, where nothing was reserved): re-sending them is free and correct. Queries listed in `guidesUnknown` have an UNDECIDABLE outcome and their credit is deliberately KEPT, because the guide was most likely written: DO NOT re-send them, you would pay for the same guide twice. Look them up in `GET /api/v1/guides` after a few minutes instead, and contact support if nothing shows up. Finally, a `200` is NOT a promise that every query produced a guide: compare `guides.length` with the number of queries you sent, never read `success` alone, and never re-send a query just because it is missing from `guides`.
    ConnectorNo auth
  • Create a report with shared `reportContext` and one or more `widgets` plus destinations. New reports are creator-only (you get Admin). To share, call set_object_permissions after create — do not send PRIVATE/PUBLIC or teamId. Call get_skill with skillId: "reports" first — see skill for context-first workflow and DIGEST preview iteration. Put shared settings in `reportContext` (period required when query widgets are present: prefer datePreset; plus metricId, common groupBy, currency, optional conditionsCel / scopeId). Query widgets inherit by default and should only specify overrides — do not repeat from/to, datePreset, groupBy, metricId, or currency when they match reportContext. The legacy `context` alias is temporarily accepted but deprecated; never send both. Schedule modes: • NOW — create an on-demand report and immediately deliver it to every destination. DANGER ZONE: this sends real messages now. Summarize scope, schedule, and every destination, then ask the user to confirm before calling. • UNSCHEDULED — save an on-demand draft without delivery. • SCHEDULED — create a recurring report (DAILY / WEEKDAYS / WEEKLY / MONTHLY). DANGER ZONE: this authorizes future channel delivery. Summarize the recurring schedule and every destination, then ask the user to confirm before calling. Optional `tagIds`: existing IDs from list_tags and/or `{ name, color? }` for new tags; color defaults to #6366F1; missing tags are created. Omit and `[]` both leave the report untagged. Widget types: DASHBOARD_PDF, GRAPH_SNAPSHOT, TOP_FLOP, TEXT, and DIGEST. A DASHBOARD_PDF widget renders an existing dashboard as a PDF — pass `{ type: "DASHBOARD_PDF", dashboardId: "<id from search>" }` (dashboardId required). TEXT widgets use `{ type: "TEXT", contentMarkdown }` (not dashboard `textContent`). DIGEST hierarchy: `reportContext.groupBy` (root, preferred) + ordered `additionalGroupBy` (deeper levels); also supports thresholds. Per-widget override: set DIGEST `useDashboardGroupBy: false` to ignore `reportContext.groupBy` for that widget — the first `additionalGroupBy` item (or `queries[0].groupBy`) becomes the root; `false` requires at least one dimension. DIGEST accepts a per-widget `queries[0].filterCel` (CEL) — AND-combined with `reportContext.conditionsCel` by default (`extendDashboardConditions` defaults true), applied to both the comparison periods, and named by the AI summary. Use it for focused digests (e.g. Kubernetes only: `cos_cluster_name != null`) next to an unfiltered org-wide digest in the same report. DIGEST AI (opt-in, slower): `display` ("tree" default | "table" | "summary" for LLM executive narrative) and `enableAiInvestigation` (boolean, default false — per-node deep analysis, independent of display). DIGEST `aggBy` is Month or Week — never Period (Period is TOP_FLOP). Preview and create use the same `reportContext` + widget shape. For WEEKLY schedules, `schedule.weekday` is required (0 = Sunday … 6 = Saturday). Destinations: SLACK/TEAMS take `channelId`; EMAIL takes `email` (a single address, the literal ALL_ACTIVE_USERS to reach every active user, or destinations.email.self from list_available_destinations for "email me"). Mergeable same-type items (two emails, two Slack/Teams channels) are stored as one destination and share one execution; mixed types stay separate. Exclusive sentinels (`ALL_ACTIVE_USERS`, `SHARED_SLACK`) stay on their own destination and execution. Returns report URL and nextRunAt; NOW also returns execution URLs and per-destination status. EXAMPLE monthly DIGEST: { schedule: { mode: "UNSCHEDULED" }, reportContext: { datePreset: "LAST_MONTH", groupBy: "cos_environment", metricId: "cost", currency: "USD" }, widgets: [{ type: "DIGEST", queries: [{ type: "cost", name: "a" }], aggBy: "Month", additionalGroupBy: ["cos_sub_account_id", "cos_service_name"], minAbsoluteDiff: 100, minRelativeDiff: 5, topLargestAbsoluteChange: 20, display: "summary", enableAiInvestigation: false }, { type: "DIGEST", title: "Kubernetes", queries: [{ type: "cost", name: "a", filterCel: "cos_cluster_name != null" }], aggBy: "Week" }], destinations: [{ destinationType: "SLACK", channelId: "C…" }] } EXAMPLE namespace-rooted DIGEST (overrides reportContext.groupBy for this widget only): { schedule: { mode: "UNSCHEDULED" }, reportContext: { datePreset: "LAST_MONTH", groupBy: "cos_environment", metricId: "cost", currency: "USD" }, widgets: [{ type: "DIGEST", title: "Kubernetes", useDashboardGroupBy: false, queries: [{ type: "cost", name: "a" }], aggBy: "Month", additionalGroupBy: ["cos_namespace_reallocated", "cos_workload_name"] }], destinations: [{ destinationType: "SLACK", channelId: "C…" }] } EXAMPLE GRAPH_SNAPSHOT + TOP_FLOP: { schedule: { mode: "SCHEDULED", period: "WEEKLY", weekday: 1, firstRunAt: "2026-08-04T10:00:00.000Z" }, reportContext: { metricId: "cost", currency: "USD", groupBy: "cos_service_name", datePreset: "LAST_WEEK" }, widgets: [{ type: "GRAPH_SNAPSHOT", title: "Cost by service — trailing weeks", queries: [{ type: "cost", name: "a", chartType: "LINE" }], datePreset: "TRAILING_14_WEEKS", aggBy: "Week" }, { type: "TOP_FLOP", title: "Last week movers by service", queries: [{ type: "cost", name: "a" }], aggBy: "Period", topN: 5, flopN: 5 }], destinations: [{ destinationType: "SLACK", channelId: "C…" }] }
    ConnectorOAuth
  • Prepare a client invoice from a saved ExpenseBot report without creating it. Reads canonical report rows, allocates a unique invoice number, verifies the client ledger identity and advance, and returns exact totals plus a short-lived preparationId. Call this first, show the preview to the user, then call create_client_invoice after explicit confirmation. It reserves the invoice number and preview for 30 minutes but creates no invoice, document, Income row, email, or payment.
    ConnectorNo auth
  • Read-only DNS record lookup via DNS-over-HTTPS. Pass `type` for a single record type or `types` for an array; if both omitted, returns A records. Returns parsed answers with TTL, raw rdata, and DNSSEC AD bit. Use for arbitrary record queries; use validate_dnssec for full DNSSEC chain validation, or check_dns_propagation for multi-resolver consensus. No auth, no rate limits beyond upstream resolver.
    ConnectorNo auth
  • Reads one owned study plan, stable task ids, completion state and revision. A plan that is still being built reports pending with a retry delay, so poll this after create_study_plan rather than creating again. Use its revision for task changes. Reading older plans never changes them.
    ConnectorNo auth
  • Browse Statistics Estonia's (Statistikaamet) statistics database tree by path. Top-level databases: keskkond (environment), majandus (economy), rahvastik (population: migration, births/deaths, family), sotsiaalelu (social life: labour market, education, health), eri-valdkondade-statistika (multidomain statistics), rahvaloendus (population and housing census), Lepetatud_tabelid (discontinued datasets). Returns child nodes (subcategories, type=l) or table descriptors at leaf nodes (type=t). Use empty path '' to get the top-level databases. Navigate hierarchically until type=t nodes appear, then use estonia-statistics.table_metadata. Data: andmed.stat.ee (PXWeb API), no auth required.
    ConnectorNo auth
  • Read remaining quotas and plan entitlement for the authenticated company. Call this when you need to know whether an active plan is in effect before registering OIDC clients or creating login links. Creating login links, minting extra API keys, and registering end users all require an active plan (the bootstrap key does not). Requires a company API key (aa_...) or an MCP OAuth access token. Returns planId, planStatus, periodYm, included, used, remaining, and hardCap. It does not change billing or charge a card. To start a human Pro checkout, use billing_checkout. billing_machine_pay only returns prepaid REST instructions. To manage an existing Stripe subscription, use billing_portal.
    ConnectorAPI key
  • Start a background job that proposes how to group up to 500 tracked queries into clusters. mode "fill_gaps" places only queries that have no cluster yet; "add_on_top" adds clusters without touching existing memberships; "full_regroup" proposes a fresh grouping of every query. restrictToExistingClusters only uses the project's current clusters. Nothing changes until apply_auto_clustering: poll get_job, show the proposal to the user, then apply it. Requires an active subscription.
    ConnectorOAuth