find_keywords
Search for Robot Framework keywords by name, pattern, or intent to find the right command for test automation tasks.
Instructions
Discover Robot Framework keywords using multiple strategies.
WHEN TO USE THIS TOOL:
ALWAYS before calling execute_step with an unfamiliar keyword
When you're unsure of exact keyword name or spelling
To discover what keywords are available in imported libraries
When error says "No keyword with name 'X' found"
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional maximum number of results to return. | |
| query | Yes | Search text or intent description. Examples: "click a button", "validate json", "get*request" | |
| context | No | Scenario context (e.g., "web", "mobile", "api") used by semantic discovery. | web |
| strategy | No | Discovery approach: - "semantic": Hybrid keyword search combining name/doc pattern matching, tag/action-class classification, and (when installed) sentence-transformers embedding similarity. For best semantic ranking, install the optional extra: ``uv add robotmcp[semantic]``. Without the extra, falls back to pattern + tag + difflib SequenceMatcher ranking; the strategy is still useful but ranking quality is reduced. - "pattern": Glob/regex matching (best when you know partial name) - "catalog": List all available keywords. This is a LITERAL substring filter on keyword/library names — a multi-word natural-language query will return 0; use library_name= to list a library (e.g. "PlatynUI"/"PlatynUI.BareMetal"), or strategy="semantic" for intent matching. - "session": List keywords from session's loaded libraries | semantic |
| session_id | No | Required for strategy="session" to search the live RF namespace. | |
| library_name | No | Optional library filter applied to ALL strategies. When set, restricts results to the named library and its compatible siblings (e.g., library_name="Browser" excludes SeleniumLibrary but keeps BuiltIn, Collections, String). Takes precedence over the session's explicit_library_preference when both are present. Catalog strategy additionally scopes the underlying lookup to this library. | |
| current_state | No | Optional state payload to improve semantic matching. | |
| strict_library | No | OBS-33 — when True AND a library preference is set (via ``library_name`` or session ``explicit_library_preference``), exclude EVERY library that isn't the preferred one. Default behaviour (False) preserves "compatible siblings" — BuiltIn / Collections / String / DateTime etc. remain visible alongside the preferred library. Use strict mode to scope discovery tightly to a single library (e.g., pattern ``"Get*"`` + ``library_name="Browser"`` + ``strict_library=True`` → Browser keywords only, no BuiltIn helpers). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||