fast-agent-mcp 0.3.4__py3-none-any.whl → 0.3.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fast-agent-mcp might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fast-agent-mcp
3
- Version: 0.3.4
3
+ Version: 0.3.5
4
4
  Summary: Define, Prompt and Test MCP enabled Agents and Workflows
5
5
  Author-email: Shaun Smith <fastagent@llmindset.co.uk>
6
6
  License: Apache License
@@ -208,7 +208,7 @@ License-File: LICENSE
208
208
  Classifier: License :: OSI Approved :: Apache Software License
209
209
  Classifier: Operating System :: OS Independent
210
210
  Classifier: Programming Language :: Python :: 3
211
- Requires-Python: >=3.13.7
211
+ Requires-Python: >=3.13.5
212
212
  Requires-Dist: a2a-sdk>=0.3.0
213
213
  Requires-Dist: aiohttp>=3.11.13
214
214
  Requires-Dist: anthropic>=0.66.0
@@ -218,6 +218,7 @@ Requires-Dist: deprecated>=1.2.18
218
218
  Requires-Dist: email-validator>=2.2.0
219
219
  Requires-Dist: fastapi>=0.115.6
220
220
  Requires-Dist: google-genai>=1.33.0
221
+ Requires-Dist: keyring>=24.3.1
221
222
  Requires-Dist: mcp==1.14.0
222
223
  Requires-Dist: openai>=1.106.1
223
224
  Requires-Dist: opentelemetry-distro>=0.55b0
@@ -380,6 +381,42 @@ uv run workflow/chaining.py --agent post_writer --message "<url>"
380
381
 
381
382
  Add the `--quiet` switch to disable progress and message display and return only the final response - useful for simple automations.
382
383
 
384
+ ## MCP OAuth (v2.1)
385
+
386
+ For SSE and HTTP MCP servers, OAuth is enabled by default with minimal configuration. A local callback server is used to capture the authorization code, with a paste-URL fallback if the port is unavailable.
387
+
388
+ - Minimal per-server settings in `fastagent.config.yaml`:
389
+
390
+ ```yaml
391
+ mcp:
392
+ servers:
393
+ myserver:
394
+ transport: http # or sse
395
+ url: http://localhost:8001/mcp # or /sse for SSE servers
396
+ auth:
397
+ oauth: true # default: true
398
+ redirect_port: 3030 # default: 3030
399
+ redirect_path: /callback # default: /callback
400
+ # scope: "user" # optional; if omitted, server defaults are used
401
+ ```
402
+
403
+ - The OAuth client uses PKCE and in-memory token storage (no tokens written to disk).
404
+ - Token persistence: by default, tokens are stored securely in your OS keychain via `keyring`. If a keychain is unavailable (e.g., headless container), in-memory storage is used for the session.
405
+ - To force in-memory only per server, set:
406
+
407
+ ```yaml
408
+ mcp:
409
+ servers:
410
+ myserver:
411
+ transport: http
412
+ url: http://localhost:8001/mcp
413
+ auth:
414
+ oauth: true
415
+ persist: memory
416
+ ```
417
+
418
+ - To disable OAuth for a specific server , set `auth.oauth: false` for that server.
419
+
383
420
  ## Workflows
384
421
 
385
422
  ### Chain
@@ -1,5 +1,5 @@
1
1
  fast_agent/__init__.py,sha256=zPSMngBIvbBYyu3jxZp-edxfOBWxCX7YlceMdlqvt9I,3795
2
- fast_agent/config.py,sha256=URvQMiMlkXd3tImXQpiHVX5wrbzPQF6Aks-WoGGPQkM,20176
2
+ fast_agent/config.py,sha256=f_43QrqB83-Q4ltkGUSiHLyiDcyzWAI9bhLx2Ocxn5E,22367
3
3
  fast_agent/constants.py,sha256=d5EMSO2msRkjRFz8MgnnhpMnO3woqKP0EcQ4b_yI60w,235
4
4
  fast_agent/context.py,sha256=nBelOqehSH91z3aG2nYhwETP-biRzz-iuA2fqmKdHP8,7700
5
5
  fast_agent/context_dependent.py,sha256=KU1eydVBoIt4bYOZroqxDgE1AUexDaZi7hurE26QsF4,1584
@@ -21,15 +21,16 @@ fast_agent/agents/workflow/orchestrator_prompts.py,sha256=EXKEI174sshkZyPPEnWbww
21
21
  fast_agent/agents/workflow/parallel_agent.py,sha256=DlJXDURAfx-WBF297tKBLfH93gDFSAPUyEmJr7QNGyw,7476
22
22
  fast_agent/agents/workflow/router_agent.py,sha256=KWLOZMFI4YPn0fqzR001qLFbOe7DYxx-E2c0BgIgO-g,11081
23
23
  fast_agent/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- fast_agent/cli/__main__.py,sha256=VD-UuXvIHJtrDGgVVpsAZGJ_GfVTalSD1Kx9vzixzfM,1129
25
- fast_agent/cli/constants.py,sha256=KawdkaN289nVB02DKPB4IVUJ8-fohIUD0gLfOp0P7B8,551
26
- fast_agent/cli/main.py,sha256=H3brvpmDGE0g4WCJc2-volADCjpPmh7cSjedSfzqfOQ,4242
24
+ fast_agent/cli/__main__.py,sha256=iF9mNX1ja9Ea9T6gzNg9nfYAuei_vRowfHpUPiFbJVI,1260
25
+ fast_agent/cli/constants.py,sha256=flYDsml3_8wVcGg7T1t5mPFT9CC1M-XMjBigXjX6PuI,559
26
+ fast_agent/cli/main.py,sha256=tERbfQjure3kgKYqzZCNDSLyiVZGXCH2coZ8YBwvq64,4398
27
27
  fast_agent/cli/terminal.py,sha256=tDN1fJ91Nc_wZJTNafkQuD7Z7gFscvo1PHh-t7Wl-5s,1066
28
- fast_agent/cli/commands/check_config.py,sha256=nMiOBs-Sc7XqUU6tLReLn1JPXHqjR0Kuz4rCa3mDXp0,22831
28
+ fast_agent/cli/commands/auth.py,sha256=qLCuXt27i3v3KVLRCAsy1iK9KnU05nJjpsQOXDaoSrA,13547
29
+ fast_agent/cli/commands/check_config.py,sha256=23HahZ9ANyi1wtSN9Fp1ACHhpcAhjxIiSIT1bhwHYPQ,25628
29
30
  fast_agent/cli/commands/go.py,sha256=o9fT8161dDtLP2F0gWrndzitlPO7q7zvdeRoqs0PavE,15079
30
- fast_agent/cli/commands/quickstart.py,sha256=hQZYlvktPdDNdaZOZkBgcvi8u0bMW5yFhz4BLBZ251I,21175
31
- fast_agent/cli/commands/server_helpers.py,sha256=BmljUNLIcZdFpffYxEPfJf8rrX3JhTzMA7VONoZLAjM,3650
32
- fast_agent/cli/commands/setup.py,sha256=rCp5wUs5kjbHJqi3Jz9ByCpOSvJ7L4KB0hpcKB8qpCM,6377
31
+ fast_agent/cli/commands/quickstart.py,sha256=CiSen7VxmKDy7apJZ8rAyC33-BIo0zsUt8cBnEtxg0Y,21241
32
+ fast_agent/cli/commands/server_helpers.py,sha256=Nuded8sZb4Rybwoq5LbXXUgwtJZg-OO04xhmPUp6e98,4073
33
+ fast_agent/cli/commands/setup.py,sha256=SEp2omVBNJcfueqqr_ru-ulewepJZ-vjO2mHf7tVqJg,6410
33
34
  fast_agent/cli/commands/url_parser.py,sha256=v9KoprPBEEST5Fo7qXgbW50GC5vMpxFteKqAT6mFkdI,5991
34
35
  fast_agent/core/__init__.py,sha256=n2ly7SBtFko9H2DPVh8cSqfw9chtiUaokxLmiDpaMyU,2233
35
36
  fast_agent/core/agent_app.py,sha256=cdzNwpb--SUNYbhkUX6RolqVnxJ5WSchxw5I4gFrvpk,16836
@@ -104,9 +105,10 @@ fast_agent/mcp/interfaces.py,sha256=xCWONGXe4uQSmmBlMZRD3mflPegTJnz2caVNihEl3ok,
104
105
  fast_agent/mcp/logger_textio.py,sha256=4YLVXlXghdGm1s_qp1VoAWEX_eWufBfD2iD7l08yoak,3170
105
106
  fast_agent/mcp/mcp_agent_client_session.py,sha256=XRCliiYMxbCbkqS2VSrw7tAtnkLIP9HSRpSWaXW02MQ,13663
106
107
  fast_agent/mcp/mcp_aggregator.py,sha256=5J1QBGJGZMW7QlqKCWk77_THEzKwiTzKYsqaO_DrTTw,53180
107
- fast_agent/mcp/mcp_connection_manager.py,sha256=IinYz2wdxPC5s3cAEb1w3kDtJAfUoMVsGUIHDogDxCo,18220
108
+ fast_agent/mcp/mcp_connection_manager.py,sha256=vL5JiqSf21sqz9CLX8Ljp-49lDbsRjuG1Rw3hz70fCI,19397
108
109
  fast_agent/mcp/mcp_content.py,sha256=F9bgJ57EO9sgWg1m-eTNM6xd9js79mHKf4e9O8K8jrI,8829
109
110
  fast_agent/mcp/mime_utils.py,sha256=D6YXNdZJ351BjacSW5o0sVF_hrWuRHD6UyWS4TDlLZI,2915
111
+ fast_agent/mcp/oauth_client.py,sha256=O9U0n_UA-ZNDG0IJSvK4sq_joZCrSIeUzTM1iEN8BlU,16003
110
112
  fast_agent/mcp/prompt.py,sha256=U3jAIjGyGqCpS96zKf0idC7PI4YdFHq-3qjpCsEybxQ,5983
111
113
  fast_agent/mcp/prompt_message_extended.py,sha256=-sw6FITvN0rTeIVWDUslNTPYyFEieToydOAf1-phQLs,4650
112
114
  fast_agent/mcp/prompt_render.py,sha256=AqDaQqM6kqciV9X79S5rsRr3VjcQ_2JOiLaHqpRzsS4,2888
@@ -178,7 +180,7 @@ fast_agent/resources/examples/workflows/short_story.md,sha256=XN9I2kzCcMmke3dE5F
178
180
  fast_agent/resources/examples/workflows/short_story.txt,sha256=X3y_1AyhLFN2AKzCKvucJtDgAFIJfnlbsbGZO5bBWu0,1187
179
181
  fast_agent/resources/setup/.gitignore,sha256=UQKYvhK6samGg5JZg613XiuGUkUAz2qzE1WfFa8J0mQ,245
180
182
  fast_agent/resources/setup/agent.py,sha256=cRQfWFkWJxF1TkWASXf8nuHbIDUgyk5o23vyoroSBOY,407
181
- fast_agent/resources/setup/fastagent.config.yaml,sha256=6X4wywcThmaIyX7yayr0bTAl1AavYqF_T3UVbyyqTPI,1464
183
+ fast_agent/resources/setup/fastagent.config.yaml,sha256=GoXfrLXolMjl9oqam5lodzm40OmZDOkng99BSSP26pY,1446
182
184
  fast_agent/resources/setup/fastagent.secrets.yaml.example,sha256=ht-i2_SpAyeXG2OnG_vOA1n7gRsGIInxp9g5Nio-jpI,1038
183
185
  fast_agent/resources/setup/pyproject.toml.tmpl,sha256=b_dL9TBAzA4sPOkVZd3psMKFT-g_gef0n2NcANojEqs,343
184
186
  fast_agent/tools/elicitation.py,sha256=8FaNvuN__LAM328VSJ5T4Bg3m8auHraqYvIYv6Eh4KU,13464
@@ -196,8 +198,8 @@ fast_agent/ui/mermaid_utils.py,sha256=MpcRyVCPMTwU1XeIxnyFg0fQLjcyXZduWRF8NhEqvX
196
198
  fast_agent/ui/progress_display.py,sha256=hajDob65PttiJ2mPS6FsCtnmTcnyvDWGn-UqQboXqkQ,361
197
199
  fast_agent/ui/rich_progress.py,sha256=jy6VuUOYFkWXdyvnRTSBPAmmNAP6TJDFw_lgbt_YYLo,7548
198
200
  fast_agent/ui/usage_display.py,sha256=ltJpn_sDzo8PDNSXWx-QdEUbQWUnhmajCItNt5mA5rM,7285
199
- fast_agent_mcp-0.3.4.dist-info/METADATA,sha256=g7siNgLm38P10584TCI_XYthtE4ThNMoTfHFxG6VWg0,30447
200
- fast_agent_mcp-0.3.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
201
- fast_agent_mcp-0.3.4.dist-info/entry_points.txt,sha256=i6Ujja9J-hRxttOKqTYdbYP_tyaS4gLHg53vupoCSsg,199
202
- fast_agent_mcp-0.3.4.dist-info/licenses/LICENSE,sha256=Gx1L3axA4PnuK4FxsbX87jQ1opoOkSFfHHSytW6wLUU,10935
203
- fast_agent_mcp-0.3.4.dist-info/RECORD,,
201
+ fast_agent_mcp-0.3.5.dist-info/METADATA,sha256=DuTTbjbnDeBMTx7zweiM7QU1T0kfdZ_Jqpf7E99Hx4k,31696
202
+ fast_agent_mcp-0.3.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
203
+ fast_agent_mcp-0.3.5.dist-info/entry_points.txt,sha256=i6Ujja9J-hRxttOKqTYdbYP_tyaS4gLHg53vupoCSsg,199
204
+ fast_agent_mcp-0.3.5.dist-info/licenses/LICENSE,sha256=Gx1L3axA4PnuK4FxsbX87jQ1opoOkSFfHHSytW6wLUU,10935
205
+ fast_agent_mcp-0.3.5.dist-info/RECORD,,