{"name":"com.gumballtools/due-date","slug":"gumballtools-due-date","title":"Due Date","description":"Estimate a due date from LMP, conception, or ultrasound, with ACOG redating rules.","url":"https://mcp.market/server/gumballtools-due-date","rating":null,"grade":"C","score":67,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T20:25:35.735Z","last_ok_at":"2026-09-20T20:25:35.735Z","latency_ms":855},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/bwalvoord/gumball","website":"https://due-date.gumballtools.com","version":"0.1.0","remotes":[{"type":"streamable-http","url":"https://due-date.gumballtools.com/api/mcp"}],"packages":[],"tools":[{"name":"due_date","description":"Estimate a due date and gestational age from a last menstrual period, a known conception date, an IVF transfer date, or an ultrasound measurement.\n\nUse this for any pregnancy-dating question rather than doing the arithmetic. Three reasons, and they are all things models get wrong:\n\n1. THE OFF-BY-TWO-WEEKS ERROR. Gestational age is counted from the first day of the LAST MENSTRUAL PERIOD, not from conception. At \"6 weeks pregnant\", conception was about 4 weeks ago. Weeks 1 and 2 precede conception entirely. This is restated wrongly constantly, and a two-week error in dating is a large error.\n2. CYCLE LENGTH. Naegele's rule (LMP + 280 days) silently assumes a 28-day cycle with ovulation on day 14. For a 35-day cycle the unadjusted answer is a week out. This applies the adjustment; most calculators do not.\n3. THE ACOG REDATING TABLE. Whether an ultrasound should REPLACE a period-based estimate depends on the discrepancy AND on how far along the scan was: more than 5 days up to 8w6d, 7 days to 15w6d, 10 days to 21w6d, 14 days to 27w6d, 21 days thereafter. Nobody recalls that table correctly from memory. Do not guess at it.\n\nInput: `method` is one of lmp | conception | ivf-day3 | ivf-day5 | ultrasound. `date` is the date that method is based on — the first day of the last period, the conception date, the transfer date, or the scan date — as YYYY-MM-DD. Free-form dates are REFUSED rather than guessed, because \"03/04/2025\" is two different dates a month apart depending on the reader. For `lmp`, pass `cycleLength` if it is known and is not 28. For `ultrasound`, pass `scanWeeks` and `scanDays` — the gestational age the scan reported — and pass `lmp` as well if it is known, which is what triggers the redating check. `asOf` sets the reference date for \"how far along\"; it defaults to today.\n\nReturns: the estimated due date, gestational age in clinical weeks-plus-days notation, the estimated conception date, days remaining, trimester, dated milestones including the anatomy-scan window and each ACOG term boundary, the full redating comparison when both an LMP and a scan were given, a list of warnings, and a `disclaimer` field.\n\nTwo things to carry through to the user rather than strip. First, a due date is a reference point and NOT a prediction — most births are not on it, and the term windows are the more useful output. Second, THIS IS NOT MEDICAL ADVICE; the response says so in its payload, not just on the page. Report the warnings. They are the honest part of the answer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"method":{"type":"string","enum":["lmp","conception","ivf-day3","ivf-day5","ultrasound"],"description":"How the pregnancy is being dated. Use `lmp` unless the user has given you a conception date, a transfer date, or a scan measurement — `lmp` is what people usually know."},"date":{"type":"string","description":"YYYY-MM-DD. The date the method is based on: the FIRST DAY of the last menstrual period, the conception date, the IVF transfer date, or the date of the scan. Free-form dates are REFUSED, not guessed."},"cycleLength":{"description":"Cycle length in days, 20-45, default 28. Only affects `lmp`. Worth asking the user for: Naegele's rule assumes 28 days, and a 35-day cycle moves the estimate a week later.","type":"number"},"scanWeeks":{"description":"For `ultrasound`: the WEEKS part of the gestational age the scan reported.","type":"number"},"scanDays":{"description":"For `ultrasound`: the DAYS part, 0-6. Scan reports use a \"12w3d\" format.","type":"number"},"lmp":{"description":"For `ultrasound`: the last menstrual period, YYYY-MM-DD. Supplying it is what runs the ACOG Committee Opinion 700 redating check — without it the two estimates cannot be compared and the tool says so.","type":"string"},"asOf":{"description":"YYYY-MM-DD reference date for \"how far along\", default today. Set it when the user is asking about a date other than now.","type":"string"}},"required":["method","date"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":67,"grade":"C","scanned_at":"2026-09-20T11:37:13.624Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T11:37:13.576Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1370ms"]},"poisoning":{"score":13,"max":15,"notes":["1 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"poison.long-description","severity":"low","component":"poisoning","title":"Unusually long tool description (over 2,000 characters)","evidence":"tool due_date: …Estimate a due date and gestational age from a last menstrual period, a known conception date, an IVF transfer date, or an ultrasound measurement. Use this for any pregnancy-dating question rather than doing the arithmetic. Three reasons, and they are all things models get wrong: 1. THE OFF-BY-TWO-WEEKS ERROR. Gestational age is counted from the first day of the LAST MENSTRUAL PERIOD, not from conception. At \"6 weeks pregnant\", conception was about 4 weeks ago. Weeks 1 and 2 precede conception entirely. This is restated wrongly constantly, and a two-week error in dating is a large error. 2. CYCLE LENGTH. Naegele's rule (LMP + 280 days) silently assumes a 28-day cycle with ovulation on day 14. For a 35-day cycle the unadjusted answer is a week out. This applies the adjustment; most calculators do not. 3. THE ACOG REDATING TABLE. Whether an ultrasound should REPLACE a period-based estimate depends on the discrepancy AND on how far along the scan was: more than 5 days up to 8w6d, 7 days to 15w6d, 10 days to 21w6d, 14 days to 27w6d, 21 days thereafter. Nobody recalls that table correctly from memory. Do not guess at it. Input: `method` is one of lmp | conception | ivf-day3 | ivf-day5 | ultrasound. `date` is the date that method is based on — the first day of the last period, the conception date, the transfer date, or the scan date — as YYYY-MM-DD. Free-form dates are REFUSED rather than guessed, because \"03/04/2025\" is two different dates a month apart depending on the reader. For `lmp`, pass `cycleLength` if it is known and is not 28. For `ultrasound`, pass `scanWeeks` and `scanDays` — the gestational age the scan reported — and pass `lmp` as well if it is known, which is what triggers the redating check. `asOf` sets the reference date for \"how far along\"; it defaults to today. Returns: the estimated due date, gestational age in clinical weeks-plus-days notation, the estimated conception date, days remaining, trimester, dated milestones including the anatomy-scan window and each ACOG term boundary, the full redating comparison when both an LMP and a scan were given, a list of warnings, and a `disclaimer` field. Two things to carry through to the user rather than strip. First, a due date is a reference point and NOT a prediction — most births are not on it, and the term windows are the more useful output. Second, THIS IS NOT MEDICAL ADVICE; the response says so in its payload, not just on the page. Report the warnings. They are the honest part of the answer.…"}],"inputs":{"probes":[{"url":"https://due-date.gumballtools.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":1370,"serverInfo":{"name":"due-date","version":"0.1.0"}}],"packages":[],"repo":{"found":false,"owner":"bwalvoord","repo":"gumball","error":"repo not found"},"icon":{"url":null,"source":"none"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}