Collection of example scripts demonstrating BabelWrap integration with various AI frameworks (Claude, OpenAI, Agno) for web automation, research, and deal-finding tasks
This is a collection of example scripts using the BabelWrap library, not an MCP server. The tools are inferred from example code snippets rather than explicitly registered via MCP protocol. No actual MCP server implementation is visible, only Python scripts that call BabelWrap's SDK. Tool definitions lack formal JSON Schema, parameter descriptions are minimal or absent, and there is no error handling guidance. The repository demonstrates BabelWrap usage patterns but does not implement the MCP specification.
Execute multiple browser actions in a single call for efficiency. Pass a JSON array of actions, each with 'action' and optional 'target', 'value' fields. Example: [{"action": "click", "target": "checkbox 1"}, {"action": "click", "target": "checkbox 2"}]. Actions: navigate, click, fill, submit, extract, scroll.
Open a browser and navigate to a URL. Use for manual browsing when mapped tools aren't sufficient. Returns the page snapshot.
Click an element in the browser. Describe what to click in natural language.
Extract structured data from the current browser page.
Click an element on the page. Use natural language to describe what to click, e.g. 'Add to cart button' or 'Login button'. Returns updated page snapshot.
No formal MCP server implementation detected. Repository contains only example scripts using BabelWrap SDK, not an MCP server with proper tool registration, schemas, or protocol compliance.
Input schemas are missing or incomplete for 18+ tools. Tools like create_session, close_session, snapshot, read_page, scroll_down, get_cookies have empty or no schema definitions, violating the requirement that every tool must declare its input structure.
Parameter descriptions are generic or missing. Most tools have minimal parameter documentation (e.g., 'target' described only as 'Natural language description'). LLMs cannot infer constraints, formats, or valid ranges without explicit descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2026-07-28+ | v2 |
Click an element. Describe what to click in natural language.
Close the browser session. Call this when done.
Create a browser session. Call this first.
Create a new browser session. Call this first before any other action.
Extract structured data from the current page using a natural language query. Returns JSON data.
Fill a form field with a value. Use natural language to describe the field, e.g. 'Username field' or 'Email input'.
Get all cookies from the current browser session. Use after logging in to save auth cookies for reuse.
Extract structured data from the current page using a natural language query.
Navigate to a URL. Returns page content, form fields, and available actions.
Hover the mouse over an element. Useful for revealing tooltips or hidden content.
List all auto-generated tools for a mapped site. Each tool has a name, description, and parameters that you can call with use_site_tool.
List all auto-generated tools available for a mapped site. Shows tool names, descriptions, and parameters.
Map a website so BabelWrap auto-generates tools for it. This explores the site's structure and creates callable tools. May take a minute for new sites. Returns the site_id needed for other mapping tools.
Map a website to discover its structure and auto-generate tools. BabelWrap will explore the site and create callable tools for browsing, searching, and extracting data. This may take a minute for new sites.
Navigate the browser to a URL. Returns a snapshot of the page showing inputs, actions, and content.
Create a new browser session with previously saved cookies. Use to restore authentication without logging in again.
Open a browser and navigate to a URL. Use this for manual browsing when mapped tools aren't enough.
Press a keyboard key. Examples: 'Enter', 'Tab', 'Escape', 'ArrowDown'.
Read the current page state without performing any action.
Execute a generated tool on a mapped site. Returns structured data from the site.
Take a screenshot of the current page. Saves it as a PNG file. Use this to capture visual evidence of key steps.
Scroll the page to see more content. Use this on long pages to reveal additional text before extracting.
Scroll the current page down to see more content.
Read the current page state without performing any action. Useful to re-read the page after scrolling.
Submit a form. Optionally specify which form.
Type text into a form field. Describe the field in natural language.
Upload a file to a file input element. Creates a test file and uploads it.
Execute a generated tool on a mapped site. Pass the site_id, the tool name (from list_site_tools), and parameters as a JSON string. Example: use_site_tool("abc123", "search_books", '{"query": "science"}')
Wait for a condition on the page before continuing.
No output schemas documented. Tools return data (e.g., extract, get_page_data, map_website) but do not specify the structure of returned objects, making it impossible for LLMs to plan downstream tool calls or extract specific fields.
No error handling guidance. Tools lack descriptions of failure modes, recovery steps, or actionable error messages. LLMs cannot self-correct or know whether to retry, ask the user, or abandon the task.