fast-agent-mcp 0.3.11__tar.gz → 0.3.13__tar.gz
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.
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/PKG-INFO +18 -9
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/README.md +13 -4
- fast_agent_mcp-0.3.13/examples/new-api/fastagent.config.yaml +8 -0
- fast_agent_mcp-0.3.13/examples/new-api/simple_mcp.py +47 -0
- fast_agent_mcp-0.3.13/examples/tool-use-agent/agent.py +33 -0
- fast_agent_mcp-0.3.13/examples/tool-use-agent/fastagent.config.yaml +7 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/hatch_build.py +10 -10
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/pyproject.toml +5 -5
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/llm_agent.py +1 -1
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/llm_decorator.py +7 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/tool_agent.py +2 -2
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/commands/quickstart.py +142 -129
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/direct_decorators.py +18 -26
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/fastagent.py +2 -1
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/interfaces.py +4 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/fastagent_llm.py +17 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/model_database.py +2 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/model_factory.py +4 -1
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/google/google_converter.py +10 -3
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/mcp_agent_client_session.py +13 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/mcp_connection_manager.py +58 -15
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompts/prompt_load.py +2 -3
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/console_display.py +52 -2
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/enhanced_prompt.py +47 -16
- fast_agent_mcp-0.3.13/src/fast_agent/ui/history_display.py +555 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/interactive_prompt.py +44 -12
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/mcp_display.py +54 -14
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/notification_tracker.py +62 -23
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/rich_progress.py +1 -1
- fast_agent_mcp-0.3.11/examples/new-api/simple_mcp.py +0 -27
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/.gitignore +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/LICENSE +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/a2a/agent_executor.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/a2a/server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/azure-openai/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/bedrock/fast-agent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/custom-agents/agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/custom-agents/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/data-analysis/analysis-campaign.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/data-analysis/analysis.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/data-analysis/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/fastapi/fastapi-advanced.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/fastapi/fastapi-simple.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/fastapi/pyproject.toml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/fastapi/readme.md +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/elicitations/elicitation_account_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/elicitations/elicitation_forms_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/elicitations/elicitation_game_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/elicitations/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/elicitations/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/elicitations/forms_demo.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/elicitations/game_character.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/elicitations/game_character_handler.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/elicitations/tool_call.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/mcp-filtering/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/mcp-filtering/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/mcp-filtering/mcp_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/mcp-filtering/test_mcp_filtering.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/state-transfer/agent_one.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/state-transfer/agent_two.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/vision-examples/cat.png +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/vision-examples/example1.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/vision-examples/example2.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/vision-examples/example3.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/mcp/vision-examples/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/new-api/display_check.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/new-api/simple_llm.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/new-api/simple_llm_advanced.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/openapi/agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/openapi/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/openapi/openapi_mcp_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/openapi/petstore.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/openapi/pyproject.toml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/openapi/run-as-server.sh +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/otel/agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/otel/agent2.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/otel/docker-compose.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/otel/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/researcher/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/researcher/researcher-eval.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/researcher/researcher-imp.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/researcher/researcher.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/setup/.gitignore +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/setup/agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/setup/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/setup/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/setup/pyproject.toml.tmpl +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/.env.sample +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/Makefile +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/README.md +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/demo_images/clam.jpg +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/demo_images/crab.png +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/demo_images/shrimp.png +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/docker-compose.yml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/image_demo.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/mcp_server/Dockerfile +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/mcp_server/entrypoint.sh +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/mcp_server/mcp_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/mcp_server/pyproject.toml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/simple_agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/tensorzero_config/system_schema.json +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/tensorzero_config/system_template.minijinja +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/tensorzero/tensorzero_config/tensorzero.toml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/workflows/chaining.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/workflows/evaluator.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/workflows/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/workflows/graded_report.md +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/workflows/human_input.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/workflows/orchestrator.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/workflows/parallel.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/workflows/router.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/workflows/short_story.md +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/examples/workflows/short_story.txt +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/agent_types.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/mcp_agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/workflow/chain_agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/workflow/evaluator_optimizer.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/workflow/iterative_planner.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/workflow/orchestrator_models.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/workflow/orchestrator_prompts.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/workflow/parallel_agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/agents/workflow/router_agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/__main__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/commands/auth.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/commands/check_config.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/commands/go.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/commands/server_helpers.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/commands/setup.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/commands/url_parser.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/constants.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/main.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/cli/terminal.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/config.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/constants.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/context.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/context_dependent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/agent_app.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/core_app.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/direct_factory.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/error_handling.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/exceptions.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/executor/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/executor/executor.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/executor/task_registry.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/executor/workflow_signal.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/logging/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/logging/events.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/logging/json_serializer.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/logging/listeners.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/logging/logger.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/logging/transport.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/prompt.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/core/validation.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/event_progress.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/history/history_exporter.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/human_input/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/human_input/elicitation_handler.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/human_input/elicitation_state.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/human_input/form_fields.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/human_input/simple_form.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/human_input/types.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/internal/passthrough.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/internal/playback.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/internal/silent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/internal/slow.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/memory.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/model_info.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/prompt_utils.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/anthropic/anthropic_utils.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/anthropic/llm_anthropic.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/anthropic/multipart_converter_anthropic.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/bedrock/bedrock_utils.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/bedrock/llm_bedrock.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/google/llm_google_native.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/llm_aliyun.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/llm_azure.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/llm_deepseek.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/llm_generic.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/llm_google_oai.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/llm_groq.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/llm_openai.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/llm_openrouter.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/llm_tensorzero_openai.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/llm_xai.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/multipart_converter_openai.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/openai_multipart.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider/openai/openai_utils.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider_key_manager.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/provider_types.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/request_params.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/sampling_converter.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/llm/usage_tracking.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/common.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/elicitation_factory.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/elicitation_handlers.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/gen_client.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/helpers/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/helpers/content_helpers.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/helpers/server_config_helpers.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/hf_auth.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/interfaces.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/logger_textio.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/mcp_aggregator.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/mcp_content.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/mime_utils.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/oauth_client.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompt.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompt_message_extended.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompt_render.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompt_serialization.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompts/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompts/__main__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompts/prompt_constants.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompts/prompt_helpers.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompts/prompt_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/prompts/prompt_template.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/resource_utils.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/sampling.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/server/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/server/agent_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/stdio_tracking_simple.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/streamable_http_tracking.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/transport_tracking.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/ui_agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp/ui_mixin.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/mcp_server_registry.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/py.typed +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/data-analysis/analysis-campaign.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/data-analysis/analysis.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/data-analysis/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/elicitations/elicitation_account_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/elicitations/elicitation_forms_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/elicitations/elicitation_game_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/elicitations/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/elicitations/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/elicitations/forms_demo.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/elicitations/game_character.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/elicitations/game_character_handler.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/elicitations/tool_call.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/state-transfer/agent_one.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/state-transfer/agent_two.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/researcher/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/researcher/researcher-eval.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/researcher/researcher-imp.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/researcher/researcher.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/.env.sample +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/Makefile +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/README.md +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/demo_images/clam.jpg +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/demo_images/crab.png +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/demo_images/shrimp.png +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/docker-compose.yml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/image_demo.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/mcp_server/.python-version +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/mcp_server/Dockerfile +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/mcp_server/entrypoint.sh +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/mcp_server/mcp_server.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/mcp_server/pyproject.toml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/simple_agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/tensorzero_config/system_schema.json +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/tensorzero_config/system_template.minijinja +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/tensorzero/tensorzero_config/tensorzero.toml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/workflows/chaining.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/workflows/evaluator.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/workflows/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/workflows/graded_report.md +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/workflows/human_input.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/workflows/orchestrator.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/workflows/parallel.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/workflows/router.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/workflows/short_story.md +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/examples/workflows/short_story.txt +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/setup/.gitignore +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/setup/agent.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/setup/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/setup/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/resources/setup/pyproject.toml.tmpl +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/tools/elicitation.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/types/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/types/llm_stop_reason.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/__init__.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/console.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/elicitation_form.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/elicitation_style.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/mcp_ui_utils.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/mermaid_utils.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/progress_display.py +0 -0
- {fast_agent_mcp-0.3.11 → fast_agent_mcp-0.3.13}/src/fast_agent/ui/usage_display.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fast-agent-mcp
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.13
|
|
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,10 +208,10 @@ 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:
|
|
211
|
+
Requires-Python: <3.14,>=3.13.5
|
|
212
212
|
Requires-Dist: a2a-sdk>=0.3.6
|
|
213
213
|
Requires-Dist: aiohttp>=3.11.13
|
|
214
|
-
Requires-Dist: anthropic>=0.
|
|
214
|
+
Requires-Dist: anthropic>=0.69.0
|
|
215
215
|
Requires-Dist: azure-identity>=1.14.0
|
|
216
216
|
Requires-Dist: boto3>=1.35.0
|
|
217
217
|
Requires-Dist: deprecated>=1.2.18
|
|
@@ -219,8 +219,8 @@ 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
221
|
Requires-Dist: keyring>=24.3.1
|
|
222
|
-
Requires-Dist: mcp==1.
|
|
223
|
-
Requires-Dist: openai>=1.
|
|
222
|
+
Requires-Dist: mcp==1.16.0
|
|
223
|
+
Requires-Dist: openai>=2.1.0
|
|
224
224
|
Requires-Dist: opentelemetry-distro>=0.55b0
|
|
225
225
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.7.0
|
|
226
226
|
Requires-Dist: opentelemetry-instrumentation-anthropic>=0.43.1; python_version >= '3.10' and python_version < '4.0'
|
|
@@ -249,15 +249,24 @@ Description-Content-Type: text/markdown
|
|
|
249
249
|
## Overview
|
|
250
250
|
|
|
251
251
|
> [!TIP]
|
|
252
|
-
>
|
|
252
|
+
> Please see : https://fast-agent.ai for latest documentation. There is also an LLMs.txt [here](https://fast-agent.ai/llms.txt)
|
|
253
253
|
|
|
254
|
-
**`fast-agent`** enables you to create and interact with sophisticated Agents and Workflows in minutes. It is the first framework with complete, end-to-end tested MCP Feature support including Sampling
|
|
254
|
+
**`fast-agent`** enables you to create and interact with sophisticated multimodal Agents and Workflows in minutes. It is the first framework with complete, end-to-end tested MCP Feature support including Sampling and Elicitations.
|
|
255
255
|
|
|
256
|
-

|
|
256
|
+
<!--  -->
|
|
257
257
|
|
|
258
258
|
The simple declarative syntax lets you concentrate on composing your Prompts and MCP Servers to [build effective agents](https://www.anthropic.com/research/building-effective-agents).
|
|
259
259
|
|
|
260
|
-
|
|
260
|
+
Model support is comprehensive with native support for Anthropic, OpenAI and Google providers as well as Azure, Ollama, Deepseek and dozens of others via TensorZero. Structured Outputs, PDF and Vision support is simple to use and well tested. Passthrough and Playback LLMs enable rapid development and test of Python glue-code for your applications.
|
|
261
|
+
|
|
262
|
+
<img width="800" alt="MCP Transport Diagnostics" src="https://github.com/user-attachments/assets/e26472de-58d9-4726-8bdd-01eb407414cf" />
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
`fast-agent` is the only tool that allows you to inspect Streamable HTTP Transport usage - a critical feature for ensuring reliable, compliant deployments. OAuth is supported with KeyRing storage for secrets. Use the `fast-agent auth` command to manage.
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
261
270
|
|
|
262
271
|
> [!IMPORTANT]
|
|
263
272
|
>
|
|
@@ -10,15 +10,24 @@
|
|
|
10
10
|
## Overview
|
|
11
11
|
|
|
12
12
|
> [!TIP]
|
|
13
|
-
>
|
|
13
|
+
> Please see : https://fast-agent.ai for latest documentation. There is also an LLMs.txt [here](https://fast-agent.ai/llms.txt)
|
|
14
14
|
|
|
15
|
-
**`fast-agent`** enables you to create and interact with sophisticated Agents and Workflows in minutes. It is the first framework with complete, end-to-end tested MCP Feature support including Sampling
|
|
15
|
+
**`fast-agent`** enables you to create and interact with sophisticated multimodal Agents and Workflows in minutes. It is the first framework with complete, end-to-end tested MCP Feature support including Sampling and Elicitations.
|
|
16
16
|
|
|
17
|
-

|
|
17
|
+
<!--  -->
|
|
18
18
|
|
|
19
19
|
The simple declarative syntax lets you concentrate on composing your Prompts and MCP Servers to [build effective agents](https://www.anthropic.com/research/building-effective-agents).
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Model support is comprehensive with native support for Anthropic, OpenAI and Google providers as well as Azure, Ollama, Deepseek and dozens of others via TensorZero. Structured Outputs, PDF and Vision support is simple to use and well tested. Passthrough and Playback LLMs enable rapid development and test of Python glue-code for your applications.
|
|
22
|
+
|
|
23
|
+
<img width="800" alt="MCP Transport Diagnostics" src="https://github.com/user-attachments/assets/e26472de-58d9-4726-8bdd-01eb407414cf" />
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
`fast-agent` is the only tool that allows you to inspect Streamable HTTP Transport usage - a critical feature for ensuring reliable, compliant deployments. OAuth is supported with KeyRing storage for secrets. Use the `fast-agent auth` command to manage.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
22
31
|
|
|
23
32
|
> [!IMPORTANT]
|
|
24
33
|
>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Demonstration of changing MCP settings dynamically.
|
|
3
|
+
|
|
4
|
+
Technically applicable to any setting, but MCP I found to be the most difficult due to MCP Aggregation at the startup.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import asyncio
|
|
8
|
+
|
|
9
|
+
from fast_agent.agents.agent_types import AgentConfig
|
|
10
|
+
from fast_agent.agents.mcp_agent import McpAgent
|
|
11
|
+
from fast_agent.core.core_app import Core
|
|
12
|
+
from fast_agent.llm.model_factory import ModelFactory
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
async def main():
|
|
16
|
+
core: Core = Core()
|
|
17
|
+
await core.initialize()
|
|
18
|
+
|
|
19
|
+
# Create agent configuration
|
|
20
|
+
config = AgentConfig(
|
|
21
|
+
name="dynamic_bot",
|
|
22
|
+
model="gpt-4o-mini",
|
|
23
|
+
servers=[ # Do not forget to add the servers here
|
|
24
|
+
"fetch",
|
|
25
|
+
],
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
agent = McpAgent(
|
|
29
|
+
config,
|
|
30
|
+
connection_persistence=True,
|
|
31
|
+
context=core.context,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
# Attach the LLM
|
|
35
|
+
await agent.attach_llm(ModelFactory.create_factory("gpt-4o-mini"))
|
|
36
|
+
await agent.initialize() # MCP Agents need to be initialized before use
|
|
37
|
+
|
|
38
|
+
# Test the agent
|
|
39
|
+
result = await agent.send(
|
|
40
|
+
"Tell me about fast-agent framework. Find info at https://fast-agent.ai/ and summarize it."
|
|
41
|
+
)
|
|
42
|
+
print(result)
|
|
43
|
+
await core.cleanup()
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
if __name__ == "__main__":
|
|
47
|
+
asyncio.run(main())
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
|
|
3
|
+
from fast_agent import FastAgent
|
|
4
|
+
from fast_agent.agents.agent_types import AgentConfig
|
|
5
|
+
from fast_agent.agents.tool_agent import ToolAgent
|
|
6
|
+
from fast_agent.context import Context
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def get_video_call_transcript(video_id: str) -> str:
|
|
10
|
+
return "Assistant: Hi, how can I assist you today?\n\nCustomer: Hi, I wanted to ask you about last invoice I received..."
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class CustomToolAgent(ToolAgent):
|
|
14
|
+
def __init__(
|
|
15
|
+
self,
|
|
16
|
+
config: AgentConfig,
|
|
17
|
+
context: Context | None = None,
|
|
18
|
+
):
|
|
19
|
+
tools = [get_video_call_transcript]
|
|
20
|
+
super().__init__(config, tools, context)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
fast = FastAgent("Example Tool Use Application")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@fast.custom(CustomToolAgent)
|
|
27
|
+
async def main() -> None:
|
|
28
|
+
async with fast.run() as agent:
|
|
29
|
+
await agent.default.generate("What is the topic of the video call no.1234?")
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
if __name__ == "__main__":
|
|
33
|
+
asyncio.run(main())
|
|
@@ -25,17 +25,17 @@ class CustomBuildHook(BuildHookInterface):
|
|
|
25
25
|
print("Fast-agent build: Cleared existing resources/setup directory")
|
|
26
26
|
|
|
27
27
|
# Define source to target mappings
|
|
28
|
+
# Examples:
|
|
29
|
+
# examples/workflows -> src/fast_agent/resources/examples/workflows
|
|
30
|
+
# examples/mcp/elicitations -> src/fast_agent/resources/examples/mcp/elicitations
|
|
31
|
+
EXAMPLES_DIR = Path("src") / "fast_agent" / "resources" / "examples"
|
|
28
32
|
example_mappings = {
|
|
29
|
-
|
|
30
|
-
"examples/
|
|
31
|
-
|
|
32
|
-
"examples/
|
|
33
|
-
|
|
34
|
-
"examples/
|
|
35
|
-
# examples/mcp/state-transfer -> src/fast_agent/resources/examples/mcp/state-transfer
|
|
36
|
-
"examples/mcp/state-transfer": "src/fast_agent/resources/examples/mcp/state-transfer",
|
|
37
|
-
"examples/mcp/elicitations": "src/fast_agent/resources/examples/mcp/elicitations",
|
|
38
|
-
"examples/tensorzero": "src/fast_agent/resources/examples/tensorzero",
|
|
33
|
+
"examples/workflows": EXAMPLES_DIR / "workflows",
|
|
34
|
+
"examples/researcher": EXAMPLES_DIR / "researcher",
|
|
35
|
+
"examples/data-analysis": EXAMPLES_DIR / "data-analysis",
|
|
36
|
+
"examples/mcp/state-transfer": EXAMPLES_DIR / "mcp" / "state-transfer",
|
|
37
|
+
"examples/mcp/elicitations": EXAMPLES_DIR / "mcp" / "elicitations",
|
|
38
|
+
"examples/tensorzero": EXAMPLES_DIR / "tensorzero",
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
# Define setup template mapping (editable templates -> packaged resources)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fast-agent-mcp"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.13"
|
|
4
4
|
description = "Define, Prompt and Test MCP enabled Agents and Workflows"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -12,10 +12,10 @@ classifiers = [
|
|
|
12
12
|
"License :: OSI Approved :: Apache Software License",
|
|
13
13
|
"Operating System :: OS Independent"
|
|
14
14
|
]
|
|
15
|
-
requires-python = ">=3.13.5"
|
|
15
|
+
requires-python = ">=3.13.5,<3.14"
|
|
16
16
|
dependencies = [
|
|
17
17
|
"fastapi>=0.115.6",
|
|
18
|
-
"mcp==1.
|
|
18
|
+
"mcp==1.16.0",
|
|
19
19
|
"opentelemetry-distro>=0.55b0",
|
|
20
20
|
"opentelemetry-exporter-otlp-proto-http>=1.7.0",
|
|
21
21
|
"pydantic-settings>=2.7.0",
|
|
@@ -23,8 +23,8 @@ dependencies = [
|
|
|
23
23
|
"pyyaml>=6.0.2",
|
|
24
24
|
"rich>=14.1.0",
|
|
25
25
|
"typer>=0.15.1",
|
|
26
|
-
"anthropic>=0.
|
|
27
|
-
"openai>=1.
|
|
26
|
+
"anthropic>=0.69.0",
|
|
27
|
+
"openai>=2.1.0",
|
|
28
28
|
"azure-identity>=1.14.0",
|
|
29
29
|
"boto3>=1.35.0",
|
|
30
30
|
"prompt-toolkit>=3.0.52",
|
|
@@ -170,7 +170,7 @@ class LlmAgent(LlmDecorator):
|
|
|
170
170
|
combined += segment
|
|
171
171
|
additional_message_text = combined
|
|
172
172
|
|
|
173
|
-
message_text = message
|
|
173
|
+
message_text = message
|
|
174
174
|
|
|
175
175
|
# Use provided name/model or fall back to defaults
|
|
176
176
|
display_name = name if name is not None else self.name
|
|
@@ -314,6 +314,13 @@ class LlmDecorator(AgentProtocol):
|
|
|
314
314
|
# Otherwise treat the string as plain content (ignore arguments here)
|
|
315
315
|
return await self.send(prompt)
|
|
316
316
|
|
|
317
|
+
def clear(self, *, clear_prompts: bool = False) -> None:
|
|
318
|
+
"""Reset conversation state while optionally retaining applied prompt templates."""
|
|
319
|
+
|
|
320
|
+
if not self._llm:
|
|
321
|
+
return
|
|
322
|
+
self._llm.clear(clear_prompts=clear_prompts)
|
|
323
|
+
|
|
317
324
|
async def structured(
|
|
318
325
|
self,
|
|
319
326
|
messages: Union[
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Any, Callable, Dict, List
|
|
1
|
+
from typing import Any, Callable, Dict, List, Sequence
|
|
2
2
|
|
|
3
3
|
from mcp.server.fastmcp.tools.base import Tool as FastMCPTool
|
|
4
4
|
from mcp.types import CallToolResult, ListToolsResult, Tool
|
|
@@ -35,7 +35,7 @@ class ToolAgent(LlmAgent):
|
|
|
35
35
|
def __init__(
|
|
36
36
|
self,
|
|
37
37
|
config: AgentConfig,
|
|
38
|
-
tools:
|
|
38
|
+
tools: Sequence[FastMCPTool | Callable] = [],
|
|
39
39
|
context: Context | None = None,
|
|
40
40
|
) -> None:
|
|
41
41
|
super().__init__(config=config, context=context)
|