Skip to main content
Glama

Count a federal period in days

federal_count_days
Read-only

Count a period stated in days from a date under FRCP 6(a) or FRAP 26(a): leave out the trigger day, count every day, and if the last day is a weekend or legal holiday roll to the next open day (or, for a period counted backward before an event, to the preceding one). Optionally adds 3 days under FRCP 6(d) or FRAP 26(c) after the roll, for a period that runs after being served. Returns the due date under the prevailing reading, and the earliest and latest dates when observed or closure days make the readings differ. Use this for a period no specific rule row covers, such as one set by a court order. With court_open_days, counts only days a district court is open instead, for a local rule that states its period that way.

Input Schema

NameRequiredDescriptionDefault
dateYesThe date of the event the period counts from. That day itself is not counted.
daysYesHow many days: calendar days, or with court_open_days only days the court is open. Negative counts backward, for a period measured before an event. Not zero.
regimeNofrcp (default) counts under FRCP 6(a), for the district court; frap counts under FRAP 26(a), for an appeal.
districtNoOptional. The CM/ECF id of the district court, such as casd, cacd, nysd or dcd. Adds the notes for that district and the Ninth Circuit notes for California districts. Required with court_open_days.
frap_deliveryNoFRAP only, and only when the period runs after being served: how the paper was delivered. "other" adds 3 days under FRAP 26(c). served-electronically = Served electronically: adds nothing; delivered-on-proof-date = Delivered on the date stated in the proof of service: adds nothing; other = Any other service: adds 3 days (FRAP 26(c)).
service_methodNoFRCP only, and only when the period runs after being served: how the paper was served under Rule 5(b)(2). Mail, leaving it with the clerk and other consented means add 3 days under Rule 6(d); the rest add nothing. 5b2C-mail = Mail (Rule 5(b)(2)(C)); 5b2D-clerk = Leaving it with the clerk (Rule 5(b)(2)(D)); 5b2F-consented-other = Other means you consented to in writing (Rule 5(b)(2)(F)); 5b2E-electronic = The court's electronic-filing system or other consented electronic means (Rule 5(b)(2)(E)): adds nothing; 5b2A-handing = Handing it to the person (Rule 5(b)(2)(A)): adds nothing; 5b2B-leaving = Leaving it at the office or home (Rule 5(b)(2)(B)): adds nothing.
court_open_daysNoOptional, FRCP only, and only with a district whose local rules this site applies (federal_local_deadline accepts it): true counts only days that court is open, skipping weekends, legal holidays and the days its posted schedule closes the court. The last day counted is a day the court is open, so it is not rolled. Not with service_method.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint; the description carries real behavioral weight on top of that, spelling out the counting method (exclude trigger day, count every day, roll forward or backward off weekends/holidays), the conditional 3-day service addition, and what is returned including the earliest/latest spread.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense paragraph, front-loaded with the core counting rule and its exceptions in priority order. A few clauses restate schema-level details (district ids, court_open_days mechanics), which is the main thing keeping it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with no output schema, the description covers return values (due date plus earliest/latest when readings diverge) and the three conditional regimes. It is slightly thin on the unexplained term 'prevailing reading' and on failure behavior for invalid or missing districts.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds genuine semantics the schema leaves implicit — that the +3 days are applied 'after the roll,' that the district parameter drives note selection, and that court_open_days suppresses both rolling and service_method.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Count a period stated in days from a date') and pins the legal regime it implements (FRCP 6(a) / FRAP 26(a)). The closing sentence distinguishes it from the rule-table tools by scoping it to 'a period no specific rule row covers, such as one set by a court order.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear usage context: use it for periods without a specific rule row (e.g., court orders), and switch to the court_open_days mode for local rules that count only open days. It stops short of naming federal_deadline or federal_local_deadline explicitly as the alternatives to prefer when a rule row does exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources