Skip to main content
Glama
sessemi

sessemi-mcp

Official
by sessemi
README.md
# sessemi-mcp

MCP server that gives AI agents the ability to scrape websites protected by **Cloudflare**, **DataDome**, and **Akamai**.

Works with Claude Desktop, Cursor, Windsurf, Cline, and any MCP-compatible client.

Zero framework dependencies — implements MCP protocol directly. Only depends on the [`sessemi`](https://pypi.org/project/sessemi/) Python client.

## Install

```bash
pip install sessemi-mcp
```

Or run directly with `uvx`:

```bash
uvx sessemi-mcp
```

## Setup

Get a free API key at [app.sessemi.com](https://app.sessemi.com).

### Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS, `%APPDATA%\Claude\claude_desktop_config.json` on Windows):

```json
{
  "mcpServers": {
    "sessemi": {
      "command": "uvx",
      "args": ["sessemi-mcp"],
      "env": {
        "SESSEMI_KEY": "your_api_key"
      }
    }
  }
}
```

### Cursor

Add to `.cursor/mcp.json` in your project:

```json
{
  "mcpServers": {
    "sessemi": {
      "command": "uvx",
      "args": ["sessemi-mcp"],
      "env": {
        "SESSEMI_KEY": "your_api_key"
      }
    }
  }
}
```

## Tools

### `scrape`

Scrape a URL, bypassing anti-bot protection. Returns page content.

| Parameter | Type   | Description |
|-----------|--------|-------------|
| `url`     | string | Target URL (required) |
| `country` | string | Two-letter country code for geo-targeting (`FR`, `US`, `DE`). Auto-selects residential proxies. |
| `render`  | bool   | Force browser rendering for JS-heavy pages |
| `session` | string | Session name for cookie/IP persistence across requests |
| `headers` | string | Custom HTTP headers as JSON string |

### `credits`

Check your remaining credit balance, tier, and usage.

## Example

Ask Claude:

> "Scrape the Idealista listings page for Madrid apartments"

Claude will call the `scrape` tool with the URL and `country: "ES"`, get back the full HTML, and extract the data you need.

> "How many credits do I have left?"

Claude calls `credits` and reports your balance.

## How it works

Sessemi handles the hard parts automatically:

- **Cloudflare** — turnstile challenges, JS challenges, managed challenges
- **DataDome** — device checks, slider CAPTCHAs, interstitials
- **Akamai** — sensor validation, bot manager

Your AI agent sends a URL → Sessemi returns the page content. No browser config, no proxy setup, no CAPTCHA services.

## Links

- [Sessemi](https://sessemi.com) — web scraping API
- [Documentation](https://sessemi.com/docs)
- [Python client](https://github.com/sessemi/sessemi-python) — `pip install sessemi`
- [Get API key](https://app.sessemi.com)

TDQS

A3.7/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: 'credits' for checking account balance and 'scrape' for performing web scraping. There is no potential for confusion.

Naming Consistency3/5

The tool names are simple and clear but not consistent in part of speech: 'credits' is a noun while 'scrape' is a verb. A more consistent pattern like 'check_credits' and 'scrape_url' would improve naming.

Tool Count2/5

Only 2 tools is very minimal for a scraping service. Typically such servers include tools for managing sources, viewing history, or handling different output formats. The count is too low for the implied domain.

Completeness2/5

The tool surface covers only the basic operations: check credits and perform a scrape. Missing obvious features like listing previous scrapes, cancelling jobs, or configuring output options. Agents would likely encounter dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues