Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Tidegap

NPM · @TIDEGAP/MCP

Runs non-urgent LLM tasks at the cleanest grid hour before a deadline, via Batch APIs when allowed.

Available components

+7 this week 88 Trust /100

Last scanned (7 hours ago)

Scores higher than 92% of npm servers

Category AI and Machine Learning

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 51 of 130 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to tidegap/tidegap). View diagnostics → Pass
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 3 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability61
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 6107 tokens (~508/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management70
  • Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
What we tested

Checks we ran (16)

  • Malware scan
  • Known CVEs
  • Install scripts
  • Dependency health
  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 6 Nov 26 +5
    • Source repository: unverified → pass ▲ security
  • 5 Nov 26 −4
    • Provenance: pass → unverified ▼ security
  • 3 Nov 26 +5
    • CVE-2023-54404 no longer affects this package ▲ security
    • Known CVEs: fail → pass ▲ security
    • Schema quality: 274 → 508 ▼ functional
    • Destructive annotations: pass → 100 functional
    • Package version: 0.19.0 → 0.20.0 functional
  • 2 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 24 Oct 26 −5
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 6 Nov 2026 · Analysed npm/@tidegap/mcp@0.20.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo tidegap/tidegap
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/tidegap/tidegap/.github/workflows/release.yml@refs/tags/v0.20.0
Rekor log index 3657925339
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:416012332155cb702acda8d6330b8ca1e2a322a2be5937a666256840a1c788da2dd327e61e4636a69537298bc7ad03da28ead153334cdf3dd20ed8eca

Background: How many MCP packages publish verified provenance →

Dependencies 130 packages
Packages resolved 130
Deprecated 1
Stale 50
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 12 exposed · ~5,904 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
cancel_all ~175

Cancel every queued and scheduled task in the local queue at once; for a single task use cancel_task. Use when: the user says "cancel everything" or "clear the queue". Do not use to drop one task or to end a repeating series (use cancel_task, with series=true for a series). Behavior: marks each pending task cancelled; running, submitted and finished tasks stay as they are; no network or login. A repeating task skips this occurrence and its next one is queued, so a second call cancels that one too. Returns: "Cancelled N of M task(s)." and one error line per task that could not be cancelled.

NameTypeReqDescription
statusstring–Cancel only tasks in one state: 'queued' (no window picked yet) or 'scheduled' (window picked). Omit to cancel both.

No output schema declared.

No examples provided.

cancel_task ~247

Cancel one queued or scheduled task by task_id; for all pending, use cancel_all. Use when: the user drops one task. Do not use to delay it (use postpone_task) or rerun a failed one (use retry_task). Behavior: marks it cancelled locally (no network) and redacts its prompt. Also cancels running and submitted tasks; a Batch call may still bill. A job or series skips this run; series=true ends it, even from a finished run. Else a finished task or repeat call changes nothing. Returns: "Task <id> status: <status>", terminated_at, and a job or series line when ended. Rejects an unknown task_id.

NameTypeReqDescription
seriesboolean–true also ends the job or series this task is a run of, so no further run is queued; use it for "stop this for good". Defaults to false: skip only this run; a job then plans its next one. No effect o…
task_idstringyesId of the task to cancel, e.g. 't-3f2a…', from the schedule_task reply or the check_queue_status list.

No output schema declared.

No examples provided.

check_queue_status ~200

Show the local task queue and jobs: every task in brief or one in full. Use when: the user asks what is queued or repeats, whether a task finished, or for its result. Do not use to change a task (use cancel_task, postpone_task, update_deadline or retry_task) or for limits (use tidegap_usage). Behavior: no network or login; marks a shown completed or failed task read; never changes a status. Returns: without task_id, status counts, last_tick_at, a line per task and job (guarantee, next run and id, last result); with task_id, its prompt, result, receipt and events. Rejects an unknown task_id.

NameTypeReqDescription
task_idstring–One task's id, e.g. 't-3f2a…', from schedule_task or this tool's summary, to get its full record. Omit for the summary of all tasks.

No output schema declared.

No examples provided.

expedite_task ~185

Run one queued or scheduled task now, skipping its clean window. Use when: the user wants the result now. Do not use for a failed task (use retry_task), to pick a new deadline (use update_deadline), or for a claude-code task (run `tidegap queue run-now <id>`). Behavior: drops its earliest start and makes one provider call at the current grid intensity; needs the task provider's key in the server env (and ANTHROPIC_API_KEY or OPENAI_API_KEY); the receipt records intensitySource=expedited. Returns: status and error on failure. Rejects running, submitted, finished and unknown tasks.

NameTypeReqDescription
task_idstringyesId of the queued or scheduled task to run now, e.g. 't-3f2a…', from the schedule_task reply or the check_queue_status list.

No output schema declared.

No examples provided.

get_grid_forecast ~286

Return the hour-by-hour grid carbon intensity forecast for one region, up to 72 hours ahead. Use when: the user asks how clean the grid is now or later, or wants the raw curve. Do not use to pick a run time for a task (use recommend_window) or to queue work (use schedule_task). Behavior: writes nothing; reads one grid feed, no login; GB is live without a key, other zones need a feed key or get synthetic data (Source: mock). Returns: region, source, generated time, one row per hour (gCO2/kWh and band), and the cleanest and dirtiest hour. Rejects an unknown zone and lists the closest zones.

NameTypeReqDescription
hoursinteger–How many hours ahead to forecast, e.g. 12 to cover "tonight". Defaults to 24; 72 is the most.
regionstringyesGrid zone code, e.g. 'US-CAL-CISO', 'GB' or 'DE'; take it from the user's location or the data center they name. `tidegap region list` prints the supported zones; any zone works with an Electricity M…

No output schema declared.

No examples provided.

postpone_task ~464

Move one queued or scheduled task later; it never runs earlier than planned. Use when: the user says "tonight" or "after my limit resets"; pass exactly one of preset, until or delay_minutes. Do not use to set a new due time (use update_deadline) or to stop it (use cancel_task). Behavior: rewrites this task's earliest start in the local queue and re-picks the cleanest hour after it, but an until time is kept exactly; after_limit_reset reads the Claude limits. Returns: status, not_before, scheduled_for, deadline. Rejects a target at or before the planned start, finished and unknown tasks.

NameTypeReqDescription
delay_minutesinteger–Minutes to add to the planned start, e.g. 90 for "an hour and a half later"; at most 10080 (7 days). Omit when passing preset or until.
presetstring–A named later time, in this machine's local time: '1h' is one hour after the planned start; 'tonight' is 22:00 to 06:00 (after midnight: now to 06:00); 'tomorrow_morning' is 09:00 to 12:00 tomorrow;…
reset_atstring–When the Claude limit resets, ISO-8601 with offset, if the user says it ("my limit resets at 15:00"). Only with preset 'after_limit_reset'; must be in the future and is remembered for later tasks. Om…
task_idstringyesId of the queued or scheduled task to move later, e.g. 't-3f2a…', from the schedule_task reply or the check_queue_status list.
untilstring–The exact time the user picked, ISO-8601 with offset, after the planned start, e.g. '2026-05-12T21:30:00+02:00'. Omit when passing preset or delay_minutes.

No output schema declared.

No examples provided.

recommend_window ~585

Preview the cleanest run window before a task's deadline, without queuing it. Use when: the user asks when a task would run or what waiting saves. Do not use to queue the task (use schedule_task) or for the raw hourly curve (use get_grid_forecast). Behavior: writes nothing; reads the grid forecast; no login or key. Returns: scheduled_for, intensity, band, estimated_carbon_g_co2, estimated_savings_vs_now_pct, batch_eligible, grid_source (mock = synthetic), alternatives, reasoning; routing_preview with 2+ candidates. Rejects a past deadline, an unknown zone, or a carbon_budget_g no window meets.

NameTypeReqDescription
candidatesarray–'provider:model' pairs the user allows, e.g. ['anthropic:claude-haiku-4-5','ollama:llama-3-1-8b']. With 2 or more, the scheduler scores each at the chosen window on carbon, cost and latency (see rout…
carbon_budget_gnumber–Hard cap on the task's estimated grams CO2e, e.g. 5. Windows above it are skipped; if no window before the deadline fits, the task fails instead of running on a dirty grid. Omit for no cap.
deadlinestringyesWhen the task must be finished: ISO-8601 with a UTC offset, in the future. Convert the user's words, e.g. "by 8am tomorrow" in New York becomes '2026-05-13T08:00:00-04:00'.
modelstring–Model name to mention in the reasoning text, e.g. 'claude-sonnet-5'; it does not change the window. Omit to leave it out.
regionstringyesGrid zone the task would run against, e.g. 'US-CAL-CISO' or 'FR'. `tidegap region list` prints the supported zones; any zone works with an Electricity Maps key. Defaults, where the host lets it be om…
route_weightsobject–How to rank candidates, e.g. {"carbon": 1} for carbon only. Weights are relative and normalized; a key left out counts as 0. Omit for the default {carbon: 0.6, cost: 0.3, latency: 0.1}. Ignored unles…

No output schema declared.

No examples provided.

reply_task ~265

Send a follow-up message in a completed task's conversation, as a new queued task. Use when: the user follows up on a finished task's result. Do not use for a failed task (use retry_task) or for an unrelated new task (use schedule_task). Behavior: each call adds one task to the local queue with earlier turns as history, the same provider and model, and its own clean window; no login now; it runs later as one provider call with the original's credentials. Returns: task_id, parent_task_id, status, scheduled_for, deadline. Rejects non-completed and unknown tasks and text over 32000 characters.

NameTypeReqDescription
deadlinestring–When the reply must be finished, ISO-8601 with offset, e.g. '2026-05-12T20:00:00Z'. Defaults to one hour from now.
task_idstringyesId of the completed task to continue, e.g. 't-3f2a…', from the check_queue_status list (status completed).
textstringyesThe user's follow-up, sent as the next turn after the task's earlier reply, e.g. 'Now cut it to 3 bullets'. Up to 32000 characters.

No output schema declared.

No examples provided.

retry_task ~190

Run a failed task again now, with the same prompt, provider and model. Use when: a task failed on a transient error (rate limit, 5xx). Do not use for a task that did not fail (use expedite_task to run it now, update_deadline to move it), or for a claude-code task (run `tidegap queue run-now <id>`). Behavior: one provider call now; needs the task provider's key in the server env (and ANTHROPIC_API_KEY or OPENAI_API_KEY); the new result and signed receipt replace the old ones. Returns: status (completed or failed) and error on failure. Rejects non-failed and unknown tasks.

NameTypeReqDescription
task_idstringyesId of the failed task to run again, e.g. 't-3f2a…', from the check_queue_status list (status failed).

No output schema declared.

No examples provided.

schedule_task ~2,831

Queue an AI task or recurring job to run at the cleanest grid hour before its deadline; long deadlines may use the provider Batch API. Use when: the user defers work ("tonight", "no rush", "before my limit resets") or wants it repeated ("every night", "daily", a cron); map that to deadline or repeat. Do not use for work the user waits on (do it now), to preview only (use recommend_window or dry_run) or for limits (use tidegap_usage). Behavior: adds one task, one run of one runner (dry_run writes nothing), or with repeat a job of such tasks; `tidegap tick` runs it; reads the grid forecast; no login; the result stays in the queue (check_queue_status). Returns: task_id, status, scheduled_for, deadline, provider, model, runs_in, estimated_carbon_g_co2, a readiness line; a job adds job_id and its guarantee. Rejects a past deadline, an unknown zone, disallowed tools and shell commands.

NameTypeReqDescription
after_limit_resetboolean–true when the user says "after my limit resets": the task starts no earlier than the Claude subscription limit reset (the latest reset of an exhausted 5-hour or weekly window, else the fuller window'…
candidatesarray–'provider:model' pairs the user allows, e.g. ['anthropic:claude-haiku-4-5','ollama:llama-3-1-8b']. With 2 or more, the scheduler scores each at the chosen window on carbon, cost and latency (see rout…
carbon_budget_gnumber–Hard cap on the task's estimated grams CO2e, e.g. 5. Windows above it are skipped; if no window before the deadline fits, the task fails instead of running on a dirty grid. Omit for no cap.
cwdstring–Absolute folder a 'claude-code' run works in, e.g. a worktree '/work/app/.worktrees/fix-login'. This session's project folder keeps the run in a copy of this session; another folder runs fresh there,…
daysarray–Weekdays for repeat 'weekly', e.g. ['mon','thu'] for "Mondays and Thursdays". Defaults to today's weekday in time_zone; omit for any other repeat.
deadlinestring–When the task must be finished: ISO-8601 with a UTC offset, in the future. Convert the user's words, e.g. "by 8am tomorrow" in New York becomes '2026-05-13T08:00:00-04:00'. Omit with deadline_kind 'q…
deadline_kindstring–Defaults to 'absolute': the deadline parameter sets the due time. 'quota_reset' sets it to the next weekly subscription-quota reset minus a margin, from ~/.tidegap/config (TIDEGAP_QUOTA_RESET_<LABEL>…
dispatchboolean–Defaults to true: store a task that `tidegap tick` runs. false queues an in-memory placeholder that never calls a model (tests only) and cannot combine with not_before or after_limit_reset. Omit it i…
dry_runboolean–true previews the plan (window, carbon estimate, provider, model, runs_in) and queues nothing, e.g. to confirm with the user first. Defaults to false.
every_hoursinteger–Hours between runs for repeat 'every_n_hours', e.g. 6 for "every 6 hours". Each run comes at most this long after the previous start and not sooner than half of it. Required with 'every_n_hours'; omi…
modelstring–Model id for the chosen provider, e.g. 'claude-sonnet-5' (anthropic) or 'gpt-6-sol' (openai). Omit for the provider default: anthropic 'claude-sonnet-5' (TIDEGAP_DEFAULT_MODEL overrides it), openai '…
not_beforestring–Earliest start, ISO-8601 with offset, e.g. '2026-05-12T18:00:00+02:00' for "not before 6pm" or "after lunch". The task then runs at the cleanest hour between it and the deadline; it must be in the fu…
origin_session_idstring–Claude Code session id of the conversation that queued the task. Omit it: the server finds the current session itself when the Tidegap plugin is installed. Pass it only when the host substitutes it (…
output_pathstring–Absolute file path inside cwd, this session's project folder or the temp folder, e.g. '/tmp/digest.json'; when the task completes, { taskId, result, receipt } is written there as JSON, replacing a re…
permission_profilestring–Tool set of a 'claude-code' run: 'read' is Read, Grep and Glob in its folder; 'web' is WebSearch and WebFetch in a fresh temporary folder (no cwd); 'none' is no tools. Runs never get Bash, Write or E…
promptstringyesThe full instruction the model receives when the window arrives, e.g. 'Summarize today's AI policy news in 5 bullets'. The run may start in a fresh session without this conversation (the reply's runs…
providerstring–Where the task runs. 'claude-code' uses the local Claude Code login on the next `tidegap tick`, with no API key (see tools); 'ollama' is a local model; the others need their API key. Defaults to 'cla…
quota_providerstring–Which configured quota to follow with deadline_kind 'quota_reset', e.g. 'claude' or 'codex'. Omit when exactly one label is configured; rejected with any other deadline_kind.
redact_in_receiptarray–Regex patterns removed from the prompt before it is stored on the receipt, e.g. ['customer-[0-9]+'] for customer ids. Omit for the default, which strips API-key-looking strings.
regionstring–Grid zone to plan against, e.g. 'US-CAL-CISO' or 'FR'; pass it only when the user names a place. `tidegap region list` prints the supported zones; any zone works with an Electricity Maps key. Default…
repeatstring–Defaults to 'none', a one-off. 'daily', 'weekdays', 'weekly' and 'every_n_hours' create a job: each run is a new task with this prompt, started fresh (never a copy of this session) in this project at…
result_pathstring–Absolute path of a new file, e.g. '/tmp/review.md'. When the task completes, Tidegap (never the run) writes the result text there with mode 0600, and the session's notice names it. It must be inside…
route_weightsobject–How to rank candidates, e.g. {"carbon": 1} for carbon only. Weights are relative and normalized; a key left out counts as 0. Omit for the default {carbon: 0.6, cost: 0.3, latency: 0.1}. Ignored unles…
runnerstring–Another name for provider, e.g. 'claude-code'; pass one of the two, or both with the same value. Omit it to follow provider and its default. 'command' is rejected: a shell command task is the user's…
time_zonestring–IANA zone that window and days are read in, e.g. 'Europe/Berlin'; take it from the user's location. Defaults to the host's system zone. Only with a job repeat.
titlestring–Short label for queue lists, e.g. 'Weekly digest'. Defaults to the prompt's first line, cut to 80 characters; API-key-looking strings are redacted.
toolsarray–Claude Code tools for a 'claude-code' run, e.g. ['WebSearch','WebFetch'] for a research task; [] means none. Allowed: WebSearch, WebFetch, Read, Grep, Glob. Omit for the default: Read, Grep and Glob…
wake_sessionboolean–true wakes this Claude Code session when the task finishes, if it sits idle, within 12 hours after its last turn ended: the session starts a turn by itself with the notice. A wake spends a model turn…
windowstring–Local hours a job may run in, 'HH:MM-HH:MM', e.g. '22:00-08:00' for "at night"; '22:00-06:00' crosses midnight. Each run then picks its cleanest hour inside that day's window. Only with repeat 'daily…

No output schema declared.

No examples provided.

tidegap_usage ~230

Report this machine's Claude Code limits: 5-hour and weekly percent used, reset times, and Codex limits if present. Use when: the user asks how much quota is left, or before heavy Claude Code work; at 90% or more, pass after_limit_reset to schedule_task. Do not use for task state (use check_queue_status). Behavior: reads the statusline reading, no API key; TIDEGAP_USAGE_OAUTH=1 calls the usage endpoint with the Claude Code login and caches it in ~/.tidegap/usage.json; never writes tasks or settings. Returns: a summary line and the usage/v1 JSON (windows, reading age, after_limit_reset wait).

NameTypeReqDescription
include_spendboolean–true adds claude_spend: tokens and an API list-price cost estimate for the current 5-hour window from the local Claude Code logs (total, by model, the five latest sessions), plus the tokens of recent…

No output schema declared.

No examples provided.

update_deadline ~246

Change the deadline of one queued or scheduled task and re-pick its cleanest window inside it. Use when: the user moves the due time, earlier or later ("by 6pm instead"). Do not use to delay the start inside the same deadline (use postpone_task), to run now (use expedite_task) or to stop it (use cancel_task). Behavior: rewrites only this task in the local queue, clears its earliest start and quota rule, re-reads the grid forecast; no login. A repeat call only re-picks the hour. Returns: status, scheduled_for, new_deadline. Rejects running, finished or unknown tasks and a past deadline.

NameTypeReqDescription
deadlinestringyesThe new due time, ISO-8601 with offset, earlier or later than the current one and in the future, e.g. '2026-05-12T18:00:00+02:00' for "by 6pm instead".
task_idstringyesId of the queued or scheduled task to move, e.g. 't-3f2a…', from the schedule_task reply or the check_queue_status list.

No output schema declared.

No examples provided.

Install

How do I install the Tidegap MCP server?

Tidegap runs locally as an npm package, launched with npx -y @tidegap/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @tidegap/mcp

# add to Claude Code
claude mcp add tidegap-tidegap -- npx -y @tidegap/mcp
Common questions

What is the Tidegap MCP server?

Tidegap is an MCP server listed in the public MCP registry as io.github.tidegap/tidegap. Runs non-urgent LLM tasks at the cleanest grid hour before a deadline, via Batch APIs when allowed. This page covers its npm package (@tidegap/mcp).

Is the Tidegap MCP server safe to use?

Tidegap scores 88 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 6 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Tidegap MCP server expose?

Tidegap exposes 12 tools: get_grid_forecast, recommend_window, schedule_task, check_queue_status, tidegap_usage, and 7 more. Their descriptions and schemas cost roughly 5,904 tokens of context every time the server is loaded.

Is the Tidegap MCP server still maintained?

Tidegap is still listed as active in the MCP registry. We last reached this channel on 6 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Tidegap MCP server under?

Tidegap declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

What did VerifyMCP test on the Tidegap MCP server?

VerifyMCP ran 16 checks on Tidegap, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to an npm package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.