Commit graph

62 commits

Author SHA1 Message Date
dependabot[bot]
d1f7195d7b
chore(deps): bump actions/setup-node from 4 to 6 (#3691)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-29 10:08:01 -04:00
Bill Easton
b1505ba5d7
Run MCP conformance tests in CI (#3628)
🤖 Generated with Claude Code

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 22:19:13 -04:00
Jeremiah Lowin
f4842cd3e6
Fix ty 0.0.14 compatibility and upgrade dependencies (#3027) 2026-01-29 09:10:42 -05:00
Bill Easton
05380f23fc
Move tests to a reusable action and enable nightly checks (#3017) 2026-01-28 15:00:54 -05:00
Jeremiah Lowin
33c371cb37
Add version discovery and calling a certain version for components (#2897) 2026-01-17 08:27:39 -05:00
Jeremiah Lowin
1abd986c80
Revert "Enable parallel tests on Windows (#2715)" (#2726) 2025-12-25 08:54:05 -05:00
Jeremiah Lowin
dab72007a9
Enable parallel tests on Windows (#2715) 2025-12-24 16:45:21 -05:00
Jeremiah Lowin
e821446044
Skip test_multi_client on Windows (#2714) 2025-12-24 16:37:35 -05:00
Jeremiah Lowin
d73f05d7e2
chore: add Python 3.13 to Ubuntu CI tests (#2606) 2025-12-13 12:03:46 -05:00
Jeremiah Lowin
cf67152616
Update test workflow to conditionally run pytest on Windows. Added logic to handle test execution differently for Windows and other OS environments, ensuring compatibility and performance optimization. (#2579) 2025-12-09 09:50:20 -05:00
Chris Guidry
a8bbd745fe Improve rate limit detection for integration tests
When GitHub's API rate limits cause asyncio shutdown issues, the test
times out rather than failing with the underlying 429 error. Updated the
detection logic to check for 429 indicators in the captured output when
a timeout occurs.

Also increased the per-test timeout from 15s to 30s to give remote API
calls more breathing room.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:52:40 -05:00
dependabot[bot]
25166afe98
Bump actions/checkout from 5 to 6 (#2474)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-26 16:50:49 -05:00
Jeremiah Lowin
f8b896490e
Fix Windows test timeout and restore parallel testing (#2383)
OAuth consent tests were timing out on Windows due to SQLite database
locking when OAuthProxy instances used the default DiskStore without
explicit MemoryStore configuration. Added explicit client_storage=MemoryStore()
to three tests in TestConsentPageServerIcon.

Also restored parallel testing on Windows (--numprocesses auto) which
was previously disabled but is now safe with proper test isolation.
2025-11-05 20:25:10 -05:00
Copilot
5499cda9d0
Fix lowest-direct dependency tests to actually test minimum versions (#2295)
* Initial plan

* Pin dev dependencies and use --resolution lowest-direct in pytest commands

Co-authored-by: strawgate <6384545+strawgate@users.noreply.github.com>

* Update uv.lock

* bump ty version

* ty upper bound

* Update uv.lock

* Update ty lock

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: strawgate <6384545+strawgate@users.noreply.github.com>
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2025-11-02 17:30:31 -05:00
Copilot
e74918a544
Add CI test job for lowest-direct dependency resolution (#2261)
* Initial plan

* Add test job for lowest-direct dependency resolution

Co-authored-by: strawgate <6384545+strawgate@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: strawgate <6384545+strawgate@users.noreply.github.com>
2025-10-26 10:16:54 -04:00
Jeremiah Lowin
330eaed11f
OAuth proxy issues its own tokens (#2109)
* OAuth proxy issues its own tokens

Implement token factory pattern where proxy issues FastMCP JWTs
instead of forwarding upstream tokens. Tokens are minimal references
(JTI) that map to encrypted upstream credentials stored server-side.

* Update run-tests.yml

* Update secret generation and docs

* Add upgrade guide
2025-10-17 14:31:53 -04:00
Jeremiah Lowin
d472e30765
Support mounting OAuth-protected servers under path prefixes (#2119)
* Add issuer_url parameter to OAuth providers for mounting scenarios

* Add get_well_known_routes

* Update docs

* Improve docs and tests

* Trigger CI

* Fix conditional test execution for Windows
2025-10-17 11:44:49 -04:00
Jeremiah Lowin
d4837b41c5
Disable parallel test execution on Windows (#2128) 2025-10-17 11:28:42 -04:00
Jeremiah Lowin
4a9f02c87c
Upgrade to MCP 1.17+ with RFC 9728 compliance (#2122)
* Upgrade to MCP 1.17+ with RFC 9728 compliance

Updates FastMCP to require MCP 1.17+ and implements RFC 9728-compliant
OAuth protected resource metadata URL handling.

The key change is that .well-known/oauth-protected-resource endpoints
are now registered at path-aware locations. For example, if an MCP
server is mounted at /mcp, the metadata endpoint is now at
/.well-known/oauth-protected-resource/mcp instead of
/.well-known/oauth-protected-resource.

This ensures proper OAuth discovery for path-based resource servers
and aligns with the MCP SDK's implementation of RFC 9728 §3.1.

Changes include:
- Update minimum MCP version from 1.12.4 to 1.17.0
- Use build_resource_metadata_url() for RFC 9728 compliance
- Configure CI to test with latest package versions (--upgrade)
- Update tests for path-aware metadata URLs
- Add icons field to Tool model (introduced in MCP 1.17)

* Fix RemoteAuthProvider integration tests for RFC 9728

* Fix parameterized test for nested base URL paths
2025-10-17 09:29:23 -04:00
Jeremiah Lowin
c17f96d4e2
Update docs (#2094) 2025-10-14 16:38:21 -07:00
dependabot[bot]
55b60bceba
Bump astral-sh/setup-uv from 6 to 7 (#2080) 2025-10-14 12:29:20 -04:00
Jeremiah Lowin
7c10feaeb1
Expand timeouts (#1954) 2025-09-29 20:03:21 -04:00
nate nowack
04831b75c2
optimize test suite (#1893)
Co-authored-by: Claude <noreply@anthropic.com>
2025-09-22 20:07:04 -04:00
William Easton
84eea7c708
Automatically Create inline Snapshots (#1779)
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2025-09-19 13:35:58 -04:00
Jeremiah Lowin
a3940985c7
Run integration tests with a longer timeout (#1734) 2025-09-03 10:39:57 -04:00
Jeremiah Lowin
6c51dad870
Skip flaky windows test (#1596) 2025-08-23 09:43:01 -04:00
dependabot[bot]
ade9dbdba4
Bump actions/checkout from 4 to 5 (#1533)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 15:54:51 -04:00
Jeremiah Lowin
ec015de3b0
Add OAuth proxy that allows authentication with social IDPs without DCR support (#1434) 2025-08-18 13:39:58 -04:00
Jeremiah Lowin
9b7bbd2801
Update static checks (#1448)
Co-authored-by: nate nowack <thrast36@gmail.com>
2025-08-11 17:35:41 -04:00
William Easton
3be8f5ea93
Add UV Transport (#1270)
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2025-07-28 15:41:36 -04:00
Jeremiah Lowin
30912c69c6 Run integration tests as separate CI job on Ubuntu only
- Add pytest marker for integration tests
- Configure automatic marking for tests/integration_tests/ folder via pytest hook
- Split CI workflow into two jobs: regular tests (all platforms) and integration tests (Ubuntu only)
- Integration tests can now be retried independently if they fail
2025-07-19 15:21:34 -04:00
Jeremiah Lowin
e55c360389
Update github remote server tests with secret (#1112)
* Adding client tests for streamable http against official GitHub Remote MCP server

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update tests/client/test_github_mcp_remote.py

applying review suggestions

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update github server tests and move to integration

* Set GITHUB_TOKEN variable

* Revert "Set GITHUB_TOKEN variable"

This reverts commit a87d6a303a.

---------

Co-authored-by: Didier Durand <didduran@amazon.ch>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Didier Durand <durand.didier@gmail.com>
2025-07-10 10:48:42 -04:00
dependabot[bot]
b9ed56c2e0
Bump astral-sh/setup-uv from 3 to 6
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 3 to 6.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v3...v6)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-08 20:34:38 +00:00
Jeremiah Lowin
d6fdbda0bc remove -n auto 2025-06-04 15:52:11 -04:00
Jeremiah Lowin
d4b3fbe2fa Run distributed tests 2025-06-04 12:22:29 -04:00
zzstoatzz
3d220a7724 more specific 2025-05-20 12:43:31 -05:00
Jeremiah Lowin
69115a57ae run tests on all PRs 2025-05-15 10:01:07 -04:00
Jeremiah Lowin
837d4c407d
Add timeout support to client (#455)
* Add timeouts kwargs

* Add timeout support

* Fix windows handling and docs

* Update client.mdx

* Windows tests

* Update test_sse.py

* Update test_sse.py

* Update test_sse.py

* Update test_sse.py

* Fix windows
2025-05-14 20:50:24 -04:00
Jeremiah Lowin
359becba5f Use locked instead of frozen 2025-05-14 19:44:15 -04:00
Jeremiah Lowin
60d7dd10a2 Update run-tests.yml 2025-05-14 19:42:25 -04:00
Jeremiah Lowin
e172487086 Ensure tests run against correct python version 2025-05-14 19:41:56 -04:00
Jeremiah Lowin
06d0deb31b Reduce verbosity 2025-05-07 23:24:30 -04:00
Jeremiah Lowin
3718ad98ef Add auth support 2025-05-02 15:49:24 -04:00
Jeremiah Lowin
7a9af62199 run tests on forks 2025-04-18 08:46:45 -04:00
Jeremiah Lowin
e2cb07a315 Remove mac os tests 2025-04-13 21:18:38 -04:00
Jeremiah Lowin
6af855bfff Add caching 2025-04-10 19:43:17 -04:00
Jeremiah Lowin
8ffe9df065 update sync command 2025-04-08 21:04:53 -04:00
Jeremiah Lowin
6ab5633803 Update windows tests 2025-04-07 18:25:56 -04:00
Jeremiah Lowin
915f66a425 Fix readline error 2025-04-07 18:20:36 -04:00
Jeremiah Lowin
70fcc6f07b Fix installation 2025-04-07 18:13:23 -04:00