diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json index fb913e3..9168e19 100644 --- a/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugin.json @@ -1,8 +1,8 @@ { "name": "context-dev", "displayName": "Context.dev", - "version": "2.3.0", - "description": "Search, scrape, crawl, extract, parse, monitor, and process the live web with Context.dev.", + "version": "2.4.0", + "description": "Search, scrape, crawl, extract, parse, monitor, inspect usage, and process the live web with Context.dev.", "author": { "name": "Context.dev", "email": "hello@context.dev" diff --git a/README.md b/README.md index cc6b715..1fede37 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Context.dev for Cursor -The official [Context.dev](https://context.dev) plugin for Cursor. Give Cursor reliable access to the live web: search, company news, scraping, crawling, structured extraction, document parsing, brand intelligence, screenshots, recurring monitors, and large asynchronous batches. +The official [Context.dev](https://context.dev) plugin for Cursor. Give Cursor reliable access to the live web: search, company news, scraping, crawling, structured extraction, document parsing, brand intelligence, screenshots, recurring monitors, account usage, and large asynchronous batches. ## Install and connect @@ -34,7 +34,7 @@ Cursor automatically selects the appropriate Context.dev tool. Tool calls requir | Component | What it provides | | --- | --- | -| MCP server | The production Context.dev MCP with 40 direct, typed tools and OAuth | +| MCP server | The production Context.dev MCP with 42 direct, typed tools and OAuth | | Skills | Focused MCP workflows, direct API guidance, Cursor connection help, and Logo Link integration | | Commands | `/brand-colors`, `/scrape-url`, `/search-web`, and `/extract-web-data` | | Rules | Routes live-web tasks to the right Context.dev tool and keeps credentials out of client code | @@ -65,7 +65,7 @@ Cursor automatically selects the appropriate Context.dev tool. Tool calls requir | Batches | `submit-batch`, `list-batches`, `get-batch`, `get-batch-results`, `cancel-batch`, `delete-batch` | | Monitors | `create-monitor`, `list-monitors`, `get-monitor`, `update-monitor`, `delete-monitor`, `get-monitor-limits`, `list-monitor-credit-usage`, `run-monitor-now`, `list-monitor-runs`, `get-monitor-run`, `list-account-runs`, `list-monitor-changes`, `get-change`, `list-changes`, `rotate-monitor-webhook-secret` | | Webhooks | `list-webhook-deliveries`, `get-webhook-delivery`, `list-webhook-delivery-attempts`, `retry-webhook-delivery` | -| Account and feedback | `list-logs`, `get-log`, `submit-feedback` | +| Account and feedback | `get-usage`, `get-usage-history`, `list-logs`, `get-log`, `submit-feedback` | For a known page, use `web-scrape` with `formats: { markdown: true }`. Use `web-search` when the URL is unknown, `web-crawl` for a focused multi-page request, and `submit-batch` for up to 25,000 URLs or a large asynchronous crawl. diff --git a/rules/prefer-context-dev-mcp.mdc b/rules/prefer-context-dev-mcp.mdc index 149dd52..0c93f98 100644 --- a/rules/prefer-context-dev-mcp.mdc +++ b/rules/prefer-context-dev-mcp.mdc @@ -1,5 +1,5 @@ --- -description: Use the Context.dev MCP for live web search, company news, scraping, extraction, parsing, brand data, monitoring, and batches +description: Use the Context.dev MCP for live web search, company news, scraping, extraction, parsing, brand data, account usage, monitoring, and batches alwaysApply: false --- @@ -18,6 +18,7 @@ Choose the narrowest direct tool: - Design system and fonts: `web-styleguide`; rendered page: `web-scrape` with `formats: { screenshot: true }` - Large asynchronous work: `submit-batch`, then `get-batch` and `get-batch-results` - Recurring change detection: the monitor tools +- Current credit balance and next refill: `get-usage`; usage over time: `get-usage-history` Do not claim that MCP exposes endpoints absent from its tool list. Prefer bare domains where a tool asks for a domain and full `https://` URLs where a tool asks for a URL. Preserve source URLs and distinguish sourced facts from inference. diff --git a/skills/connect-context-dev/SKILL.md b/skills/connect-context-dev/SKILL.md index d6c69de..f094b9e 100644 --- a/skills/connect-context-dev/SKILL.md +++ b/skills/connect-context-dev/SKILL.md @@ -34,7 +34,7 @@ The agent should call `web-scrape` with `formats: { markdown: true }`. A success | 401 or authentication required | Disconnect the server, reconnect it, and complete OAuth again | | Browser flow does not open | Open the server details and select Authenticate manually | | Tools remain unavailable after OAuth | Reload the Cursor window and re-enable the server | -| Account has insufficient credits | Review usage in the Context.dev dashboard; do not repeatedly retry | +| Account has insufficient credits | Use `get-usage` to check the balance and next refill; use `get-usage-history` for recent consumption; do not repeatedly retry | Never ask the user to paste an OAuth token or private API key into chat. diff --git a/skills/context-dev/SKILL.md b/skills/context-dev/SKILL.md index ea5bee2..cabaae2 100644 --- a/skills/context-dev/SKILL.md +++ b/skills/context-dev/SKILL.md @@ -4,8 +4,8 @@ description: Build application code directly against the Context.dev REST API or license: MIT metadata: author: context.dev - version: "5.2" - last_verified: "2026-09-26" + version: "5.3" + last_verified: "2026-09-27" --- # Context.dev integration guide @@ -139,9 +139,9 @@ An uncached domain or email lookup with `behavior: "fail"` and `timeoutOpts.mill | Operation | Credits | | --- | --- | -| `POST /web/scrape` | 1, or 2 with `sharedParams.actions`. Highlights +1 when passages are returned; JSON +4 on success; product +1 on success or a missing page; product AI fallback +6 when used; PDF OCR +1 per recovered page on a fresh fetch. 0 when every output fails, except a target 404, which charges the base (+1 with product). | +| `POST /web/scrape` | 1, or 2 with `sharedParams.actions`. Highlights +1 when passages are returned; JSON +4 on success; product +1 on success or a missing page; PDF OCR +1 per recovered page on a fresh fetch. 0 when every output fails, except a target 404, which charges the base (+1 with product). | | `GET /web/urls` | 1, or 2 with `search` | -| `POST /web/crawl` | 1 per page; rate-limit weight 10 | +| `POST /web/crawl` | 1 per page; rate-limit weight 10 on per-minute plans | | `POST /web/search` | 1 per 10 results; Markdown and highlights each add 1 per 10 results when returned | | `POST /web/answers` | 10 (`fast`) or 100 (`ultra`, the default), charged only on success | | `POST /parse` | 1, plus 1 per OCR-recovered page | @@ -170,7 +170,7 @@ Inspect both the HTTP status and `error_code` for request errors. Scrape also re | `200` with a failed Scrape output | Retrieval, parsing, actions, selectors, or output limits prevented that output from completing | Preserve successful outputs and fix the target or options before retrying the failed output. Oversized outputs have `success: false` and `data: null`. | | `413`, `415` | Content too large (such as a Parse upload over 50 MiB) or unsupported, on operations that define these errors | Use a smaller or supported input. Scrape marks such outputs as failed instead. | | `422` | An operation-specific input restriction, such as a free email domain or a Brand timeout that is too low | Change the input or options; do not retry unchanged. | -| `429` | Rate limit for this API key | Honor `Retry-After`; retry with jittered, bounded backoff. | +| `429` | Organization concurrency limit, or the API key's per-minute limit on older plans | Honor `Retry-After`; keep parallel calls within the concurrency limit and retry with jittered, bounded backoff. | | `500`, `502`, `503` | Transient failure: a service error, an incomplete browser capture, or no browser capacity | Retry with jittered, bounded backoff, then surface a fallback. | Do not retry validation, permission, no-match, content-size, or unsupported-media failures unchanged. The SDKs already retry twice; account for that before adding another retry layer. See [Troubleshooting](https://docs.context.dev/optimization/troubleshooting) and [Rate limits](https://docs.context.dev/optimization/rate-limits) for operation-specific behavior.