1. What is Tamash?
TAMASH is a Chrome extension that works with WebMCP tools — actions that a web application registers via Chrome's document.modelContext API. When a page exposes tools like these:
add_item_to_cart → add a product to the shopping cart
apply_coupon → apply a discount coupon code
place_order → finalise the order
user_register → create a new account
TAMASH lets you:
- Inspect those tools and their schemas in the Tool Tester
- Call each tool manually with custom parameters and see the result
- Run an AI agent that drives the page toward a plain-English goal using those tools
- Design flows — saved sequences of tool calls that replay without any AI
2. Prerequisites & Chrome Flags
Chrome version
TAMASH requires Chrome 146 or later. Check your version at chrome://settings/help. Update Chrome if needed before proceeding.
Required flag — Experimental Web Platform features
This flag activates document.modelContext, the core Chrome API that WebMCP tools depend on. Without it, TAMASH finds no tools on any page.
Open a new Chrome tab and navigate to chrome://flags/#enable-experimental-web-platform-features
Find Experimental Web Platform features — set the dropdown to Enabled
Click Relaunch at the bottom of the page. Chrome restarts with the flag active.
Recommended flag — WebMCP for testing
This flag exposes the navigator.modelContext path alongside document.modelContext and enables wider tool discovery, including apps that use the earlier API shape.
Navigate to chrome://flags/#webmcp-for-testing
Set WebMCP for testing to Enabled
Relaunch Chrome if prompted
Optional flag — WebMCP support in DevTools
Adds a WebMCP panel to Chrome DevTools so you can inspect registered tools directly in the browser without TAMASH.
Navigate to chrome://flags/#devtools-web-mcp
Set WebMCP support in DevTools to Enabled
Relaunch Chrome. Open DevTools (F12) → look for the WebMCP panel tab
chrome://flags/#enable-experimental-web-platform-features — search for "webmcp" to find all related flags on one screen.
3. Installation
Chrome Web Store (recommended)
- Visit the Chrome Web Store listing
- Click Add to Chrome
- The TAMASH icon appears in your toolbar
Developer / Unpacked install
- Clone the repository and run:
npm install npm run dev - Open
chrome://extensionsin Chrome - Enable Developer mode (top-right toggle)
- Click Load unpacked → select the
extension/folder
4. Try it with VegCart
VegCart is a purpose-built WebMCP-enabled demo app — a fresh fruit and vegetable e-commerce store with 16 registered WebMCP tools covering products, cart, checkout, wishlist, user accounts, and order history. It is the fastest way to see TAMASH working end-to-end.
VegCart WebMCP tools at a glance
Test credentials
priya@example.comtest123ravi@example.comdemo1235-minute quick start with VegCart
- Enable Chrome flags (see Section 2) and install the TAMASH extension
- Open VegCart in Chrome
- Click the TAMASH icon → open the 🔧 Tool Tester tab → click ↺ Refresh Tools → 16 tools appear
- Click
get_product_list→ click ▶ Run → see all 24 products returned - Click
add_item_to_cart→ enteritemName = "Tomatoes",quantity = 2→ click ▶ Run - Switch to the 🤖 Agent tab and type the goal below:
Login as priya@example.com / test123, add Alphonso Mango ×2 and Spinach ×3 to the cart, place an order to 12 Lotus Colony Bengaluru 560001, then show me the order history
The agent runs automatically — login, clear cart, add items, checkout, verify — all from a single prompt.
5. The Side Panel
Click the TAMASH icon in your Chrome toolbar to open the side panel. It stays alongside your browser tab as you navigate.
| Tab | Purpose |
|---|---|
| Settings | Configure AI provider, API key, and Remote MCP servers |
| 🔧 Tool Tester | Manually inspect and call WebMCP tools on the current page |
| 🤖 Agent | AI-powered agentic loop that drives WebMCP tools toward a goal |
| 🔀 Flow | Design, save, and replay reusable sequences of WebMCP tool calls |
6. Settings Tab
Configure your AI provider, API key, and Remote MCP connections. The agent uses these settings for every run.
AI Provider & Credentials
| Provider | Models | Notes |
|---|---|---|
| OpenAI | gpt-5.4, gpt-5.4-mini, gpt-5.4-nano | API key from platform.openai.com |
| Anthropic | claude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5 | API key from console.anthropic.com |
gemini-2.5-pro, gemini-2.5-flash, gemini-3.1-pro | API key from aistudio.google.com | |
| Ollama | qwen3.5, qwen3-coder-next, deepseek-v3.2 and more | Default: https://ollama.com. For local: http://localhost:11434 |
- Select a Provider — Base URL fills automatically
- Select a Model
- Paste your API Key
- Click Test API Key — a ✓ toast confirms success
- Click Save Credentials
Your API key is stored in chrome.storage.local on this device only. It is never synced to other Chrome profiles.
Once saved, the form locks to prevent accidental edits. Click Edit to modify any field.
7. Tool Tester Tab
The Tool Tester lets you browse every WebMCP tool the current page has registered, inspect its schema, fill in parameters, and call it — without writing any code or running the agent.
How to use it
- Navigate to a page that registers WebMCP tools (requires Chrome 146+ with the flag enabled)
- Click the 🔧 Tool Tester tab
- Click ↺ Refresh Tools — the list populates with all tools on the active page
- Click any tool name — the right panel shows its description, parameters (type-annotated, required fields marked
*) - Fill in values and click ▶ Run
- The result or error appears directly below
The tool list auto-refreshes when you switch tabs or the page reloads.
Example (VegCart)
16 WebMCP tools:
add_item_to_cart Add a product to the shopping cart
get_cart_contents View current cart items and totals
place_order Checkout with delivery address
user_login Login with email and password
... 12 more tools
→ Click: add_item_to_cart
Parameters:
itemName * (string) Tomatoes
quantity (number) 2
→ Click ▶ Run
→ Result: { "success": true, "message": "Added 2 × Tomatoes to cart", "cartCount": 2 }
8. Agent Tab
The Agent tab runs a fully built-in AI agentic loop. Describe a goal in plain language, press Run, and the agent calls WebMCP tools on the current page — turn by turn — until the goal is complete or 25 turns are exhausted.
No external server is needed. The agent runs entirely inside the extension using your configured LLM.
Running the agent
- Make sure your provider and API key are saved in the Settings tab
- Navigate to a page with WebMCP tools
- Click the 🤖 Agent tab
- Type your goal in the text area
- Click ▶ Run or press
Ctrl+Enter
The agent workspace shows each step live — thinking indicator, tool call chips with arguments and results, and a final result panel. Press ■ Stop at any time to abort.
Agent runtime panel
The collapsible Agent Runtime bar at the top of the Agent tab shows the current provider, model, active page, page tool count, and Remote MCP status. A green alert means ready to run; orange means credentials are missing or tools are unavailable.
How the agent thinks
- Load tools — fetches all WebMCP tools from the current page plus any configured Remote MCP servers
- Plan — sends the goal and tool manifest to the LLM
- Execute — calls the tools the LLM requests; results feed back into the conversation
- Repeat — up to 25 turns; stops when the LLM responds without tool calls
- Report — the LLM's final message becomes the run result
Saving a run as a Flow
When an agent run finishes successfully, a 🔀 Save as Flow button appears at the bottom of the run card. Clicking it opens the Flow tab with all captured tool calls pre-loaded — ready to name and save for future replay without AI.
Native agent tool
| Tool | What it does |
|---|---|
__agent_getTabInfo | Returns the current tab's URL, title, and tabId |
Example goals (VegCart)
Provider-specific notes
- OpenAI — standard function calling. Works with any model that supports tools.
- Anthropic — uses direct browser API with
anthropic-dangerous-direct-browser-access: true. Works withclaude-opus-4-6and other Claude models. - Google Gemini — uses
functionDeclarationsformat. Works with Gemini 2.5 and 3.x models. - Ollama — defaults to
https://ollama.com. Override Base URL tohttp://localhost:11434for local Ollama. No API key required for local. Use a tool-capable model likeqwen3.5orqwen3-coder-next.
9. Flow Tab — Reusable Flows
The Flow tab lets you build, run, import, and export sequences of WebMCP tool calls that replay on demand — no AI needed at run time.
Flow list view
When you open the 🔀 Flow tab you see your saved flows. From here:
- + New Flow — create a blank flow and open the editor
- ⬇ Import — import one or more
.jsonflow files. Also accepts bundles with multiple flows. - ⬆ Export All — export all flows as a single bundle JSON
- Checkboxes — select individual flows for bulk Export or Delete
Flow editor
Click any flow (or open a new one) to enter the editor. Key actions:
| Action | How |
|---|---|
| Run all steps | Click ▶ Run |
| Stop mid-run | Click ■ Stop |
| Save changes | Click ✓ Save |
| Add a step | Select a tool, fill params, click + Add Step |
| Edit a step's params | Click the ✎ button on the step |
| Reorder steps | Drag the ⠿ handle |
| Delete a step | Click ✕ on the step (with confirmation) |
| Export / Delete flow | Toolbar buttons at the top of the editor |
Flow JSON format
Flows are plain JSON and can be hand-authored or shared:
Single flow (VegCart example):
{
"name": "Guest Quick Order – Mumbai",
"steps": [
{ "toolName": "clear_cart", "params": {} },
{ "toolName": "add_item_to_cart", "params": { "itemName": "Banana", "quantity": 2 } },
{ "toolName": "add_item_to_cart", "params": { "itemName": "Onions", "quantity": 1 } },
{ "toolName": "get_cart_contents","params": {} },
{ "toolName": "place_order", "params": { "name": "Guest User", "phone": "9999999999",
"address": "1 Marine Drive", "city": "Mumbai",
"pincode": "400001" } }
]
}
Bundle (multiple flows in one file):
[
{ "name": "Flow A", "steps": [ ... ] },
{ "name": "Flow B", "steps": [ ... ] }
]
Creating a flow from an agent run
After a successful agent run, click 🔀 Save as Flow at the bottom of the run card. The Flow tab opens with all captured steps pre-loaded. Name the flow and save it.
10. VegCart Flow Library
All 12 flows below are pre-built for VegCart and ready to import into TAMASH. Download any JSON file, open the 🔀 Flow tab, click ⬇ Import, and select the file. The flow runs immediately against the live VegCart tab — no AI, no prompts.
.json file → flow appears in the list → click it → press ▶ Run. Make sure VegCart is open in the active Chrome tab.
Product Search & Filter
01Navigate to Products, load all 24 items, search for "tomato", clear the search, filter by Vegetables, then reset to All.
- 1navigate_to_tab products
- 2get_product_list all 24
- 3search_products "tomato"
- 4search_products clear
- 5-6filter_products_by_category veg → all
Login — Priya Sharma
02Login with Priya's credentials and verify the session. Starting point for any logged-in flow.
- 1navigate_to_tab profile
- 2user_login priya@example.com / test123
- 3get_user_info verify session
Login — Ravi Kumar
03Login with Ravi's credentials (ravi@example.com / demo123) and verify the session.
- 1navigate_to_tab profile
- 2user_login ravi@example.com / demo123
- 3get_user_info verify session
Add Daily Essentials
04Clear cart, add 5 everyday items (Tomatoes, Onions, Carrots, Spinach, Coriander), verify cart total, navigate to cart view.
- 1clear_cart
- 2-6add_item_to_cart 5 items
- 7get_cart_contents verify total
- 8navigate_to_tab cart
Full Checkout — Priya
05End-to-end: login → add Mango ×2, Tomatoes ×1, Spinach ×3 → review cart → place order to Bengaluru 560001 → verify order history.
- 1user_login priya@example.com
- 2clear_cart
- 3-5add_item_to_cart 3 items
- 6get_cart_contents
- 7place_order Bengaluru 560001
- 8get_order_history
Guest Quick Order
06Place an order as a guest — Banana, Onions, Garlic — delivered to Mumbai 400001. No login required.
- 1clear_cart
- 2-4add_item_to_cart 3 items
- 5get_cart_contents
- 6place_order Mumbai 400001
Wishlist — Organic Products
07Browse Greens and Fruits; wishlist Spinach, Fenugreek, Pomegranate, Strawberries (all organic); verify wishlist count.
- 1-2filter_products_by_category
- 3-6add_to_wishlist 4 organic items
- 7get_wishlist verify
- 8navigate_to_tab wishlist
Cart Management
08Add Avocado, Dragon Fruit, Baby Corn; verify 3-item cart; remove Dragon Fruit; verify 2-item cart. Tests add and remove in sequence.
- 1clear_cart
- 2-4add_item_to_cart 3 items
- 5get_cart_contents 3 lines
- 6remove_from_cart Dragon Fruit
- 7get_cart_contents 2 lines
Order History Check
09Login as Priya, check all orders and delivered orders; logout; login as Ravi and check his order history. Tests multi-user switching.
- 1user_login priya
- 2-3get_order_history all + delivered
- 4user_logout
- 5-6user_login ravi + orders
New User Registration
10Register a new account, verify auto-login with get_user_info, add Lettuce to cart as the new user, then logout.
- 1navigate_to_tab profile
- 2user_register testuser@vegcart.com
- 3get_user_info verify
- 4-5add_item_to_cart Lettuce + verify
- 6user_logout
Greens Weekly Pack
11Login as Priya, filter to Greens, add Spinach, Coriander, Mint, Fenugreek, Curry Leaves, then place the order.
- 1-2user_login priya + clear cart
- 3filter_products_by_category greens
- 4-8add_item_to_cart 5 greens
- 9get_cart_contents
- 10-11place_order + navigate orders
Exotic Produce Explorer
12Browse exotic category; wishlist Avocado and Dragon Fruit; add Zucchini, Kale, Cherry Tomatoes to cart; verify both cart and wishlist.
- 1-3filter_products_by_category exotic + search
- 4-5add_to_wishlist Avocado + Dragon Fruit
- 6-8add_item_to_cart Zucchini + Kale + Cherry Tomatoes
- 9-10get_cart_contents + get_wishlist
11. Remote MCP Servers
Remote MCP Servers let the built-in agent call tools from Jira and GitHub alongside the page's WebMCP tools in the same conversation.
What this enables
Goal: "Find the open Jira bug I'm looking at, then add the item it describes to the cart"
Agent will:
1. jira__search_issues → find the Jira ticket
2. add_item_to_cart → call the page's WebMCP tool
3. Report success
Adding a remote MCP server
- Open Settings → scroll to 🔗 Remote MCP Servers
- Click + Add Remote MCP
- Choose a provider:
- Jira Remote MCP — fixed endpoint
https://mcp.atlassian.com/v1/mcp - GitHub Remote MCP — fixed endpoint
https://api.githubcopilot.com/mcp/
- Jira Remote MCP — fixed endpoint
- Fill in credentials, click Test (must succeed), then Add Remote MCP
Provider auth reference
| Provider | Auth type | Badge | Credentials |
|---|---|---|---|
| Jira | Personal token | personal-token | Atlassian email + API token |
| Jira | Service account | service-account | Bearer API key |
| GitHub | PAT | pat | GitHub personal access token |
Tool naming
Remote tools are prefixed with the server name to avoid collisions with page tools:
jira__create_issue
jira__search_issues
github__list_prs
github__create_comment
Agent status messages
12 tools in manifest (8 WebMCP, 4 remote MCP)
🔗 jira: 6 tools
🔗 github: 6 tools
If a server is unreachable, the agent logs a warning and continues with the remaining tools:
⚠ jira unreachable: HTTP 401: Unauthorized
12. How WebMCP Tools Work
WebMCP is Chrome's API for websites to declare their own tools for AI agents. A page registers tools by calling document.modelContext.registerTool().
TAMASH intercepts those registrations at page load time and makes the tools available in the Tool Tester, Agent, and Flow tabs.
How TAMASH discovers tools
Three sources are merged in priority order:
- Interceptor cache (
window.__tamash_tools) — TAMASH'scontent-interceptor.jsruns in the MAIN world atdocument_startand wrapsregisterToolso every registration is captured before Chrome's native API. - Native API (
document.modelContext.getTools()) — fills in any declarative tools Chrome registered at parse time. - DOM scanner — reads
[toolname]attributes on form elements for the WebMCP declarative HTML pattern.
What a WebMCP tool looks like (page code)
const mc = document.modelContext;
mc.registerTool(
{
name: 'add_item_to_cart',
description: 'Add a product to the shopping cart',
inputSchema: {
type: 'object',
properties: {
itemName: { type: 'string', description: 'Product name' },
quantity: { type: 'number', description: 'How many to add' }
},
required: ['itemName']
}
},
async (argsJson) => {
const { itemName, quantity = 1 } = JSON.parse(argsJson);
// ... perform the action ...
return JSON.stringify({ success: true });
}
);
Declarative HTML tools
Pages can also declare tools without JavaScript using HTML attributes:
<form toolname="search_products"
tooldescription="Search for products by keyword"
action="/search" method="get">
<input name="q" toolparamdescription="Search keywords" required>
</form>
13. Real-World Examples
Example 1 — Inspect VegCart tools in Tool Tester
- Open VegCart in Chrome
- Click the TAMASH icon → 🔧 Tool Tester → ↺ Refresh Tools
- Select
add_item_to_cart→ enteritemName = "Tomatoes",quantity = 2→ click ▶ Run
Result: { "success": true, "message": "Added 2 × Tomatoes to cart", "cartCount": 2 }
Example 2 — Agent runs a full VegCart checkout
Goal entered:
Login as priya@example.com / test123, clear the cart, add Alphonso Mango ×2 and Spinach ×3, place an order to 12 Lotus Colony Bengaluru 560001, and show me the order history
What the agent does:
- Loads 16 WebMCP tools from VegCart
user_login→ priya@example.com ✓clear_cart✓add_item_to_cartAlphonso Mango ×2 ✓add_item_to_cartSpinach ×3 ✓get_cart_contents→ verifies total ✓place_orderBengaluru 560001 ✓get_order_history→ new order confirmed ✓- Final result: "Order placed successfully. Cart contained 5 items. Order appears in history."
Example 3 — Save agent run as a reusable flow
- Complete Example 2 above — the run finishes with "Done"
- At the bottom of the run card, click 🔀 Save as Flow (8 steps)
- Name it "Priya Full Checkout" → click ✓ Save
Next time, open the Flow tab → click Priya Full Checkout → press ▶ Run. The same 8 steps execute without any AI or prompting.
Example 4 — Import Flow 11 (Greens Weekly Pack) and run it
- Download flow-11-greens-weekly-pack.json
- Open VegCart → TAMASH → 🔀 Flow tab → ⬇ Import → select the file
- The flow opens in the editor. Click ▶ Run
The flow logs in as Priya, filters to Greens, adds 5 items, reviews the cart, and places the order — 11 steps, no AI.
Example 5 — Cross-system task: search Jira, then add to VegCart
Prerequisites: Jira Remote MCP configured in Settings.
Goal entered:
Search for open BUGS-project Jira tickets titled "Missing item" and add each item name to the VegCart shopping cart
The agent: calls jira__search_issues → for each issue calls add_item_to_cart → calls get_cart_contents → reports items added.
Example 6 — Build a wishlist flow manually
- Open VegCart → TAMASH → 🔀 Flow → + New Flow
- Select
filter_products_by_category, setcategory = "fruits", click + Add Step - Select
add_to_wishlist, setitemName = "Alphonso Mango", click + Add Step - Select
add_to_wishlist, setitemName = "Pomegranate", click + Add Step - Select
get_wishlist, click + Add Step - Name the flow "Weekend Fruits Wishlist" → click ✓ Save → press ▶ Run
14. Tips & Troubleshooting
Tool Tester shows no tools
- Make sure Experimental Web Platform features is enabled at
chrome://flags - Relaunch Chrome after enabling the flag
- Reload the page after relaunching — TAMASH's interceptor must run before the page's scripts fire
- The page must call
document.modelContext.registerTool()— not all pages do - Using VegCart? Make sure you're on vibetestq.com/testweb/vegcart/ (not a local file) and the page has fully loaded before clicking Refresh Tools
Agent says "No tools found" or "tools unavailable"
Same causes as above. TAMASH works only on pages that expose WebMCP tools. Navigate to a WebMCP-enabled page before running.
Agent is stuck or taking too long
Click ■ Stop to abort. The agent has a 25-turn hard limit — it stops automatically when reached. Restart with a more specific goal. Check the Execution log to see where it got stuck.
My API key test fails
- OpenAI: get a key at platform.openai.com
- Anthropic: get a key at console.anthropic.com
- Google: get a key at aistudio.google.com
- Ollama (local): no API key required — leave the field blank and set Base URL to
http://localhost:11434 - Keys are stored per device and not synced. Set the key in each Chrome profile separately.
Remote MCP server shows "unreachable"
- For Jira personal token: confirm you are using the Atlassian API token (not your password) with the correct email
- For GitHub PAT: confirm the token has the required scopes and has not expired
- Wrong token → HTTP 401. Verify credentials and click Test again.
Flow fails on a step
The error in the run log shows which tool failed and why. Open the Tool Tester to call that tool manually and debug the parameters. Use ✎ on the failing step to adjust its values.
VegCart: flow runs but nothing happens on the page
- Make sure the VegCart tab is the active tab when you press Run — TAMASH always operates on the currently active tab
- If VegCart reloaded between runs, click ↺ in the Flow editor to refresh the tool list before re-running
- For login flows, confirm you are using the correct credentials:
priya@example.com / test123orravi@example.com / demo123
Still stuck?
Contact us at support@vibetestq.com or open an issue at github.com/QtpSudhakarOrg/tamashwm.