• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

informatics-isi-edu / deriva-mcp-core / 23559869742
91%

Build:
DEFAULT BRANCH: main
Ran 25 Mar 2026 07:25PM UTC
Jobs 1
Files 32
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Mar 2026 07:24PM UTC coverage: 71.905% (+0.04%) from 71.864%
23559869742

push

github

mikedarcy
Fix stale derived-token bug in StreamableHTTP transport; harden _is_401 detection

  - server.py: set stateless_http=True in the FastMCP constructor.
    In stateful (default) mode the MCP lowlevel server spawns a single long-lived
    task per session; that task copies the asyncio context at spawn time (T1 creds).
    When the derived token expires and verify_token() exchanges T1->T2, T2 is set
    in the middleware coroutine's context but the long-lived task -- and all
    message-handler child tasks it spawns -- still carry T1. ERMrest then receives
    the expired T1 and returns 401. With stateless_http=True each HTTP request
    spawns a fresh task inside the auth middleware call stack, so every tool
    handler inherits the correct per-request credential.

  - context.py: extend _is_401() to also inspect exc.caused_by. The deriva-py
    datapath API wraps HTTP errors in DataPathException; the underlying HTTPError
    (with .response.status_code) is on caused_by, not on the exception itself, so
    the old single-level check missed it.

8 of 8 new or added lines in 1 file covered. (100.0%)

1487 of 2068 relevant lines covered (71.91%)

0.72 hits per line

Jobs
ID Job ID Ran Files Coverage
1 23559869742.1 25 Mar 2026 07:25PM UTC 32
71.91
GitHub Action Run
Source Files on build 23559869742
  • Tree
  • List 32
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 0f7a139f on github
  • Prev Build on main (#23529639403)
  • Next Build on main (#23571247686)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc