Repository navigation
Releases: nickjlamb/ai-footprint
Releases · nickjlamb/ai-footprint
Release list
v1.0.4
Security
- Rate limiting reads the client address from the position Railway's edge writes it in
X-Forwarded-Forand ignores entries further left, which a caller can set to anything. Forging the header no longer risks getting round the limits on other hosts.PROXY_ENTRIESsets how many proxy-added entries to skip. - The
/tightenrate-limit maps are now capped in size, like the public limiter's. - Runtime dependencies are pinned to exact versions, including
mcp1.30.0, which carries the SDK's published security fixes. Test-only packages have moved out ofrequirements.txt. Dependabot keeps the pins current.
Methodology: 2026-09 · Full changelog: CHANGELOG.md
v1.0.3
Fixed
- Each tool's title is now also set in
annotations.title, where Claude's Connectors Directory looks for it. A test checks every tool has a title and read-only annotations.
Methodology: 2026-09 · Full changelog: CHANGELOG.md
v1.0.2
Changed
- Opening the bare domain in a browser now redirects to the documentation instead of returning Not found. Set
DOCS_URLto change where it points. - The release workflow no longer fails when a release for the tag already exists.
Methodology: 2026-09 · Full changelog: CHANGELOG.md
v1.0.1
Changed
- Hosted endpoint moved to
https://footprint.pharmatools.ai/mcp. The previous Railway address keeps working. - Server instructions and the
get_methodologydescription now describe what the tools return, rather than telling the model how to quote results. - Privacy section added to the README, covering what the hosted server logs and keeps.
Methodology: 2026-09 · Full changelog: CHANGELOG.md
v1.0.0
First public release.
Added
- MCP server over streamable HTTP at
/mcp, with four read-only tools:estimate_ai_footprint: energy and water for chat-style prompts over any number of days, by usage tier and boundary.estimate_session_footprint: an agent or coding session from its token counts, with a 0.3–3× range.compare_water_use: any volume of water in everyday and lifecycle terms, with the boundary caveat.get_methodology: figures, boundaries, sources, limitations, a citation line and why published estimates differ ~100×.
- JSON API mirroring the tools:
/api/footprint,/api/session,/api/compare,/api/methodology, with open CORS. - Hosted endpoint, listed in the official MCP Registry as
io.github.nickjlamb/ai-footprint. - Prompt tightener endpoint (
POST /tighten) and its calculator-page embed. - Per-path CORS and rate limiting: open for the footprint routes, pharmatools.ai-only with daily caps for
/tighten. /healthendpoint, answeringGETandHEADfor uptime monitors.- Test suite pinning outputs to the calculator page (25 prompts a day = 8.5 Wh and 34.8 mL).
- Examples: Python MCP client, JavaScript and
curlclients, captured responses. - Project documentation: contributing guide, security policy, code of conduct, roadmap, citation file, issue and pull request templates.
- CI on Python 3.10 to 3.13 with lint, tests and an end-to-end MCP check. Tagged releases are published automatically from this changelog.
Methodology
2026-09: energy per prompt from 2025 vendor disclosures (0.34 Wh simple, 1 Wh mixed, 3 Wh intensive); water at ~1.0 mL/Wh onsite and ~4.1 mL/Wh comprehensive. Typical text prompt ~0.34 mL onsite, ~1.4 mL comprehensive.
Methodology: 2026-09 · Full changelog: CHANGELOG.md