Commit graph

3,289 commits

Author SHA1 Message Date
Jeremiah Lowin
ad8182eed0 Create http utility 2025-05-31 19:33:50 -04:00
Jeremiah Lowin
2390fb4da6 clean up test inits 2025-05-31 19:32:08 -04:00
Jeremiah Lowin
08828945aa
Merge pull request #643 from jlowin/concurrency-2
Ensure close() cleans up client context appropriately
2025-05-31 18:15:50 -04:00
Jeremiah Lowin
b47d515dac Merge branch 'concurrency-2' of https://github.com/jlowin/fastmcp into concurrency-2 2025-05-31 18:12:18 -04:00
Jeremiah Lowin
fdfa1fe108 Use anyio.event 2025-05-31 18:12:17 -04:00
Jeremiah Lowin
82553482b8
Merge branch 'main' into concurrency-2 2025-05-31 18:10:23 -04:00
Jeremiah Lowin
fae2b5c54f
Merge pull request #635 from Sillocan/main
fix: Support concurrency in FastMcpProxy (and Client)
2025-05-31 18:08:54 -04:00
Jeremiah Lowin
814a6e4419 Add concurrency test 2025-05-31 18:08:43 -04:00
Jeremiah Lowin
10c868274b Ensure close() cleans up clients 2025-05-31 18:03:14 -04:00
William Easton
72e999d4be
Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-31 15:48:43 -05:00
William Easton
cf5d0c9e95
add test for list case and lint 2025-05-31 14:49:35 -05:00
William Easton
b086dd4f32
Add content tests, fix array wrapping single objects 2025-05-31 14:39:54 -05:00
Sillocan
b6c110fa0e
Merge branch 'jlowin:main' into main 2025-05-30 18:48:06 -07:00
Sillocan
90dd0c04f3 fix: Use a background task for managing session state mimicing stdiotransport 2025-05-30 18:47:13 -07:00
Jeremiah Lowin
f21edd5420
Merge pull request #478 from jlowin/oauthclient
Introduce MCP client oauth flow
2025-05-30 21:39:44 -04:00
Jeremiah Lowin
b8e1e8114b Fix issue when client info is written but flow is incomplete 2025-05-30 21:38:17 -04:00
Jeremiah Lowin
1d131a8c96 Create test_oauth.py 2025-05-30 21:17:56 -04:00
Jeremiah Lowin
f779624a74 Add client factory 2025-05-30 21:17:51 -04:00
Jeremiah Lowin
62eea7a20b Clean up 2025-05-30 20:08:42 -04:00
Sillocan
9018049828 test: Demonstrate issue with concurrent proxy tasks 2025-05-30 16:17:06 -07:00
Jeremiah Lowin
334163a4b7 Add basic server primitives 2025-05-30 14:23:34 -04:00
Jeremiah Lowin
1aeb61be5a Update token cache 2025-05-30 13:24:43 -04:00
Jeremiah Lowin
c438987d4e Add callback server 2025-05-30 13:03:01 -04:00
Jeremiah Lowin
67c36b0c11 Require mcp 1.9.2 or greater 2025-05-30 10:44:26 -04:00
Jeremiah Lowin
a842241a54 OAuth client 2025-05-30 10:42:26 -04:00
Jeremiah Lowin
0c8469ea4c Merge branch 'main' into oauthclient 2025-05-29 17:40:26 -04:00
deepak-stratforge
2233b5844b feat(tool): validate and enforce default values
- Added validation to ensure all parameters listed in `exclude_args` exist in the function.
- Ensured parameters in `exclude_args` have default values to avoid runtime errors.
- Added test.
2025-05-29 20:05:18 +05:30
deepak-stratforge
138316715e feat(tool): add support for excluding arguments from tool definition
This introduces an `exclude_args` parameter to omit specified arguments
(such as `state`, `memory`, etc.).

It will exclude the mentioned args from the schema sent to the LLM and still allow them
to be passed when the tool is called.

This doesn't come with the MCP protocol but can be useful in many use cases.
2025-05-29 15:32:46 +05:30
nate nowack
b3d0f5beca
Merge pull request #625 from ksawaray/support-uppercase v2.5.2
Support for uppercase letters at the log level
2025-05-28 22:46:02 -05:00
Kyoji Ogasawara
78610a2791 Support for uppercase letters at the log level
Previously, fastmcp commands using uppercase log levels would fail to execute.

This update adds support for uppercase letters in log level
specifications.

e.g.
fastmcp run --transport streamable-http --host 0.0.0.0 -p 8000 --log-level DEBUG examples/echo.py
2025-05-29 11:27:56 +09:00
Jeremiah Lowin
eecfdc8e66
Merge pull request #624 from jlowin/keep-alive
Add keep_alive param to reuse subprocess
2025-05-28 22:04:28 -04:00
Jeremiah Lowin
137e366584 Merge branch 'keep-alive' of https://github.com/jlowin/fastmcp into keep-alive 2025-05-28 22:02:05 -04:00
Jeremiah Lowin
975f151a9b Reset session after closing 2025-05-28 22:02:03 -04:00
Jeremiah Lowin
441223f98c Update docstrings 2025-05-28 22:01:00 -04:00
Jeremiah Lowin
97bccb9104 Update client.mdx 2025-05-28 21:58:43 -04:00
Jeremiah Lowin
60a7eaf114
Merge branch 'main' into keep-alive 2025-05-28 21:48:33 -04:00
Jeremiah Lowin
9bbd417129 Add keep_alive param to reuse subprocess 2025-05-28 21:46:40 -04:00
Jeremiah Lowin
7b879642ee
Merge pull request #623 from jlowin/infer-typing
Improve type inference from client transport
2025-05-28 21:17:37 -04:00
Jeremiah Lowin
a3450b4b25 Improve type inference 2025-05-28 21:15:47 -04:00
Jeremiah Lowin
432dd4dd2d Improve type inference from client transport 2025-05-28 21:05:34 -04:00
Jeremiah Lowin
f61d1cc115
Merge pull request #620 from jlowin/headers
Ensure behavior-affecting headers are excluded when forwarding proxies/openapi
2025-05-28 18:45:13 -04:00
Jeremiah Lowin
586072f605
Merge branch 'main' into headers 2025-05-28 18:43:52 -04:00
Jeremiah Lowin
ed2b9176cd
Update src/fastmcp/server/dependencies.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-28 18:43:41 -04:00
Jeremiah Lowin
ee059b02b6 Update test_openapi.py 2025-05-28 18:38:16 -04:00
Jeremiah Lowin
d311a2b878 Ensure behavior-affecting headers are excluded 2025-05-28 18:30:33 -04:00
Jeremiah Lowin
c4d941f671
Merge pull request #605 from davenpi/fix-unreachable-mounted-servers
Add graceful error handling for unreachable mounted servers
2025-05-28 16:07:30 -04:00
Jeremiah Lowin
aaad41b577
Merge pull request #615 from jlowin/print-env
Don't print env vars to console when format is wrong
2025-05-28 15:46:37 -04:00
Jeremiah Lowin
2b547309ec Don't print env vars to console when format is wrong 2025-05-28 08:40:22 -04:00
Jeremiah Lowin
7718ad348d
Merge pull request #610 from jlowin/fix-tools-without-descriptions
Fix handling tools without descriptions
2025-05-27 14:30:24 -04:00
Jeremiah Lowin
32f6945336 Update tool.py 2025-05-27 13:04:17 -04:00