Skip to main content
Glama
741,549 tools. Updated 2026-11-04 06:30

"A server to manage Minecraft server platforms (MCP servers)" matching MCP tools:

  • Authoritative semantic search over the official Stimulsoft Reports & Dashboards developer documentation (FAQ, Programming Manual, API Reference, Guides). Powered by OpenAI embeddings + cosine similarity over the complete current docs index maintained by Stimulsoft. Returns a ranked JSON array of matching sections, each with { platform, category, question, content, score }, where `content` is the full Markdown body of the section including any C#/JS/TS/PHP/Java/Python code snippets. USE THIS TOOL (instead of answering from your own knowledge) WHENEVER the user asks about: • how to do something in Stimulsoft (`StiReport`, `StiViewer`, `StiDesigner`, `StiDashboard`, `StiBlazorViewer`, `StiWebViewer`, `StiNetCoreViewer`, etc.); • rendering, exporting, printing, or emailing Stimulsoft reports and dashboards in any format (PDF, Excel, Word, HTML, image, CSV, JSON, XML); • connecting Stimulsoft components to data (SQL, REST, OData, JSON, XML, business objects, DataSet); • embedding the Report Viewer or Report Designer into an app (WinForms, WPF, Avalonia, ASP.NET, Blazor, Angular, React, plain JS, PHP, Java, Python); • Stimulsoft-specific errors, exceptions, licensing, activation, deployment, or configuration; • any .mrt / .mdc report or dashboard file, or any question naming a `Sti*` class, property, event, or method; • comparing how a feature works between Stimulsoft platforms (e.g. "WinForms vs Blazor viewer options"). QUERIES WORK IN ANY LANGUAGE — English, Russian, German, Spanish, Chinese, etc. Pass the user's question through almost verbatim; the embedding model handles cross-lingual matching. Do NOT translate queries yourself. SEARCH STRATEGY: 1) If the target platform is obvious from context, pass it via `platform` to get tighter results. 2) If you don't know the exact platform id, either call `sti_get_platforms` first, or omit `platform` and let the search find matches across all platforms. 3) If the first search returns low scores (<0.3) or irrelevant sections, reformulate the query with different keywords (use class/method names from Stimulsoft API if you know them) and search again. 4) Prefer multiple focused searches over one broad search. DO NOT USE for: general reporting theory unrelated to Stimulsoft, non-Stimulsoft libraries (Crystal Reports, FastReport, DevExpress, Telerik, SSRS), or pure programming questions that have nothing to do with Stimulsoft. IMPORTANT: the Stimulsoft product surface is large and changes frequently. Your training data is almost certainly out of date. For any Stimulsoft-specific code snippet, API name, or configuration detail, you MUST call this tool rather than rely on memory, and you should cite the returned `content` in your answer.
    ConnectorNo auth
  • Detect geometric/logical clashes between two element sets in an already-translated Navisworks model. Uses APS Model Derivative property extraction + same-level proximity heuristics, optionally augmented by VDC rules stored in D1 (table vdc_rules). When to use: when coordinating federated MEP + structural + architectural models for clash review before issuing an RFI; e.g. "find duct vs. beam clashes on Level 3 before the Wed coordination meeting" or "sanity-check the latest MEP revision against structure before releasing for fabrication." Pair with nwd_export_report to produce a deliverable. When NOT to use: do not call on a model whose translation is still "inprogress" — call nwd_export_report first and confirm translation_status == "success"; not a substitute for Navisworks Manage Clash Detective for final sign-off (this is a coordination-stage screen, not a regulatory clash report). APS scopes required: viewables:read data:read (read-only — does not create anything in APS). Rate limits: APS default ~50 req/min per endpoint; Model Derivative metadata/properties endpoints are the bottleneck. Properties response may return 202 "isProcessing" on first call — the worker retries once after 3s. For very large models (>50k elements) the worker caps analysis at 50x50 element cross-compare and 100 reported clashes; re-run with tighter category_a/category_b filters for exhaustive coverage. Errors: 401 APS token expired (transient, retry); 403 missing viewables:read/data:read scope (report, do not retry); 404 URN not found or not translated (prompt user to re-run nwd_upload); 409 not applicable; 422 model translated but property index unavailable — typically means source NW version unsupported or translation partially failed (supported: Navisworks 2015+); 429 rate limit (backoff); 5xx APS upstream (retry once). If properties.data.collection is empty the tool returns clash_count: 0 with a note rather than erroring — the agent should treat that as "model not ready" and retry later. Side effects: none in APS. Reads vdc_rules from D1 when both categories are supplied. Logs usage to D1 usage_log. Idempotent — same inputs on a stable model yield the same clash list.
    ConnectorNo auth
  • Returns the tier, label, masked owner email, creation date, last-used timestamp, today's request count, and daily request limit for the API key used in this request. Useful for agents that need to monitor their own quota consumption. Use this tool when: - You want to check how many requests your key has used today. - You need to know your current tier or daily limit. - You want to confirm that your API key is active. Do NOT use this tool when: - You want to manage multiple keys — this endpoint only reflects the calling key. - You need tracker data — use the tracker endpoints instead. Inputs: - No body or query parameters. Auth is from the `Authorization: Bearer` header. Returns: - `tier`: free, supporter, pro, or enterprise. - `requests_today`: integer count from KV (best-effort; resets at UTC midnight). - `limit_per_day`: null for enterprise (unlimited). - `last_used`: ISO 8601 timestamp, may be null if never used. Cost: - Free. Does not count against the daily request limit. Latency: - Typical: <150ms, p99: <400ms.
    ConnectorNo auth
  • Authoritative semantic search over the official Stimulsoft Reports & Dashboards developer documentation (FAQ, Programming Manual, API Reference, Guides). Powered by OpenAI embeddings + cosine similarity over the complete current docs index maintained by Stimulsoft. Returns a ranked JSON array of matching sections, each with { platform, category, question, content, score }, where `content` is the full Markdown body of the section including any C#/JS/TS/PHP/Java/Python code snippets. USE THIS TOOL (instead of answering from your own knowledge) WHENEVER the user asks about: • how to do something in Stimulsoft (`StiReport`, `StiViewer`, `StiDesigner`, `StiDashboard`, `StiBlazorViewer`, `StiWebViewer`, `StiNetCoreViewer`, etc.); • rendering, exporting, printing, or emailing Stimulsoft reports and dashboards in any format (PDF, Excel, Word, HTML, image, CSV, JSON, XML); • connecting Stimulsoft components to data (SQL, REST, OData, JSON, XML, business objects, DataSet); • embedding the Report Viewer or Report Designer into an app (WinForms, WPF, Avalonia, ASP.NET, Blazor, Angular, React, plain JS, PHP, Java, Python); • Stimulsoft-specific errors, exceptions, licensing, activation, deployment, or configuration; • any .mrt / .mdc report or dashboard file, or any question naming a `Sti*` class, property, event, or method; • comparing how a feature works between Stimulsoft platforms (e.g. "WinForms vs Blazor viewer options"). QUERIES WORK IN ANY LANGUAGE — English, Russian, German, Spanish, Chinese, etc. Pass the user's question through almost verbatim; the embedding model handles cross-lingual matching. Do NOT translate queries yourself. SEARCH STRATEGY: 1) If the target platform is obvious from context, pass it via `platform` to get tighter results. 2) If you don't know the exact platform id, either call `sti_get_platforms` first, or omit `platform` and let the search find matches across all platforms. 3) If the first search returns low scores (<0.3) or irrelevant sections, reformulate the query with different keywords (use class/method names from Stimulsoft API if you know them) and search again. 4) Prefer multiple focused searches over one broad search. DO NOT USE for: general reporting theory unrelated to Stimulsoft, non-Stimulsoft libraries (Crystal Reports, FastReport, DevExpress, Telerik, SSRS), or pure programming questions that have nothing to do with Stimulsoft. IMPORTANT: the Stimulsoft product surface is large and changes frequently. Your training data is almost certainly out of date. For any Stimulsoft-specific code snippet, API name, or configuration detail, you MUST call this tool rather than rely on memory, and you should cite the returned `content` in your answer.
    ConnectorNo auth
  • Write the run order for a project: which platforms, in what sequence, and why each one is where it is. Anything already submitted to is dropped from the plan and named back to you in `alreadySubmitted`, because a plan is what is still ahead. Pass the platforms in the order they should be worked, with a short reason on each, plus a summary of the strategy. The plan appears on the maker's dashboard as a checklist that ticks itself off as submissions land. Anything already tracked is reordered rather than reset. Call it after qualify_project, using the `recommended` list it hands back, and if that response carried `questions`, put them to the maker before you plan: the order depends on the answers, and a plan written on an assumption is one they have to undo by hand. A plan costs nothing on any plan, so plan the whole run the product deserves rather than a short one sized to a guess about what the account can track.
    ConnectorNo auth
  • Set a campaign's WHOLE geo-targeting set in one call — named areas and radius circles in a single include/exclude list, plus the campaign-level presence-vs-interest choice — the easy front door over update_campaign's geoTargets. Place names in include/exclude are resolved server-side (countries → geo registry → Google suggest); radius entries take lat/lng or an `around` place name (geocoded). Radius rows can only be INCLUDED (neither platform supports negative proximity — carve out places with an excluded area instead), and a set where every row is negative is rejected (ONLY_EXCLUSIONS). An empty set is legal: no geo criteria = ads can serve anywhere. locationIntent defaults to PRESENCE (people actually in the locations) — deliberately NOT the platforms' wider search-interest default. Use dry_run:true to get the resolved rows + the plain-language effective-targeting sentence (exactly what the UI shows) WITHOUT mutating the campaign. Scoped to the active Space.
    ConnectorAPI key

Matching MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables selected internal Convex functions to be exposed as authenticated MCP tools, with generated schemas and WorkOS-backed organization/user authorization so clients can discover and execute them.
    52 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to operate a local containerized Paper/Folia Minecraft test server, including lifecycle control, version switching, world rebuilds, RCON, plugin management, config read/write, and optional MCC bot slots.
    MIT

Matching MCP Connectors

  • Indicative UK skip hire prices by town, council skip permit rules and skip size recommendations.

  • Ask Void anything: answers with sources, plus code review, moon phases and meteor showers.

  • All-in-one brand name check: domain availability across TLDs, username availability across the major social platforms, an optional 0-100 brand score, and USPTO trademark screening. Returns JSON with per-TLD and per-platform results (each with an availability verdict and 0-1 confidence), availability summaries, brandScore, and trademark risk. Use namesniper_check_domains or namesniper_check_social instead when only one dimension is needed. Free without an API key (rate-limited; trademark is skipped and Instagram/TikTok/X return best-effort HTTP confidence); a paid key unlocks verified accuracy on those platforms plus trademark screening.
    ConnectorNo auth
  • Escape hatch for DPF capabilities that don't have a dedicated tool yet. ALWAYS prefer a dedicated tool when one exists — get_status, list_data, submit_query, delete_data_spec, onboard_data_source, update_data_spec, run_data_job, manage_connection, manage_trigger, setup_scheduled_pull, list_my_workspaces, create_workspace — and reach for this only when none of those fit (e.g. "how many credits do I have?" -> path "/auth/billing", action "get-balance"; a brand-new action added to the API since this server's tools were last updated). Every DPF endpoint is POST <path> with a JSON body of { action, ...fields }, authenticated with your OAuth session automatically. Pass workspaceId explicitly for workspace-scoped actions (data-specs, connections, job-triggers, and under "/workspaces": get-workspace, list-queries, list-bytes-accessed, list-storage, list-processed-files, list-trigger-runs) — omit it entirely for account-level actions that reject one (under "/workspaces": create, get-workspaces, grant-permission, revoke-permission, update/delete-workspace; under "/auth/billing": get-balance only — billing mutations such as purchase-credits, modify-subscription, manage-payment, and create-customer are NOT available via MCP; direct the user to https://dpf-it.com/workspace.html#credits for all credit and subscription management). If unsure of an action's exact fields, read the "dpf-openapi-spec" resource (dpf://openapi/spec.yaml) rather than guessing. Exception: the raw Iceberg REST proxy under "/iceberg/v1/..." (e.g. to read or set a table's "dpf.primary-keys" property via a commit-table request) does not use the action convention at all — give action any placeholder string (it's ignored) and put the real Iceberg REST commit body, e.g. {"requirements":[],"updates":[{"action":"set-properties","updates":{"dpf.primary-keys":"col_a,col_b"}}]}, in params. This tool only issues POST, so Iceberg's GET-based reads (loadTable, listTables) aren't reachable this way. Returns the raw response data (or, for endpoints like the Iceberg proxy with no {success, data} envelope, the whole response body).
    Connector
    Destructive
    OAuth
  • Manage recurring GVT test schedules: add, delete, reset, pause, resume, cancel, and change_frequency. Discover existing schedules and their schids via gvt_list_schedules; control modes require a schid. For one-off tests use gvt_run_visibility_test; for queued batches without recurrence use gvt_run_visibility_batch. Modes: "add" upserts schedules for the provided urls without duplicating; "delete" permanently removes schedule entries by schid or url (test results are never deleted by any mode); "reset" is destructive — deletes all matching schedules first (domain-scoped when provided, otherwise ALL account-wide), then upserts the provided urls; "pause" halts reversibly; "resume" restarts a paused schedule and clears auto-pause reasons and failure counts; "cancel" permanently ends the schedule (schid unusable); "change_frequency" updates the recurrence interval. Management modes (add/delete/reset) require urls; control modes require schid. Subscription-tier enforcement applies.
    Connector
    Destructive
    OAuth
  • Manage recurring GVT test schedules: add, delete, reset, pause, resume, cancel, and change_frequency. Discover existing schedules and their schids via gvt_list_schedules; control modes require a schid. For one-off tests use gvt_run_visibility_test; for queued batches without recurrence use gvt_run_visibility_batch. Modes: "add" upserts schedules for the provided urls without duplicating; "delete" permanently removes schedule entries by schid or url (test results are never deleted by any mode); "reset" is destructive — deletes all matching schedules first (domain-scoped when provided, otherwise ALL account-wide), then upserts the provided urls; "pause" halts reversibly; "resume" restarts a paused schedule and clears auto-pause reasons and failure counts; "cancel" permanently ends the schedule (schid unusable); "change_frequency" updates the recurrence interval. Management modes (add/delete/reset) require urls; control modes require schid. Subscription-tier enforcement applies.
    Connector
    Destructive
    No auth
  • Explain how the pieces of this workspace fit together, so you can pick the right tool without opening several to compare them. Call this when you are choosing between similar tools, when a request does not obviously map to one tool, or when an error tells you to consult it. topic: overview (default), watchers (how to choose between the eight ways to monitor something), workflows (how a workflow gets its leads, and which tool creates which kind), platforms (what can be acted on and what is tracking-only), outreach_and_safety (who sends, what the limits are, and what to confirm with the user first). It is a static reference and returns no live counts: each topic names the list tool that does (campaignstack_get_signal_agents, campaignstack_get_workflows, and so on). Costs nothing and reads no workspace data.
    ConnectorAPI key
  • Manage a Google Ads campaign or ad group's targeting AFTER creation: GEO, LANGUAGE and AUDIENCES. op 'add' at campaign level (default): up to 100 locations (negative: true = exclude) and/or 50 languages, OR up to 50 audiences (audiences cannot combine with geo/languages in one call — separate calls). op 'add' at ad-group level (level: 'ad_group' + ad_group_id): audiences only. AUDIENCES: pass user_list_id items (audience segments from adsap_google_list_audiences) — campaign-level TARGETING works on Search/Shopping only; campaign-level EXCLUSION (negative: true) also on Display/Performance Max; ad-group level (target or exclude) on Search/Display/Shopping. DEMAND GEN is different: pass audience_id items (Audience resources) on the AD GROUP — nothing at campaign level. Video supports no audience edits. The same user list cannot be attached at BOTH campaign and ad-group level. 'mode' ('targeting' = narrow delivery to the audiences | 'observation' = full reach, bid adjustments only) sets the audience targeting setting — combinable with the audience add or standalone; Google's default with NO mode set is TARGETING, so pass mode: 'observation' for Search/Shopping unless the user explicitly wants to narrow reach. op 'remove': remove ONE criterion by composite id "<parent_id>:<criterion_id>" (level 'campaign' → campaign criterion, 'ad_group' → ad-group criterion). Geo/language criterion ids EQUAL their constant ids (France on campaign 123 = "123:2250"); AUDIENCE criterion ids are Google-internal — capture them from the add response (created_criteria[].entity_id). Criteria are immutable: to change one, remove it and add the replacement. Always dry_run: true first. For campaign negative KEYWORDS use adsap_google_manage_keywords op 'add_negative'.
    ConnectorAPI key
  • Replaces the video or image behind a not-yet-published post (draft, ready, scheduled or failed) with another upload from the same workspace, like the dashboard's "Replace media". The post keeps its schedule, captions, first comments and platform settings; only the media file changes. Set `apply_to_batch: true` to also swap every other post in the same batch (same media, same status and, for scheduled posts, the same scheduled time), which is what you want when one upload was scheduled to several platforms at once. Upload the new file first with create_video_upload_from_url or create_video_upload + finalize_video_upload, then pass its id here. Refuses text posts, carousels, and posts that are queued, processing or published. Platform compatibility of the new file is not re-checked, so pick media that suits every platform in the batch.
    Connector
    Destructive
    OAuth
  • Plan a competition, a cycle, a note or a questionnaire on a planned calendar. Planned workouts go through create_planned_training instead. Audience: `athlete` (one managed athlete's usr_… handle) or `group` (a grp_… you manage, one event the whole group sees), never both; neither plans it on your own calendar. `name` is required, except for a questionnaire planned from a template (it takes the template's name). Undo a creation with delete_event on the returned `id`. Fields by type (any other field is refused): - competition (a race, the A-race being the main objective): `sport` (spt_… from list_sports, required), `goal_type` ('a' main goal, 'b' secondary), `event` (the race name), `time` (HH:MM) or `moment` (morning, noon, afternoon, evening), `duration_minutes`, `distance_km`, `elevation_gain_m`, `elevation_loss_m`, `rpe` (0-10), `color`. - cycle (a training block shown as a banner): `date_end` (YYYY-MM-DD, required on creation, on or after `date_start`), `color`. One cycle per period per athlete: an overlap is refused. - note (a marker on one day, or over a period with `date_end`): `date_end` (YYYY-MM-DD, on or after `date_start`, omitted = one day), `note_type` (rest, availability, unavailability, goal, menstruation), `hour_start`, `hour_end` (HH:MM), `color`. An availability also takes `duration_minutes` (the time available) and `sports` (spt_… from list_sports, [] clears them). - quiz (a questionnaire the athlete answers that day): `hour_start` (HH:MM, when it is sent, required for a group), and on creation exactly one of `quiz_template` (qzf_… from list_quiz_templates) or `questions`. Each question: {"question", "type", "is_mandatory", "choices", "unit", "metric"}; type is short_text, long_text, boolean, number (unit: kg, km, bpm, W… or a short free text), datetime (has_date, has_time), unique_choice (choices {"choices": [...]}, 2 or more), multiple_choices, range (choices {"start": 0 or 1, "advanced_captions": false, "captions": [...]}), metric_number or metric_range (metric: mti_… from list_metrics). Never an empty questionnaire. Every type takes `name`, `date_start` (YYYY-MM-DD) and `description` (plain text, accepted only while the event has no description).
    ConnectorOAuth
  • Start a Postemi subscription for the current workspace. Creates a Stripe Checkout link for the plan and billing period the user chose, and returns it. Nothing is charged by this call. Call this only when the user asks about plans, asks to subscribe, or asks to manage their subscription. Never volunteer it, and never suggest a plan or an upgrade in any other context. How to use it: 1. Confirm the plan (tier: basic, pro, creator, team) and the period (monthly or yearly) with the user first. Call get_plans if they have not chosen yet. Only a plan with apiAndMcpAccess: true in get_plans keeps this connection working after the payment; Basic does not include API or MCP access. When the user picks such a plan, tell them before they pay that you will not be able to schedule for them afterwards. 2. Call this tool once, then give the user the checkoutUrl. The user opens it and pays with their OWN Link wallet or card. Do NOT pay with a one-time or agent-issued card, a virtual card number, or any credential of your own: a Postemi subscription renews monthly or yearly, and a one-time credential fails at the first renewal, which cancels the plan. 3. After the user says they have paid, call get_subscription to confirm the state is "trialing" or "active" before continuing setup. Do not assume. If get_subscription already reports a pendingCheckout, hand that link back instead of calling this again. The link expires; the answer says when. Works for connections made by signing in (Claude, ChatGPT and other OAuth clients), for the workspace owner only. A connection made with an MCP key is refused; the user subscribes in Postemi instead. Refused when the workspace already has a live subscription: use manage_subscription for plan changes.
    ConnectorOAuth
  • Sets up a monitor: a check Manifold repeats on a schedule, keeping each result so it can report what changed. Urgent changes reach the user as an email alert. Show the monthly cost from preview first, then create it once the user agrees. Give it a description saying why the user wants it, so an agent reading its changes later knows what to do with them. Use when: "monitor this every week", "keep an eye on X", "tell me when Y changes", "check Z every hour", or the user ran the same check by hand before and wants it repeated. Not for: a one-off look, call the tool itself (reddit_search_posts, seo_get_page, seo_get_position, ads_get_advertiser_ads). Reading what a monitor found, use monitoring_get_changes. Returns: Record. monitor (monitor_id, name, description, preset, status, cadence, fields, est_credits_check, est_credits_month, next_check_at), created (false on preview). The first check runs within five minutes and records a starting point; changes are reported from the second check on. Fields by preset: mentions {keywords (up to 10), platforms (reddit, linkedin, instagram, tiktok, youtube; default reddit), communities (Reddit, every new post read in full), pages (1 to 3 per community per check)}, where Instagram searches each keyword as one hashtag ("acme crm" reads #acmecrm), so use a keyword people tag; social_accounts {accounts [{platform (twitter, linkedin, instagram, tiktok, youtube, facebook), account (handle, or URL for facebook and linkedin)}] (1 to 10)}; reviews {items [{source app_store or google_play, app_id} or {source google_maps, place_id or cid} or {source google_shopping, product_id, gid}] (1 to 5), stars, location}; website_changes {pages (1 to 10 URLs), mode (new_items: new links under the page and prices; any_change: new text), words}; ads {brands (1 to 5, a website works best), platforms (facebook, google, linkedin, tiktok)}; google_rankings {site, keywords (1 to 50), location}; ai_visibility {brand, aliases (other names for the brand, up to 5), domain (the brand's site, for citation share), questions (1 to 25; ones that name the brand are counted apart), competitors (up to 9), engines, samples (1 to 3), location, language}. cadence is hourly, daily or weekly; checks repeat from the first one. A bad field is InvalidTarget naming it. Cost: 0 credits to create. Each check charges for the calls it makes at their own prices, shown as est_credits_check and est_credits_month. Monitor checks read live data, never the cache. Example: {"preset": "mentions", "fields": {"keywords": ["acme crm"], "platforms": ["reddit", "linkedin"]}, "description": "Threads asking for a CRM, to answer while they are fresh.", "preview": true}
    ConnectorAPI key
  • Create a Stripe Checkout session for the active organization and return its hosted checkout URL. The user completes the purchase in the browser; nothing is charged by this call itself. Requires an owner API key. plan defaults to developer; an unsupported plan fails with invalid_plan. Use get_billing_info to check the current plan and create_billing_portal to manage an existing subscription.
    ConnectorNo auth
  • Use a published configuration for an event not yet on sale, or remove it (null); its removed seats are blocked. Use when: e.g. "the 12 March show uses the concert setup" while it is in setup. Needs "Manage live events" (publish permission in Designer). Fails if a removed seat is held or booked. Example: {"eventKey": "ev_1350a828b5ff", "expectedRevision": 0, "configuration": {"id": "ec_4f1c2a9e7b3d5f8e0a2c4e6b8d1f3a5c", "version": 2}}
    Connector
    Destructive
    OAuth
  • Computes travel routes between an origin and a destination, optionally through intermediate stops. Returns the distance and duration for each route. **Input Requirements (CRITICAL):** 1. **`origin` and `destination` (objects - MANDATORY):** Each must be provided using exactly one of: * **`address`** (string, e.g., `'Eiffel Tower, Paris'`). Named places, landmarks, and businesses are resolved directly, so do NOT call `search_places` first just to geocode a waypoint. Include any city, region, or country the user mentioned. * **`lat_lng`** (object, `{"latitude": number, "longitude": number}`). * **`place_id`** (string, e.g., `'ChIJOwE_Id1w5EAR4Q27FkL6T_0'`), for example from `search_places`. 2. **`intermediate_waypoints` (array of objects - OPTIONAL):** Up to 10 stops to pass through, in order, between the origin and destination. Same format as `origin`. Not supported with `TRANSIT`. Only include stops the user asked for. 3. **`travel_mode` (enum - OPTIONAL):** `DRIVE` (default), `WALK`, `BICYCLE`, or `TRANSIT`. 4. **Timing (OPTIONAL - set at most ONE):** RFC 3339 timestamps with a UTC offset, e.g., `'2026-09-19T08:00:00-07:00'`. Defaults to departing now. For `TRANSIT`, the time can be up to 7 days in the past or up to 100 days in the future. For other modes, the time can be up to 365 days in the future and must not be in the past. * **`departure_time`:** Use when the user says when they will leave (e.g., "tomorrow at 8am"). * **`arrival_time`:** Use when the user says when they must arrive (e.g., "be there by 9am"). 5. **`routing_preference` (enum - OPTIONAL):** * `ROUTING_PREFERENCE_TRAFFIC_UNAWARE` (default): ignores live traffic, incidents, and closures. Lowest latency. * `ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL`: uses live traffic conditions when available. Not supported for `WALK` or `BICYCLE`. Set this ONLY when the user asks about traffic, congestion, or a traffic-adjusted ETA. It incurs higher cost and latency. 6. **`location_bias` (object - OPTIONAL):** `{"latitude": number, "longitude": number}` used to disambiguate place names in waypoint addresses. If a name is ambiguous (e.g., "Springfield") and the user gave no region, keep the name as given in `address` and set `location_bias` toward the intended area instead of guessing a region. 7. **`compute_alternative_routes` (boolean - OPTIONAL):** Set to `true` only when the user asks for route options or alternatives. Defaults to `false`, which returns only the recommended route. 8. **`include_polyline` (boolean - OPTIONAL):** Set to `true` only when the route geometry (`encoded_polyline`) is needed. Defaults to `false`. **Instructions for Tool Call:** * If the origin or the destination is missing, **you MUST ask the user for clarification** before calling the tool. * For "How far is A from B?" questions, use B as the `origin` and A as the `destination`. **Example Tool Call:** {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"intermediate_waypoints":[{"address":"Louvre Museum"}],"travel_mode":"DRIVE","departure_time":"2026-09-19T08:00:00+02:00"} **Instructions for Response:** * When alternative routes are requested, routes are ordered from most to least recommended. * If `routes` is empty, tell the user no route was found. Do not guess a route. * Only state facts returned by the tool. Do NOT invent turn-by-turn directions, transit lines, stations, platforms, or transfers. * The grounded output must be attributed to the source using each route's `attribution` field when available.
    ConnectorNo auth
  • Manage HTTP webhook callbacks for async tools (T5/T6 batch flagships). Instead of polling every 5s, register a callback URL — Gapup posts the job result to your endpoint the moment it completes. Supported events: job.completed | job.failed | monitoring.alert | quota.threshold. Modes: register (add endpoint), list (view active webhooks), revoke (soft-delete), test (fire a test payload to verify your receiver), history (last 20 fires). Security: every delivery is signed with HMAC-SHA256 on the body — verify the X-Gapup-Signature header against sha256(secret, body).
    ConnectorNo auth
  • Computes travel routes between an origin and a destination, optionally through intermediate stops. Returns the distance and duration for each route. **Input Requirements (CRITICAL):** 1. **`origin` and `destination` (objects - MANDATORY):** Each must be provided using exactly one of: * **`address`** (string, e.g., `'Eiffel Tower, Paris'`). Named places, landmarks, and businesses are resolved directly, so do NOT call `search_places` first just to geocode a waypoint. Include any city, region, or country the user mentioned. * **`lat_lng`** (object, `{"latitude": number, "longitude": number}`). * **`place_id`** (string, e.g., `'ChIJOwE_Id1w5EAR4Q27FkL6T_0'`), for example from `search_places`. 2. **`intermediate_waypoints` (array of objects - OPTIONAL):** Up to 10 stops to pass through, in order, between the origin and destination. Same format as `origin`. Not supported with `TRANSIT`. Only include stops the user asked for. 3. **`travel_mode` (enum - OPTIONAL):** `DRIVE` (default), `WALK`, `BICYCLE`, or `TRANSIT`. 4. **Timing (OPTIONAL - set at most ONE):** RFC 3339 timestamps with a UTC offset, e.g., `'2026-09-19T08:00:00-07:00'`. Defaults to departing now. For `TRANSIT`, the time can be up to 7 days in the past or up to 100 days in the future. For other modes, the time can be up to 365 days in the future and must not be in the past. * **`departure_time`:** Use when the user says when they will leave (e.g., "tomorrow at 8am"). * **`arrival_time`:** Use when the user says when they must arrive (e.g., "be there by 9am"). 5. **`routing_preference` (enum - OPTIONAL):** * `ROUTING_PREFERENCE_TRAFFIC_UNAWARE` (default): ignores live traffic, incidents, and closures. Lowest latency. * `ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL`: uses live traffic conditions when available. Not supported for `WALK` or `BICYCLE`. Set this ONLY when the user asks about traffic, congestion, or a traffic-adjusted ETA. It incurs higher cost and latency. 6. **`location_bias` (object - OPTIONAL):** `{"latitude": number, "longitude": number}` used to disambiguate place names in waypoint addresses. If a name is ambiguous (e.g., "Springfield") and the user gave no region, keep the name as given in `address` and set `location_bias` toward the intended area instead of guessing a region. 7. **`compute_alternative_routes` (boolean - OPTIONAL):** Set to `true` only when the user asks for route options or alternatives. Defaults to `false`, which returns only the recommended route. 8. **`include_polyline` (boolean - OPTIONAL):** Set to `true` only when the route geometry (`encoded_polyline`) is needed. Defaults to `false`. **Instructions for Tool Call:** * If the origin or the destination is missing, **you MUST ask the user for clarification** before calling the tool. * For "How far is A from B?" questions, use B as the `origin` and A as the `destination`. **Example Tool Call:** {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"intermediate_waypoints":[{"address":"Louvre Museum"}],"travel_mode":"DRIVE","departure_time":"2026-09-19T08:00:00+02:00"} **Instructions for Response:** * When alternative routes are requested, routes are ordered from most to least recommended. * If `routes` is empty, tell the user no route was found. Do not guess a route. * Only state facts returned by the tool. Do NOT invent turn-by-turn directions, transit lines, stations, platforms, or transfers. * The grounded output must be attributed to the source using each route's `attribution` field when available.
    ConnectorNo auth