Context7
Up-to-date docs for AI agents
Beschreibung vom Entwickler (englisches Original)
Deterministic batch tools so LLM agents stop guessing dates and math.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"gnomon": {
"command": "uvx",
"args": [
"gnomon-mcp"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add gnomon -- uvx gnomon-mcpIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"gnomon": {
"command": "uvx",
"args": [
"gnomon-mcp"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"gnomon": {
"type": "stdio",
"command": "uvx",
"args": [
"gnomon-mcp"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto lihtness bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.2) kam vor 6 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Context7, Codebase Memory, Exa
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
The pointer on a sundial that turns shadow into time.
A small MCP server for the boring-but-essential utilities every model needs: dates, calendars, arithmetic, unit conversion. Use it so your assistant stops "next-token guessing" math and date math.
LLMs are bad at arithmetic and date math by default. They produce plausible answers that are often wrong by a small amount — exactly the kind of mistake that's hard to notice in a long response. gnomon-mcp exposes deterministic Python implementations through MCP so your model can compute instead of guess.
Anywhere the next plausible token is not the right answer. Concretely:
calc.now for a snapshot; calendar with until/since/diff for elapsed time; parse for natural-language dates ("next thursday").calendar with add / business_days.calc_convert. Never eyeball "kg → lb" or "°C → °F".calendar, calc) take a list and return a list in order. One call, N results.The rule of thumb: if you'd ask a colleague to "just double-check that number," call gnomon instead.
Time and math already have several MCP servers — the official Time reference (timezone-only), mcp-time and mcp-datetime (date formatting / timezone), calculator-server (math + units, no dates), and bundles like agent-utils-mcp (regex / hashing / JWT). gnomon's lane is narrower:
calendar(ops) and calc(expressions) take lists; one tool call covers a whole table column instead of N calls.is_weekend, … — instead of just {iso, tz}."next thursday", "in 3 hours") without a separate NLP server.If you only need timezone conversion, the official Time server is enough. If you want a broad utility bundle (regex, hashing, encoding, JWT), agent-utils-mcp is a better fit. gnomon is for the boring date-arithmetic-and-arithmetic core, batched.
Two tools:
`now(tz?)` returns:
{
"iso": "2026-05-25T14:30:45+00:00", "date": "2026-05-25", "time": "14:30:45", "unix": 1779345045, "tz": "UTC", "year": 2026, "month": 5, "month_name": "May", "day": 25, "weekday": "Monday", "weekday_num": 0, # 0=Monday "day_of_year": 145, "week_of_year": 22, # ISO week "quarter": 2, "fiscal_year_us_gov": 2026, # FY starts Oct 1 "hour": 14, "minute": 30, "second": 45, "is_weekend": False, }
`calendar(ops)` operations:
| Op | Params | Returns | |||
|---|---|---|---|---|---|
diff | start, end, unit | end - start — time elapsed between two known dates | |||
until | target, unit, tz? | target - now — time left to a future point (negative if past) | |||
since | source, unit, tz? | now - source — time elapsed since a past point (negative if future) | |||
add | date, n, unit | ISO of date + n units (`seconds\ | ...\ | weeks, plus months\ | years` calendar-aware) |
weekday | date | "Monday".."Sunday" | |||
business_days | start, end | count of Mon-Fri days (start inclusive, end exclusive) | |||
parse | natural, tz? | ISO from natural language ("next thursday", "in 3 hours") | |||
format | date, fmt | strftime-formatted string |
Units for diff/until/since: seconds, minutes, hours, days, weeks.
Example — compute several things in one call:
calendar([
{"op": "until", "target": "2026-12-31", "unit": "days"}, # days left in year {"op": "since", "source": "2026-01-01", "unit": "days"}, # days elapsed in year {"op": "diff", "start": "2026-01-01", "end": "2026-12-31", "unit": "days"}, {"op": "weekday", "date": "2026-05-25"}, # "Monday" {"op": "add", "date": "2026-05-25", "n": 1, "unit": "months"}, {"op": "parse", "natural": "next thursday", "tz": "America/Los_Angeles"}, ])
| Tool | Purpose |
|---|---|
calc(expressions) | Evaluate a list of Python expressions and return a list of results. Math (sqrt, sin, log, pi, e, ...), stats (mean, median, stdev, variance), and useful builtins (abs, round, min, max, sum, range, sorted, ...) are pre-loaded. Batch in / batch out, order preserved. |
calc_convert(value, from_unit, to_unit) | Unit conversion via Pint (meter → foot, kg → lb, degC → degF, etc.). |
Examples:
calc(["2 + 3 * 4"]) # [14]
calc(["sqrt(16)", "sin(pi/2)"]) # [4.0, 1.0] calc(["mean([1, 2, 3, 4])"]) # [2.5] calc(["sum(range(101))"]) # [5050] calc(["(25 / 100) * 100"]) # [25.0]
The same logic — *if the model is likely to bluff it, expose a deterministic version* — points at several more primitives worth building. None of these are implemented yet; they are candidates, listed roughly in order of bang-for-buck:
count(text, unit) for chars / words / lines / sentences / LLM tokens. Agents constantly miscount "how long is this" and "will this fit in the context window."regex_find(pattern, text) and regex_sub(pattern, repl, text). Models hallucinate which substrings match a regex; a real engine ends the argument.jq(path, json) / jsonpath(path, json). Reading values out of a nested blob by path, without typos.hash(text, algo) (sha256, md5, blake2), encode(text, scheme) / decode(text, scheme) (base64, hex, url, jwt-payload). All things models confidently invent wrong.money(expr) evaluated under Python's Decimal with explicit rounding. calc is float-based and quietly unsafe for currency.calendar.business_days with a country (or calendar) parameter so US/UK/IN holidays are excluded. The current implementation only knows weekends.cron_describe("0 9 * * 1-5") → human English; cron_next(expr, n) → next N firing times. Models routinely misread cron fields.count_tokens(text, model) via tiktoken / Anthropic tokenizer. Lets an agent budget its own prompts and outputs instead of guessing.If you want one of these, open an issue (or a PR — each is a small self-contained module that fits the existing tools/ layout).
Recommended: no install — run on demand via uv:
uvx gnomon-mcp # serves stdio MCP, ready for any client
uvx gnomon-mcp --demo # call every tool once and print the results (no MCP client needed)
Or install globally:
pip install gnomon-mcp
All recipes assume uvx gnomon-mcp. If you prefer a pinned install, swap the command for gnomon-mcp (with no uvx).
claude mcp add gnomon -- uvx gnomon-mcp
Or edit ~/.claude.json / a project .mcp.json:
{
"mcpServers": { "gnomon": { "command": "uvx", "args": ["gnomon-mcp"] } } }
claude_desktop_config.json:
{
"mcpServers": { "gnomon": { "command": "uvx", "args": ["gnomon-mcp"] } } }
~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": { "gnomon": { "command": "uvx", "args": ["gnomon-mcp"] } } }
~/.continue/config.yaml:
mcpServers:
Spawn uvx gnomon-mcp as a subprocess and speak MCP over stdin/stdout. That is the entire integration.
For team-shared instances or agents that can't spawn a local subprocess:
uvx gnomon-mcp --transport streamable-http --host 0.0.0.0 --port 8000
Then point your MCP client at http:// :8000/mcp (or /sse for the SSE transport).
The MCP tool descriptions are intentionally terse to keep persistent context cost minimal (~150 tokens for all four tools). The richer "when to reach for gnomon" guidance lives in a Claude Code skill that loads on demand.
The plugin wires both the MCP server *and* the skill in one shot. Inside Claude Code:
/plugin marketplace add lihtness/gnomon-mcp
/plugin install gnomon@gnomon-mcp
That registers gnomon as an MCP server (auto-starts via uvx) and installs the on-demand skill. Skill body loads only when the task triggers it — persistent context stays ~150 tokens for the four tool descriptions plus ~40 tokens for the skill's name + summary.
If you've already wired the MCP server with claude mcp add gnomon -- uvx gnomon-mcp and only want the skill:
mkdir -p ~/.claude/skills/gnomon
curl -fsSL https://raw.githubusercontent.com/lihtness/gnomon-mcp/main/skills/gnomon/SKILL.md \ -o ~/.claude/skills/gnomon/SKILL.md
For agents without skill support, paste this short version into your system prompt or CLAUDE.md:
You have gnomon: deterministic tools for dates and math. Use them instead
of guessing.
now — current moment (your training cutoff isn't today).calendar(ops) — batch date math: diff/until/since/add/weekday/ business_days/parse (natural language)/format.calc(expressions) — batch Python eval; math + statistics + common builtins pre-loaded.calc_convert(value, from, to) — unit conversion via Pint.Both batch tools take a list and return a list. Prefer one batched call over many small ones.
git clone https://github.com/lihtness/gnomon-mcp
cd gnomon-mcp pip install -e ".[dev]" pytest
MIT