├── .devcontainer └── devcontainer.json ├── .github └── workflows │ ├── ci.yml │ └── docker-publish.yaml ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── docs ├── library-plugin-authoring.md └── robotmcp.html ├── examples └── plugins │ ├── doctest_plugin │ ├── README.md │ ├── ai_manifest.json │ ├── pdf_manifest.json │ ├── print_manifest.json │ ├── pyproject.toml │ ├── rfmcp_doctest_plugin │ │ ├── __init__.py │ │ ├── ai.py │ │ ├── pdf.py │ │ ├── print_jobs.py │ │ └── visual.py │ └── visual_manifest.json │ └── sample_plugin │ ├── README.md │ ├── __init__.py │ ├── manifest.json │ └── plugin.py ├── media └── frontend.png ├── pyproject.toml ├── screenshots ├── chromium_home.png ├── chromium_scrolled.png ├── firefox_home.png └── firefox_scrolled.png ├── scripts └── run_optional_tests.py ├── src └── robotmcp │ ├── __init__.py │ ├── attach │ ├── __init__.py │ └── mcp_attach.py │ ├── components │ ├── __init__.py │ ├── browser │ │ ├── __init__.py │ │ └── browser_library_manager.py │ ├── execution │ │ ├── __init__.py │ │ ├── execution_coordinator.py │ │ ├── external_rf_client.py │ │ ├── keyword_executor.py │ │ ├── locator_converter.py │ │ ├── mobile_capability_service.py │ │ ├── page_source_service.py │ │ ├── rf_native_context_manager.py │ │ ├── session_manager.py │ │ └── suite_execution_service.py │ ├── keyword_matcher.py │ ├── library_recommender.py │ ├── nlp_processor.py │ ├── state_manager.py │ ├── test_builder.py │ └── variables │ │ ├── __init__.py │ │ └── variable_resolver.py │ ├── config │ ├── __init__.py │ └── library_registry.py │ ├── core │ ├── __init__.py │ ├── dynamic_keyword_orchestrator.py │ ├── event_bus.py │ ├── keyword_discovery.py │ ├── library_manager.py │ └── session_manager.py │ ├── frontend │ ├── __init__.py │ ├── api.py │ ├── apps.py │ ├── asgi.py │ ├── bridge.py │ ├── config.py │ ├── controller.py │ ├── devserver.py │ ├── django_app.py │ ├── static │ │ └── frontend │ │ │ ├── app.js │ │ │ └── base.css │ ├── templates │ │ └── frontend │ │ │ ├── index.html │ │ │ └── layout.html │ ├── urls.py │ └── views.py │ ├── models │ ├── __init__.py │ ├── browser_models.py │ ├── config_models.py │ ├── execution_models.py │ ├── library_models.py │ └── session_models.py │ ├── plugins │ ├── __init__.py │ ├── base.py │ ├── builtin │ │ ├── __init__.py │ │ ├── browser_plugin.py │ │ ├── definitions.py │ │ ├── requests_plugin.py │ │ └── selenium_plugin.py │ ├── contracts.py │ ├── discovery.py │ └── manager.py │ ├── server.py │ └── utils │ ├── __init__.py │ ├── argument_processor.py │ ├── enhanced_response_serializer.py │ ├── enhanced_serialization_integration.py │ ├── hints.py │ ├── libdoc_argument_parser.py │ ├── library_checker.py │ ├── library_detector.py │ ├── response_serializer.py │ ├── rf_libdoc_integration.py │ ├── rf_native_type_converter.py │ ├── rf_variables_compatibility.py │ ├── server_integration.py │ ├── session_resolution.py │ └── validation.py ├── tasks.py ├── test_data ├── books_authors.xml ├── libs │ └── custom_lib.py └── resources │ └── sample.resource ├── tests ├── __init__.py ├── conftest.py ├── e2e │ └── test_openai_fastmcp.py ├── fastmcp │ ├── test_browser_scenario.py │ ├── test_mobile_scenario.py │ ├── test_session_and_variable_e2e.py │ └── test_toolkit.py ├── frontend │ ├── test_frontend_api.py │ └── test_frontend_playwright.py ├── integration │ ├── test_analyze_scenario_library_preference.py │ ├── test_fastmcp_argument_resolution.py │ ├── test_fastmcp_context_keywords.py │ ├── test_library_preferences.py │ ├── test_mcp_attach_bridge.py │ ├── test_plugin_manifest_flow.py │ └── test_recommend_libraries_keywords.py ├── regression │ └── test_session_configuration_bugs.py ├── smoke │ └── test_optional_dependencies.py ├── test_mcp_comprehensive.py ├── test_mcp_error_scenarios.py ├── test_mcp_simple.py ├── test_plugins_basic.py ├── unit │ ├── test_attach_default_logic.py │ ├── test_doctest_plugins.py │ ├── test_execution_coordinator.py │ ├── test_external_rf_client.py │ ├── test_keyword_executor_plugin_hints.py │ ├── test_locator_converter.py │ ├── test_mcp_attach_unit.py │ ├── test_page_source_service.py │ ├── test_requests_plugin.py │ ├── test_rf_native_context_manager_context.py │ └── test_typeinfo_conversion.py └── utils │ ├── __init__.py │ └── dependency_matrix.py └── uv.lock /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/docker-publish.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/.github/workflows/docker-publish.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/README.md -------------------------------------------------------------------------------- /docs/library-plugin-authoring.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/docs/library-plugin-authoring.md -------------------------------------------------------------------------------- /docs/robotmcp.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/docs/robotmcp.html -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/README.md -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/ai_manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/ai_manifest.json -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/pdf_manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/pdf_manifest.json -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/print_manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/print_manifest.json -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/pyproject.toml -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/rfmcp_doctest_plugin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/rfmcp_doctest_plugin/__init__.py -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/rfmcp_doctest_plugin/ai.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/rfmcp_doctest_plugin/ai.py -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/rfmcp_doctest_plugin/pdf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/rfmcp_doctest_plugin/pdf.py -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/rfmcp_doctest_plugin/print_jobs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/rfmcp_doctest_plugin/print_jobs.py -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/rfmcp_doctest_plugin/visual.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/rfmcp_doctest_plugin/visual.py -------------------------------------------------------------------------------- /examples/plugins/doctest_plugin/visual_manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/doctest_plugin/visual_manifest.json -------------------------------------------------------------------------------- /examples/plugins/sample_plugin/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/sample_plugin/README.md -------------------------------------------------------------------------------- /examples/plugins/sample_plugin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/sample_plugin/__init__.py -------------------------------------------------------------------------------- /examples/plugins/sample_plugin/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/sample_plugin/manifest.json -------------------------------------------------------------------------------- /examples/plugins/sample_plugin/plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/examples/plugins/sample_plugin/plugin.py -------------------------------------------------------------------------------- /media/frontend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/media/frontend.png -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/pyproject.toml -------------------------------------------------------------------------------- /screenshots/chromium_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/screenshots/chromium_home.png -------------------------------------------------------------------------------- /screenshots/chromium_scrolled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/screenshots/chromium_scrolled.png -------------------------------------------------------------------------------- /screenshots/firefox_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/screenshots/firefox_home.png -------------------------------------------------------------------------------- /screenshots/firefox_scrolled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/screenshots/firefox_scrolled.png -------------------------------------------------------------------------------- /scripts/run_optional_tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/scripts/run_optional_tests.py -------------------------------------------------------------------------------- /src/robotmcp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/__init__.py -------------------------------------------------------------------------------- /src/robotmcp/attach/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/attach/__init__.py -------------------------------------------------------------------------------- /src/robotmcp/attach/mcp_attach.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/attach/mcp_attach.py -------------------------------------------------------------------------------- /src/robotmcp/components/__init__.py: -------------------------------------------------------------------------------- 1 | """Core components for Robot Framework MCP Server.""" -------------------------------------------------------------------------------- /src/robotmcp/components/browser/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/browser/__init__.py -------------------------------------------------------------------------------- /src/robotmcp/components/browser/browser_library_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/browser/browser_library_manager.py -------------------------------------------------------------------------------- /src/robotmcp/components/execution/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/execution/__init__.py -------------------------------------------------------------------------------- /src/robotmcp/components/execution/execution_coordinator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/execution/execution_coordinator.py -------------------------------------------------------------------------------- /src/robotmcp/components/execution/external_rf_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/execution/external_rf_client.py -------------------------------------------------------------------------------- /src/robotmcp/components/execution/keyword_executor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/execution/keyword_executor.py -------------------------------------------------------------------------------- /src/robotmcp/components/execution/locator_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/execution/locator_converter.py -------------------------------------------------------------------------------- /src/robotmcp/components/execution/mobile_capability_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/execution/mobile_capability_service.py -------------------------------------------------------------------------------- /src/robotmcp/components/execution/page_source_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/execution/page_source_service.py -------------------------------------------------------------------------------- /src/robotmcp/components/execution/rf_native_context_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/execution/rf_native_context_manager.py -------------------------------------------------------------------------------- /src/robotmcp/components/execution/session_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/execution/session_manager.py -------------------------------------------------------------------------------- /src/robotmcp/components/execution/suite_execution_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/execution/suite_execution_service.py -------------------------------------------------------------------------------- /src/robotmcp/components/keyword_matcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/keyword_matcher.py -------------------------------------------------------------------------------- /src/robotmcp/components/library_recommender.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/library_recommender.py -------------------------------------------------------------------------------- /src/robotmcp/components/nlp_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/nlp_processor.py -------------------------------------------------------------------------------- /src/robotmcp/components/state_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/state_manager.py -------------------------------------------------------------------------------- /src/robotmcp/components/test_builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/test_builder.py -------------------------------------------------------------------------------- /src/robotmcp/components/variables/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/variables/__init__.py -------------------------------------------------------------------------------- /src/robotmcp/components/variables/variable_resolver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/components/variables/variable_resolver.py -------------------------------------------------------------------------------- /src/robotmcp/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Configuration module for Robot Framework MCP -------------------------------------------------------------------------------- /src/robotmcp/config/library_registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/config/library_registry.py -------------------------------------------------------------------------------- /src/robotmcp/core/__init__.py: -------------------------------------------------------------------------------- 1 | # Core package -------------------------------------------------------------------------------- /src/robotmcp/core/dynamic_keyword_orchestrator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/core/dynamic_keyword_orchestrator.py -------------------------------------------------------------------------------- /src/robotmcp/core/event_bus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/core/event_bus.py -------------------------------------------------------------------------------- /src/robotmcp/core/keyword_discovery.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/core/keyword_discovery.py -------------------------------------------------------------------------------- /src/robotmcp/core/library_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/core/library_manager.py -------------------------------------------------------------------------------- /src/robotmcp/core/session_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/core/session_manager.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/__init__.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/api.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/apps.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/asgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/asgi.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/bridge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/bridge.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/config.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/controller.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/devserver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/devserver.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/django_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/django_app.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/static/frontend/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/static/frontend/app.js -------------------------------------------------------------------------------- /src/robotmcp/frontend/static/frontend/base.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/static/frontend/base.css -------------------------------------------------------------------------------- /src/robotmcp/frontend/templates/frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/templates/frontend/index.html -------------------------------------------------------------------------------- /src/robotmcp/frontend/templates/frontend/layout.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/templates/frontend/layout.html -------------------------------------------------------------------------------- /src/robotmcp/frontend/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/urls.py -------------------------------------------------------------------------------- /src/robotmcp/frontend/views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/frontend/views.py -------------------------------------------------------------------------------- /src/robotmcp/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/models/__init__.py -------------------------------------------------------------------------------- /src/robotmcp/models/browser_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/models/browser_models.py -------------------------------------------------------------------------------- /src/robotmcp/models/config_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/models/config_models.py -------------------------------------------------------------------------------- /src/robotmcp/models/execution_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/models/execution_models.py -------------------------------------------------------------------------------- /src/robotmcp/models/library_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/models/library_models.py -------------------------------------------------------------------------------- /src/robotmcp/models/session_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/models/session_models.py -------------------------------------------------------------------------------- /src/robotmcp/plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/plugins/__init__.py -------------------------------------------------------------------------------- /src/robotmcp/plugins/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/plugins/base.py -------------------------------------------------------------------------------- /src/robotmcp/plugins/builtin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/plugins/builtin/__init__.py -------------------------------------------------------------------------------- /src/robotmcp/plugins/builtin/browser_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/plugins/builtin/browser_plugin.py -------------------------------------------------------------------------------- /src/robotmcp/plugins/builtin/definitions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/plugins/builtin/definitions.py -------------------------------------------------------------------------------- /src/robotmcp/plugins/builtin/requests_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/plugins/builtin/requests_plugin.py -------------------------------------------------------------------------------- /src/robotmcp/plugins/builtin/selenium_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/plugins/builtin/selenium_plugin.py -------------------------------------------------------------------------------- /src/robotmcp/plugins/contracts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/plugins/contracts.py -------------------------------------------------------------------------------- /src/robotmcp/plugins/discovery.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/plugins/discovery.py -------------------------------------------------------------------------------- /src/robotmcp/plugins/manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/plugins/manager.py -------------------------------------------------------------------------------- /src/robotmcp/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/server.py -------------------------------------------------------------------------------- /src/robotmcp/utils/__init__.py: -------------------------------------------------------------------------------- 1 | """Utility modules for Robot Framework MCP Server.""" -------------------------------------------------------------------------------- /src/robotmcp/utils/argument_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/argument_processor.py -------------------------------------------------------------------------------- /src/robotmcp/utils/enhanced_response_serializer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/enhanced_response_serializer.py -------------------------------------------------------------------------------- /src/robotmcp/utils/enhanced_serialization_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/enhanced_serialization_integration.py -------------------------------------------------------------------------------- /src/robotmcp/utils/hints.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/hints.py -------------------------------------------------------------------------------- /src/robotmcp/utils/libdoc_argument_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/libdoc_argument_parser.py -------------------------------------------------------------------------------- /src/robotmcp/utils/library_checker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/library_checker.py -------------------------------------------------------------------------------- /src/robotmcp/utils/library_detector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/library_detector.py -------------------------------------------------------------------------------- /src/robotmcp/utils/response_serializer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/response_serializer.py -------------------------------------------------------------------------------- /src/robotmcp/utils/rf_libdoc_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/rf_libdoc_integration.py -------------------------------------------------------------------------------- /src/robotmcp/utils/rf_native_type_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/rf_native_type_converter.py -------------------------------------------------------------------------------- /src/robotmcp/utils/rf_variables_compatibility.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/rf_variables_compatibility.py -------------------------------------------------------------------------------- /src/robotmcp/utils/server_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/server_integration.py -------------------------------------------------------------------------------- /src/robotmcp/utils/session_resolution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/session_resolution.py -------------------------------------------------------------------------------- /src/robotmcp/utils/validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/src/robotmcp/utils/validation.py -------------------------------------------------------------------------------- /tasks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tasks.py -------------------------------------------------------------------------------- /test_data/books_authors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/test_data/books_authors.xml -------------------------------------------------------------------------------- /test_data/libs/custom_lib.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/test_data/libs/custom_lib.py -------------------------------------------------------------------------------- /test_data/resources/sample.resource: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/test_data/resources/sample.resource -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | """Test package for RobotMCP.""" 2 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/e2e/test_openai_fastmcp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/e2e/test_openai_fastmcp.py -------------------------------------------------------------------------------- /tests/fastmcp/test_browser_scenario.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/fastmcp/test_browser_scenario.py -------------------------------------------------------------------------------- /tests/fastmcp/test_mobile_scenario.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/fastmcp/test_mobile_scenario.py -------------------------------------------------------------------------------- /tests/fastmcp/test_session_and_variable_e2e.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/fastmcp/test_session_and_variable_e2e.py -------------------------------------------------------------------------------- /tests/fastmcp/test_toolkit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/fastmcp/test_toolkit.py -------------------------------------------------------------------------------- /tests/frontend/test_frontend_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/frontend/test_frontend_api.py -------------------------------------------------------------------------------- /tests/frontend/test_frontend_playwright.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/frontend/test_frontend_playwright.py -------------------------------------------------------------------------------- /tests/integration/test_analyze_scenario_library_preference.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/integration/test_analyze_scenario_library_preference.py -------------------------------------------------------------------------------- /tests/integration/test_fastmcp_argument_resolution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/integration/test_fastmcp_argument_resolution.py -------------------------------------------------------------------------------- /tests/integration/test_fastmcp_context_keywords.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/integration/test_fastmcp_context_keywords.py -------------------------------------------------------------------------------- /tests/integration/test_library_preferences.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/integration/test_library_preferences.py -------------------------------------------------------------------------------- /tests/integration/test_mcp_attach_bridge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/integration/test_mcp_attach_bridge.py -------------------------------------------------------------------------------- /tests/integration/test_plugin_manifest_flow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/integration/test_plugin_manifest_flow.py -------------------------------------------------------------------------------- /tests/integration/test_recommend_libraries_keywords.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/integration/test_recommend_libraries_keywords.py -------------------------------------------------------------------------------- /tests/regression/test_session_configuration_bugs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/regression/test_session_configuration_bugs.py -------------------------------------------------------------------------------- /tests/smoke/test_optional_dependencies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/smoke/test_optional_dependencies.py -------------------------------------------------------------------------------- /tests/test_mcp_comprehensive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/test_mcp_comprehensive.py -------------------------------------------------------------------------------- /tests/test_mcp_error_scenarios.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/test_mcp_error_scenarios.py -------------------------------------------------------------------------------- /tests/test_mcp_simple.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/test_mcp_simple.py -------------------------------------------------------------------------------- /tests/test_plugins_basic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/test_plugins_basic.py -------------------------------------------------------------------------------- /tests/unit/test_attach_default_logic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_attach_default_logic.py -------------------------------------------------------------------------------- /tests/unit/test_doctest_plugins.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_doctest_plugins.py -------------------------------------------------------------------------------- /tests/unit/test_execution_coordinator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_execution_coordinator.py -------------------------------------------------------------------------------- /tests/unit/test_external_rf_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_external_rf_client.py -------------------------------------------------------------------------------- /tests/unit/test_keyword_executor_plugin_hints.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_keyword_executor_plugin_hints.py -------------------------------------------------------------------------------- /tests/unit/test_locator_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_locator_converter.py -------------------------------------------------------------------------------- /tests/unit/test_mcp_attach_unit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_mcp_attach_unit.py -------------------------------------------------------------------------------- /tests/unit/test_page_source_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_page_source_service.py -------------------------------------------------------------------------------- /tests/unit/test_requests_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_requests_plugin.py -------------------------------------------------------------------------------- /tests/unit/test_rf_native_context_manager_context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_rf_native_context_manager_context.py -------------------------------------------------------------------------------- /tests/unit/test_typeinfo_conversion.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/unit/test_typeinfo_conversion.py -------------------------------------------------------------------------------- /tests/utils/__init__.py: -------------------------------------------------------------------------------- 1 | """Utility helpers for test suite.""" 2 | -------------------------------------------------------------------------------- /tests/utils/dependency_matrix.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/tests/utils/dependency_matrix.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manykarim/rf-mcp/HEAD/uv.lock --------------------------------------------------------------------------------