### Example Usage Response Format
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
This is an example of the JSON response format for API usage. It details the user's current plan, consumed usage, the limit for the current billing cycle, remaining requests, and when the usage resets.
```json
{
"plan": "pro",
"usage": 1250,
"limit": 100000,
"remaining": 98750,
"resetsAt": "2026-04-01T00:00:00.000Z"
}
```
--------------------------------
### Configure StripFeed MCP Server for AI Assistants (JSON)
Source: https://context7.com/stripfeed/mcp-server/llms.txt
Provides JSON configuration examples for integrating the StripFeed MCP server with AI assistants like Cursor/VS Code and Claude Desktop. It shows how to specify the command, arguments, and environment variables, including the STRIPFEED_API_KEY.
```json
// For Cursor / VS Code (.cursor/mcp.json)
{
"mcpServers": {
"stripfeed": {
"command": "npx",
"args": ["-y", "@stripfeed/mcp-server"],
"env": {
"STRIPFEED_API_KEY": "sf_live_your_key"
}
}
}
}
// For Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json)
{
"mcpServers": {
"stripfeed": {
"command": "npx",
"args": ["-y", "@stripfeed/mcp-server"],
"env": {
"STRIPFEED_API_KEY": "sf_live_your_key"
}
}
}
}
```
--------------------------------
### Example JSON Response Format
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
This is an example of the JSON response format returned by the StripFeed API when the `format=json` parameter is used. It includes details about the processed content, token usage, and fetch performance.
```json
{
"markdown": "# Page Title\n\nClean content here...",
"html": "...",
"text": "Plain text version...",
"url": "https://example.com",
"title": "Page Title",
"tokens": 1250,
"originalTokens": 14200,
"savingsPercent": 91.2,
"cached": false,
"fetchMs": 342,
"format": "json",
"truncated": false,
"selector": "article",
"model": null
}
```
--------------------------------
### Direct REST API Calls with cURL
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Examples of how to interact with the StripFeed REST API directly using cURL commands. Covers single URL fetches, batch fetches, and specifying options like format and CSS selectors.
```bash
# Single URL fetch (returns Markdown)
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://news.ycombinator.com" \
-H "Authorization: Bearer sf_live_your_key"
```
```bash
# With options: JSON format, CSS selector, max 500 tokens
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://example.com&format=json&selector=article&max_tokens=500" \
-H "Authorization: Bearer sf_live_your_key"
```
```bash
# Batch fetch (up to 10 URLs, with per-URL selectors)
curl -X POST "https://www.stripfeed.dev/api/v1/batch" \
-H "Authorization: Bearer sf_live_your_key" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://news.ycombinator.com", {"url": "https://docs.anthropic.com", "selector": "article"}]}'
```
--------------------------------
### Build and Run StripFeed MCP Server Commands
Source: https://github.com/stripfeed/mcp-server/blob/main/CLAUDE.md
Provides essential npm commands for building, developing, and running the StripFeed MCP Server. 'npm run build' compiles TypeScript to JavaScript, 'npm run dev' enables watch mode for development, and 'npm start' launches the server using stdio transport.
```bash
npm run build # Compile TypeScript to dist/
npm run dev # Watch mode
npm start # Run server (stdio transport)
```
--------------------------------
### Check API Usage with curl
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
This snippet demonstrates how to check your API usage by making a GET request to the /usage endpoint. It requires an Authorization header with your API key. The response is in JSON format.
```shell
curl "https://www.stripfeed.dev/api/v1/usage" \
-H "Authorization: Bearer sf_live_your_key"
```
--------------------------------
### GET /api/v1/fetch - Convert Single URL to Markdown
Source: https://context7.com/stripfeed/mcp-server/llms.txt
Fetches a single URL and converts it to clean Markdown by stripping ads, navigation, scripts, and noise. Supports optional CSS selectors, multiple output formats, cache control, and token budget truncation.
```APIDOC
## GET /api/v1/fetch
### Description
Fetches a single URL and converts it to clean Markdown by stripping ads, navigation, scripts, and noise. Supports optional CSS selectors for extracting specific page elements, multiple output formats (markdown, json, text, html), cache control, and token budget truncation.
### Method
GET
### Endpoint
/api/v1/fetch
### Parameters
#### Query Parameters
- **url** (string) - Required - The URL to fetch and convert.
- **selector** (string) - Optional - A CSS selector to extract specific elements from the page.
- **format** (string) - Optional - The desired output format (e.g., `markdown`, `json`, `text`, `html`). Defaults to `markdown`.
- **max_tokens** (integer) - Optional - The maximum number of tokens to include in the output.
- **cache** (boolean) - Optional - Whether to use cached content. Defaults to `true`.
- **ttl** (integer) - Optional - Time-to-live for cache in seconds.
### Request Example
```bash
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://react.dev/learn" \
-H "Authorization: Bearer sf_live_your_key"
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://stripe.com/pricing&selector=.pricing-table" \
-H "Authorization: Bearer sf_live_your_key"
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://example.com&format=json&selector=article&max_tokens=500" \
-H "Authorization: Bearer sf_live_your_key"
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://news.ycombinator.com&cache=false" \
-H "Authorization: Bearer sf_live_your_key"
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://news.ycombinator.com&ttl=7200" \
-H "Authorization: Bearer sf_live_your_key"
```
### Response
#### Success Response (200)
- **markdown** (string) - The converted content in Markdown format.
- **html** (string) - The converted content in HTML format (if requested).
- **text** (string) - The converted content in plain text format (if requested).
- **url** (string) - The original URL fetched.
- **title** (string) - The title of the fetched page.
- **tokens** (integer) - The number of tokens used for the content.
- **originalTokens** (integer) - The estimated number of tokens in the original content.
- **savingsPercent** (number) - The percentage of tokens saved.
- **cached** (boolean) - Whether the response was served from cache.
- **fetchMs** (integer) - The time taken to fetch and process the URL in milliseconds.
- **truncated** (boolean) - Whether the content was truncated due to `max_tokens`.
#### Response Example
```json
{
"markdown": "# Page Title\n\nClean content here...",
"html": "...",
"text": "Plain text version...",
"url": "https://example.com",
"title": "Page Title",
"tokens": 500,
"originalTokens": 14200,
"savingsPercent": 96.5,
"cached": false,
"fetchMs": 342,
"truncated": true
}
```
```
--------------------------------
### Configure StripFeed MCP Server for Claude Code (Bash)
Source: https://context7.com/stripfeed/mcp-server/llms.txt
Shows the bash commands required to install and configure the StripFeed MCP server for Claude Code. This includes adding the server, exporting the API key, and optionally adding it to shell profile files.
```bash
# For Claude Code - install and configure
claude mcp add stripfeed -- npx -y @stripfeed/mcp-server
# Set API key in environment
export STRIPFEED_API_KEY=sf_live_your_key
# Or add to shell profile (~/.zshrc, ~/.bashrc)
echo 'export STRIPFEED_API_KEY=sf_live_your_key' >> ~/.zshrc
```
--------------------------------
### GET /api/v1/usage - Monitor API Usage and Limits
Source: https://context7.com/stripfeed/mcp-server/llms.txt
Returns the current monthly API usage statistics including plan type, request count, remaining quota, and reset date.
```APIDOC
## GET /api/v1/usage
### Description
Returns the current monthly API usage statistics including plan type, request count, remaining quota, and reset date. Takes no parameters. Essential for monitoring consumption before batch operations.
### Method
GET
### Endpoint
/api/v1/usage
### Parameters
No parameters are required for this endpoint.
### Request Example
```bash
curl "https://www.stripfeed.dev/api/v1/usage" \
-H "Authorization: Bearer sf_live_your_key"
```
### Response
#### Success Response (200)
- **plan** (string) - The current subscription plan (e.g., `pro`, `free`).
- **usage** (integer) - The number of requests or tokens used this month.
- **limit** (integer) - The total limit for the current billing cycle.
- **remaining** (integer) - The number of requests or tokens remaining.
- **resetsAt** (string) - The date and time when the usage quota resets (ISO 8601 format).
#### Response Example
```json
{
"plan": "pro",
"usage": 1250,
"limit": 100000,
"remaining": 98750,
"resetsAt": "2026-04-01T00:00:00.000Z"
}
```
```json
{
"plan": "free",
"usage": 50,
"limit": 1000,
"remaining": 950,
"resetsAt": "2026-04-01T00:00:00.000Z"
}
```
```
--------------------------------
### MCP Client Error Handling Strategy
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Defines retry strategies for different error types returned by the MCP server. It categorizes errors into retryable, non-retryable, and successful-but-empty scenarios, guiding client-side actions.
```text
- Retryable errors (502, 504, 429 rate limit): Retry up to 2 times with exponential backoff (1s, 3s)
- Non-retryable errors (401, 422, 429 quota): Do not retry. Fix the input or check configuration.
- Successful but empty: Try alternative selectors or inform the user the page has no extractable content
```
--------------------------------
### Fetch URL Content with Python SDK
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
This code demonstrates how to fetch content from a URL using the StripFeed Python SDK. It covers basic fetching, fetching with options like selector and max_tokens, and batch fetching. API usage can also be checked.
```python
from stripfeed import StripFeed
sf = StripFeed("sf_live_your_key")
# Fetch a URL
result = sf.fetch("https://example.com")
print(result["markdown"])
print(f"Tokens: {result['tokens']} (saved {result['savingsPercent']}%)")
# With options
article = sf.fetch("https://example.com", selector="article", max_tokens=500, ttl=7200)
# Batch fetch
batch = sf.batch(["https://a.com", "https://b.com"])
# Check usage
usage = sf.usage()
print(f"{usage['usage']} / {usage['limit']} requests used")
```
--------------------------------
### Batch Fetch URLs and Convert to Markdown
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Fetches multiple URLs (up to 10) in parallel and converts their content to Markdown. Handles individual URL failures gracefully. Requires a Pro plan. Input is an array of URLs, with an optional AI model ID for tracking.
```markdown
Fetched 3/3 URLs successfully.
---
## Quick Start - React
Source: https://react.dev/learn | 2,450 tokens (saved 91.2% from 27,840)
# Quick Start
...
---
## Introduction - Vue.js
Source: https://vuejs.org/guide/introduction.html | 1,890 tokens (saved 88.5% from 16,400)
# Introduction
...
---
## Introduction / Svelte
Source: https://svelte.dev/docs/introduction | 1,120 tokens (saved 93.1% from 16,200)
# Introduction
...
```
```markdown
Fetched 2/3 URLs successfully.
---
## Quick Start - React
Source: https://react.dev/learn | 2,450 tokens (saved 91.2% from 27,840)
# Quick Start
...
---
## https://invalid-url.example
Error: Target URL unreachable
---
## Introduction - Vue.js
Source: https://vuejs.org/guide/introduction.html | 1,890 tokens (saved 88.5% from 16,400)
# Introduction
...
```
--------------------------------
### Fetch Web Content with TypeScript SDK
Source: https://context7.com/stripfeed/mcp-server/llms.txt
Demonstrates how to use the StripFeed TypeScript SDK to fetch web content, including basic fetches, fetches with options like selectors and token limits, batch fetches, and checking API usage.
```typescript
import StripFeed from "stripfeed";
const sf = new StripFeed("sf_live_your_key");
// Basic URL fetch
const result = await sf.fetch("https://example.com");
console.log(result.markdown);
console.log(`Tokens: ${result.tokens} (saved ${result.savingsPercent}%)`);
// Fetch with options: selector, token limit, and custom cache TTL
const article = await sf.fetch("https://example.com", {
selector: "article",
maxTokens: 500,
ttl: 7200,
});
// Batch fetch multiple URLs in parallel
const batch = await sf.batch(["https://a.com", "https://b.com"]);
for (const item of batch.results) {
if (item.status === 200) {
console.log(`${item.title}: ${item.tokens} tokens`);
} else {
console.error(`${item.url}: ${item.error}`);
}
}
// Check API usage before batch operations
const usage = await sf.usage();
console.log(`${usage.usage} / ${usage.limit} requests used`);
if (usage.remaining < 100) {
console.warn("Low quota remaining!");
}
```
--------------------------------
### Fetch Web Content with Python SDK
Source: https://context7.com/stripfeed/mcp-server/llms.txt
Illustrates the usage of the StripFeed Python SDK for fetching web content, covering basic fetches, fetches with options, batch operations, and API usage checks.
```python
from stripfeed import StripFeed
sf = StripFeed("sf_live_your_key")
# Basic URL fetch
result = sf.fetch("https://example.com")
print(result["markdown"])
print(f"Tokens: {result['tokens']} (saved {result['savingsPercent']}%) ")
# Fetch with options: selector, token limit, and custom cache TTL
article = sf.fetch(
"https://example.com",
selector="article",
max_tokens=500,
ttl=7200
)
# Batch fetch multiple URLs in parallel
batch = sf.batch(["https://a.com", "https://b.com"])
for item in batch["results"]:
if item["status"] == 200:
print(f"{item['title']}: {item['tokens']} tokens")
else:
print(f"{item['url']}: {item['error']}")
# Check API usage
usage = sf.usage()
print(f"{usage['usage']} / {usage['limit']} requests used")
```
--------------------------------
### Fetch URL Content with TypeScript/JavaScript SDK
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
This code demonstrates how to fetch content from a URL using the StripFeed TypeScript/JavaScript SDK. It shows basic fetching, fetching with options like selector and maxTokens, and batch fetching. Usage can also be checked programmatically.
```typescript
import StripFeed from "stripfeed";
const sf = new StripFeed("sf_live_your_key");
// Fetch a URL
const result = await sf.fetch("https://example.com");
console.log(result.markdown);
console.log(`Tokens: ${result.tokens} (saved ${result.savingsPercent}%)`);
// With options
const article = await sf.fetch("https://example.com", {
selector: "article",
maxTokens: 500,
ttl: 7200,
});
// Batch fetch
const batch = await sf.batch(["https://a.com", "https://b.com"]);
// Check usage
const usage = await sf.usage();
console.log(`${usage.usage} / ${usage.limit} requests used`);
```
--------------------------------
### REST API - Batch Fetch
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Shows how to fetch content from multiple URLs simultaneously using the StripFeed REST API's batch endpoint.
```APIDOC
### Batch fetch (up to 10 URLs, with per-URL selectors)
```bash
curl -X POST "https://www.stripfeed.dev/api/v1/batch" \
-H "Authorization: Bearer sf_live_your_key" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://news.ycombinator.com", {"url": "https://docs.anthropic.com", "selector": "article"}]}'
```
```
--------------------------------
### Batch Fetch URLs
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Fetches multiple URLs in parallel and converts them to clean Markdown. Supports up to 10 URLs per call and requires a Pro plan. Failures for individual URLs are handled gracefully.
```APIDOC
## POST /stripfeed/mcp-server/batch_fetch
### Description
Fetches multiple URLs in parallel and converts them to clean Markdown. Process up to 10 URLs in a single call. Requires Pro plan.
### Method
POST
### Endpoint
/stripfeed/mcp-server/batch_fetch
### Parameters
#### Query Parameters
- **urls** (string[]) - Required - Array of URLs to fetch (1-10)
- **model** (string) - Optional - AI model ID for cost tracking
### Request Example
```json
{
"urls": [
"https://react.dev/learn",
"https://vuejs.org/guide/introduction.html",
"https://svelte.dev/docs/introduction"
]
}
```
### Response
#### Success Response (200)
- **fetched_urls** (string) - Markdown content of successfully fetched URLs.
- **failed_urls** (string) - Information about failed URL fetches.
#### Response Example
```
Fetched 3/3 URLs successfully.
---
## Quick Start - React
Source: https://react.dev/learn | 2,450 tokens (saved 91.2% from 27,840)
# Quick Start
...
---
## Introduction - Vue.js
Source: https://vuejs.org/guide/introduction.html | 1,890 tokens (saved 88.5% from 16,400)
# Introduction
...
---
## Introduction / Svelte
Source: https://svelte.dev/docs/introduction | 1,120 tokens (saved 93.1% from 16,200)
# Introduction
...
```
#### Error Handling Example
```
Fetched 2/3 URLs successfully.
---
## Quick Start - React
Source: https://react.dev/learn | 2,450 tokens (saved 91.2% from 27,840)
# Quick Start
...
---
## https://invalid-url.example
Error: Target URL unreachable
---
## Introduction - Vue.js
Source: https://vuejs.org/guide/introduction.html | 1,890 tokens (saved 88.5% from 16,400)
# Introduction
...
```
```
--------------------------------
### Handling fetch_url Failures and Empty Results
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
This section details the different error codes and messages returned by the MCP server when `fetch_url` encounters issues, along with recommended client actions and retry strategies.
```APIDOC
## Handling fetch_url Failures and Empty Results
When `fetch_url` fails to process a URL or returns empty content, the MCP server throws an error with a specific status code and message. Here is how an MCP client should interpret and handle each failure mode:
**Network and target failures:**
| Status | Error Message |
|--------|--------------|
| 502 | `Target URL unreachable` |
| 504 | `Target URL timed out` |
**Input validation failures (do not retry):**
| Status | Error Message |
|--------|--------------|
| 422 | `Invalid URL` |
| 422 | `No content found matching selector` |
| 422 | `Invalid format parameter` |
| 422 | `Invalid max_tokens parameter` |
**Auth and rate limit failures:**
| Status | Error Message |
|--------|--------------|
| 401 | `Missing or invalid Authorization header` |
| 429 | `Rate limit exceeded` |
| 429 | `Monthly quota exceeded` |
**Empty results:** If `fetch_url` succeeds (no error thrown) but the returned Markdown content is very short or empty, this means the target page had no extractable main content. In this case:
1. Try using a CSS `selector` to target a specific element
2. Try fetching with `format: "html"` to see the raw extracted HTML
3. The page may require JavaScript rendering (not currently supported)
**Retry strategy for MCP clients:**
- **Retryable errors** (502, 504, 429 rate limit): Retry up to 2 times with exponential backoff (1s, 3s)
- **Non-retryable errors** (401, 422, 429 quota): Do not retry. Fix the input or check configuration.
- **Successful but empty**: Try alternative selectors or inform the user the page has no extractable content
```
--------------------------------
### REST API - Single URL Fetch
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Demonstrates how to fetch content from a single URL using the StripFeed REST API, with options for format and CSS selectors.
```APIDOC
## REST API
### Single URL fetch (returns Markdown)
```bash
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://news.ycombinator.com" \
-H "Authorization: Bearer sf_live_your_key"
```
### With options: JSON format, CSS selector, max 500 tokens
```bash
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://example.com&format=json&selector=article&max_tokens=500" \
-H "Authorization: Bearer sf_live_your_key"
```
```
--------------------------------
### Error Handling Details
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Provides a detailed breakdown of common errors, their causes, and resolutions for interacting with the MCP server.
```APIDOC
## Error Handling
The MCP server returns clear error messages when something goes wrong:
| Error |
|-------|
| `STRIPFEED_API_KEY environment variable is required` |
| `StripFeed API error 401: Missing or invalid Authorization header` |
| `StripFeed API error 422: Invalid URL` |
| `StripFeed API error 422: No content found matching selector` |
| `StripFeed API error 429: Rate limit exceeded` |
| `StripFeed API error 429: Monthly quota exceeded` |
| `StripFeed API error 502: Target URL unreachable` |
| `StripFeed API error 504: Target URL timed out` |
```
--------------------------------
### Fetch Single URL with Max Tokens
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Fetches a single URL and applies a maximum token limit to the output. This is useful for further reducing the size of content, especially after applying CSS selectors, to stay within specific token constraints.
```python
fetch_url with url: "https://example.com/product/a", selector: ".product-details", max_tokens: 1000
```
--------------------------------
### Check API Usage and Plan Limits
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Retrieves information about the current API usage, including the plan type, consumed tokens, remaining tokens, and the reset date for the usage cycle. This function helps users monitor their API consumption.
```text
Plan: pro
Usage: 1,250 / 100,000
Remaining: 98,750
Resets: 2026-04-01T00:00:00.000Z
```
```text
Plan: free
Usage: 42 / 200
Remaining: 158
Resets: 2026-04-01T00:00:00.000Z
```
```text
Plan: enterprise
Usage: 54,200 (unlimited)
Resets: 2026-04-01T00:00:00.000Z
```
--------------------------------
### REST API Batch Fetch with Selectors
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
A REST API endpoint for batch fetching URLs, allowing the use of CSS selectors to extract specific content from each URL. This provides more granular control over the fetched data.
```APIDOC
## POST /api/v1/batch
### Description
Fetches multiple URLs in parallel using the REST API, allowing for the use of CSS selectors to extract specific content from each URL. This endpoint is useful for targeted data extraction.
### Method
POST
### Endpoint
/api/v1/batch
### Parameters
#### Headers
- **Authorization** (string) - Required - Bearer token for authentication (e.g., `Bearer sf_live_your_key`)
- **Content-Type** (string) - Required - Must be `application/json`
#### Request Body
- **urls** (array) - Required - An array where each item can be a plain URL string or an object with `url` (string) and optional `selector` (string).
- **model** (string) - Optional - AI model ID for cost tracking.
### Request Example
```json
{
"urls": [
"https://example.com",
{"url": "https://docs.anthropic.com", "selector": "article"},
{"url": "https://stripe.com/pricing", "selector": ".pricing-table"}
]
}
```
### Response
#### Success Response (200)
- **results** (array) - An array of objects, each containing the fetched content for a URL, potentially filtered by a selector.
#### Response Example
```json
[
{
"url": "https://example.com",
"content": "..."
},
{
"url": "https://docs.anthropic.com",
"selector": "article",
"content": "..."
},
{
"url": "https://stripe.com/pricing",
"selector": ".pricing-table",
"content": "
...
"
}
]
```
```
--------------------------------
### Check API Usage
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Checks the current monthly API usage and plan limits. This endpoint takes no parameters.
```APIDOC
## GET /stripfeed/mcp-server/check_usage
### Description
Checks your current monthly API usage and plan limits. Takes no parameters.
### Method
GET
### Endpoint
/stripfeed/mcp-server/check_usage
### Parameters
No parameters required.
### Response
#### Success Response (200)
- **Plan** (string) - The current subscription plan (e.g., 'pro', 'free', 'enterprise').
- **Usage** (string) - Current usage count and limit (e.g., '1,250 / 100,000' or '54,200 (unlimited)').
- **Remaining** (string) - Number of remaining requests or tokens.
- **Resets** (string) - The date and time when the usage resets.
#### Response Example (Pro Plan)
```
Plan: pro
Usage: 1,250 / 100,000
Remaining: 98,750
Resets: 2026-04-01T00:00:00.000Z
```
#### Response Example (Free Plan)
```
Plan: free
Usage: 42 / 200
Remaining: 158
Resets: 2026-04-01T00:00:00.000Z
```
#### Response Example (Enterprise Plan)
```
Plan: enterprise
Usage: 54,200 (unlimited)
Resets: 2026-04-01T00:00:00.000Z
```
```
--------------------------------
### Check Usage API
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
This endpoint allows you to check your current API usage against your plan limits. It requires an Authorization header with your API key.
```APIDOC
## GET /api/v1/usage
### Description
Retrieves the current API usage details, including plan, usage count, limit, and remaining requests.
### Method
GET
### Endpoint
/api/v1/usage
### Parameters
#### Query Parameters
- **format** (string) - Optional - Specifies the response format. Supported values: `json`.
#### Headers
- **Authorization** (string) - Required - Bearer token with your API key (e.g., `Bearer sf_live_your_key`).
### Request Example
```bash
curl "https://www.stripfeed.dev/api/v1/usage" \
-H "Authorization: Bearer sf_live_your_key"
```
### Response
#### Success Response (200)
- **plan** (string) - The current subscription plan (e.g., "pro").
- **usage** (integer) - The number of requests used in the current billing cycle.
- **limit** (integer) - The total number of requests allowed per billing cycle.
- **remaining** (integer) - The number of requests remaining in the current billing cycle.
- **resetsAt** (string) - The date and time when the usage resets (ISO 8601 format).
#### Response Example
```json
{
"plan": "pro",
"usage": 1250,
"limit": 100000,
"remaining": 98750,
"resetsAt": "2026-04-01T00:00:00.000Z"
}
```
```
--------------------------------
### Batch Fetch Multiple URLs to Markdown using REST API
Source: https://context7.com/stripfeed/mcp-server/llms.txt
Processes up to 10 URLs in a single API call, converting each to clean Markdown. Supports per-URL CSS selectors for targeted extraction. Individual URL failures do not affect other URLs in the batch. Requires a Pro plan and a StripFeed API key.
```bash
curl -X POST "https://www.stripfeed.dev/api/v1/batch" \
-H "Authorization: Bearer sf_live_your_key" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://react.dev/learn", "https://vuejs.org/guide/introduction.html", "https://svelte.dev/docs/introduction"]}'
```
```bash
curl -X POST "https://www.stripfeed.dev/api/v1/batch" \
-H "Authorization: Bearer sf_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://example.com",
{"url": "https://docs.anthropic.com", "selector": "article"},
{"url": "https://stripe.com/pricing", "selector": ".pricing-table"}
],
"model": "claude-sonnet-4-6"
}'
```
```bash
curl -X POST "https://www.stripfeed.dev/api/v1/batch" \
-H "Authorization: Bearer sf_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"urls": [
{"url": "https://example.com/product/a", "selector": ".product-details"},
{"url": "https://example.com/product/b", "selector": ".product-details"},
{"url": "https://example.com/product/c", "selector": ".product-details"}
]
}'
```
--------------------------------
### POST /api/v1/batch - Fetch Multiple URLs in Parallel
Source: https://context7.com/stripfeed/mcp-server/llms.txt
Processes up to 10 URLs in a single API call, converting each to clean Markdown. Individual URL failures don't affect other URLs in the batch. Supports per-URL CSS selectors.
```APIDOC
## POST /api/v1/batch
### Description
Processes up to 10 URLs in a single API call, converting each to clean Markdown. Individual URL failures don't affect other URLs in the batch. Supports per-URL CSS selectors for targeted extraction.
### Method
POST
### Endpoint
/api/v1/batch
### Parameters
#### Request Body
- **urls** (array) - Required - An array of URLs or objects containing URL and optional selector.
- Each element can be a string (URL) or an object with:
- **url** (string) - Required - The URL to fetch.
- **selector** (string) - Optional - A CSS selector to extract specific elements from the page.
- **model** (string) - Optional - The model to use for processing.
### Request Example
```bash
curl -X POST "https://www.stripfeed.dev/api/v1/batch" \
-H "Authorization: Bearer sf_live_your_key" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://react.dev/learn", "https://vuejs.org/guide/introduction.html", "https://svelte.dev/docs/introduction"]}'
curl -X POST "https://www.stripfeed.dev/api/v1/batch" \
-H "Authorization: Bearer sf_live_your_key" \
-H "Content-Type: application/json" \
-d '{ "urls": [ "https://example.com", {"url": "https://docs.anthropic.com", "selector": "article"}, {"url": "https://stripe.com/pricing", "selector": ".pricing-table"} ], "model": "claude-sonnet-4-6" }'
curl -X POST "https://www.stripfeed.dev/api/v1/batch" \
-H "Authorization: Bearer sf_live_your_key" \
-H "Content-Type: application/json" \
-d '{ "urls": [ {"url": "https://example.com/product/a", "selector": ".product-details"}, {"url": "https://example.com/product/b", "selector": ".product-details"}, {"url": "https://example.com/product/c", "selector": ".product-details"} ] }'
```
### Response
#### Success Response (200)
- The response will contain the processed content for each URL. The exact structure may vary, but typically includes the converted Markdown and metadata for each item.
#### Response Example
```
Fetched 3/3 URLs successfully.
---
## Quick Start - React
Source: https://react.dev/learn | 2,450 tokens (saved 91.2% from 27,840)
# Quick Start
...
---
## Introduction - Vue.js
Source: https://vuejs.org/guide/introduction.html | 1,890 tokens (saved 88.5% from 16,400)
# Introduction
...
```
```
--------------------------------
### Batch Fetch with CSS Selectors via REST API
Source: https://github.com/stripfeed/mcp-server/blob/main/README.md
Uses the StripFeed REST API to fetch content from URLs, optionally applying CSS selectors to extract specific parts of the page. This allows for more targeted data retrieval and reduced token usage. The input can be an array of URL strings or objects containing a URL and a selector.
```bash
curl -X POST "https://www.stripfeed.dev/api/v1/batch" \
-H "Authorization: Bearer sf_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://example.com",
{"url": "https://docs.anthropic.com", "selector": "article"},
{"url": "https://stripe.com/pricing", "selector": ".pricing-table"}
]
}'
```
```bash
curl -X POST "https://www.stripfeed.dev/api/v1/batch" \
-H "Authorization: Bearer sf_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"urls": [
{"url": "https://example.com/product/a", "selector": ".product-details"},
{"url": "https://example.com/product/b", "selector": ".product-details"},
{"url": "https://example.com/product/c", "selector": ".product-details"}
],
"model": "claude-sonnet-4-6"
}'
```
--------------------------------
### Fetch Single URL to Markdown using REST API
Source: https://context7.com/stripfeed/mcp-server/llms.txt
Converts a single web URL into clean Markdown. Supports optional CSS selectors for specific element extraction, various output formats (markdown, json, text, html), cache control, and token budget truncation. Requires a StripFeed API key for authentication.
```bash
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://react.dev/learn" \
-H "Authorization: Bearer sf_live_your_key"
```
```bash
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://stripe.com/pricing&selector=.pricing-table" \
-H "Authorization: Bearer sf_live_your_key"
```
```bash
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://example.com&format=json&selector=article&max_tokens=500" \
-H "Authorization: Bearer sf_live_your_key"
```
```bash
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://news.ycombinator.com&cache=false" \
-H "Authorization: Bearer sf_live_your_key"
```
```bash
curl "https://www.stripfeed.dev/api/v1/fetch?url=https://news.ycombinator.com&ttl=7200" \
-H "Authorization: Bearer sf_live_your_key"
```
--------------------------------
### Check API Usage and Limits using REST API
Source: https://context7.com/stripfeed/mcp-server/llms.txt
Retrieves current monthly API usage statistics, including plan type, request count, remaining quota, and reset date. This endpoint takes no parameters and is essential for monitoring consumption, especially before performing batch operations. Requires a StripFeed API key.
```bash
curl "https://www.stripfeed.dev/api/usage" \
-H "Authorization: Bearer sf_live_your_key"
```
--------------------------------
### StripFeed MCP Server Git Commit Authoring
Source: https://github.com/stripfeed/mcp-server/blob/main/CLAUDE.md
Ensures all commits to the StripFeed MCP Server repository are authored by 'Claude'. This is achieved by setting environment variables for the committer name and email before executing the git commit command.
```bash
GIT_COMMITTER_NAME="Claude" GIT_COMMITTER_EMAIL="noreply@anthropic.com" git commit --author="Claude " -m "message"
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.