Bowmark
Do things on live websites: prices, availability, quotes, bookings, anything behind a form or login.
Links
README
From the repo.
bowmark skill
LM Studio — GitHub strips a raw lmstudio: link, so this one is a paste, not a button. Copy it into your browser's address bar:
lmstudio://add_mcp?name=bowmark&config=eyJ1cmwiOiJodHRwczovL2FwaS5ib3dtYXJrLmFpL21jcC9iYWRnZS1sbXN0dWRpbyJ9
The skill for Bowmark — the web as callable functions. The agent reads a typed function library, writes a short script against it, and Bowmark runs it on the live sites.
npx skills add bowmark-ai/skill
Works on any host that supports the SKILL.md standard — Claude Code, Codex (which adopted the standard natively), Cursor, GitHub Copilot, OpenCode, and others.
The skill calls Bowmark's MCP server — wire that up at bowmark.ai/#install or via Smithery.
Want both in one step? On Claude Code and Codex, install the plugin instead — it bundles this skill and auto-wires the MCP:
# Claude Code
claude plugin marketplace add bowmark-ai/plugin && claude plugin install bowmark@bowmark-ai
# Codex
codex plugin marketplace add bowmark-ai/plugin # then `codex /plugins` to install
Tools
| Tool | What it does |
|---|---|
get_library | Read the typed function library for a task or a site. Read-only, touches no site, and an unrecognized query returns the index rather than an error. |
run | Execute a short async JavaScript script against the live sites and return { ok, result, logs, error, ms }. |
report | Tell Bowmark what it could not do, or which run came back wrong. Recorded as feedback; retries nothing. |
OpenAI Apps (ChatGPT plugin) variant
The ChatGPT Apps submission takes a skill as a ZIP or folder, and its needs differ slightly from the general skill: the plugin always ships the MCP alongside the skill, and ChatGPT exposes the tools under bare names. So there's a tailored variant, generated from this same canonical skill — never hand-maintained:
- Folder:
openai/bowmark/— a content mirror ofbowmark/SKILL.mdwith the no-MCP HTTP-fallback + "Higher limits" sections dropped (the MCP is always present here), tool names rewritten to bareget_library/run, and Claude-only frontmatter/tool-name references trimmed. - ZIP:
openai/bowmark-openai-skill.zip— the same folder zipped, ready to drop straight into the ChatGPT "Skills" uploader. A committed artifact (not built in CI: the release runner has nozipbinary), so it rides the mirror tobowmark-ai/skillat a stable raw URL like any other file.
Both are generated by build-openai.mjs. Edit bowmark/SKILL.md, then regenerate and commit — never edit the openai/ copies directly (CI's check:openai fails a PR whose text mirror is stale):
pnpm -F @bowmark/skill sync:openai # regenerate openai/bowmark/SKILL.md
pnpm -F @bowmark/skill build:openai-zip # rebuild openai/bowmark-openai-skill.zip (commit it)
License
MIT © Bowmark AI
Config for your environment
Use the endpoint URL below in your config. No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "https://api.bowmark.ai/mcp/registry"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.