Koskamo

X1-BaaS MCP

An MCP server for the X1-BaaS API that enables AI agents to perform stealth browser automation, including scraping URLs into clean Markdown, extracting structured data via JSON schema or CSS selectors, crawling multi-page sites, and generating screenshots or PDFs. It supports x402 micropayments for access.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

X1-BaaS MCP logo, by TazpalVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Tazpal
You need:no account or API key needed — pay per request with USDC on Base + SolanaBearer token (request one at api@tazpal.com)
MCP endpoint (Streamable HTTP)
https://api.tazpal.com/mcp
Vendor documentation

What its tools do

3 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

3 of 3 have a description · 3 of 3 declare behavior hints · 0 of 1 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to tazpal.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Scrape any URL into clean Markdown
  • Extract structured data using JSON schemas
  • Crawl multi-page sites via sitemap or patterns
  • Generate screenshots or PDFs of web pages

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
X1-BaaS 0.3.2
MCP protocol negotiated in check
2025-11-25
Tools
3 advertised
Resources
2 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Use the `scrape` tool to fetch and extract web content as clean Markdown. The engine handles JavaScript rendering, anti-bot bypass, and DOM cleaning automatically. The `scrape` tool is paid. If the request carries no API key (`Authorization: Bearer baas_live_*`) or x402 payment proof, the engine returns a 402 with x402 payment requirements (Base USDC and/or Solana), which are relayed to you so you can pay and retry. Use `get_pricing` to check current pricing before scraping. Use `server_status` to check engine health and availability.

Tools

3 advertised

scrape
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Scrape a URL and return content in your preferred format. Supported output formats: - markdown (default): Clean LLM-ready Markdown text - screenshot: PNG/JPEG image of the page - pdf: PDF document of the page - csv: Table data extracted as CSV - html: Sanitized HTML with scripts/ads removed This tool handles: - JavaScript rendering (SPA, dynamic content) - Anti-bot bypass (Cloudflare Turnstile, Datadome) - DOM cleaning (strips scripts, nav, footer, ads) - HTML-to-Markdown conversion (Mozilla Readability engine) - Automatic retry with escalating wait strategies - Domain cooldown to avoid rate-limiting - Response caching (5 min TTL) Args: url: The URL to scrape (must start with http:// or https://) output: Output format: "markdown" (default), "screenshot", "pdf", "csv", "html" wait_for_selector: Optional CSS selector to wait for before extraction (e.g., ".article-content") timeout_ms: Navigation timeout in milliseconds (default: 20000, max: 120000) block_media: Block images/fonts/video for faster loading (default: true) wait_strategy: Wait strategy: "default", "spa", "heavy", "cloudflare" (auto-detected if omitted) retry: Enable automatic retry on failure (default: true) bypass_cache: Skip cache, force fresh scrape (default: false) javascript: Custom JavaScript to execute after page load (e.g., "window.scrollTo(0, 1000)") Returns: Content in the requested format, or an error message.

scrape input schema
{
  "type": "object",
  "title": "scrapeArguments",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "title": "Url"
    },
    "retry": {
      "type": "boolean",
      "title": "Retry",
      "default": true
    },
    "output": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Output",
      "default": null
    },
    "javascript": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Javascript",
      "default": null
    },
    "timeout_ms": {
      "type": "integer",
      "title": "Timeout Ms",
      "default": 20000
    },
    "block_media": {
      "type": "boolean",
      "title": "Block Media",
      "default": true
    },
    "bypass_cache": {
      "type": "boolean",
      "title": "Bypass Cache",
      "default": false
    },
    "wait_strategy": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Wait Strategy",
      "default": null
    },
    "wait_for_selector": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Wait For Selector",
      "default": null
    }
  }
}
scrape output schema
{
  "type": "object",
  "title": "scrapeOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
scrape annotations
{
  "title": "Scrape Web Page",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_pricing
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check current pricing and payment requirements for the BaaS scrape engine. Returns pricing info, supported networks, and payment instructions. No authentication required. Returns: Current pricing details and payment instructions.

get_pricing input schema
{
  "type": "object",
  "title": "get_pricingArguments",
  "properties": {}
}
get_pricing output schema
{
  "type": "object",
  "title": "get_pricingOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
get_pricing annotations
{
  "title": "Get Pricing",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
server_status
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check the BaaS engine health and operational status. Returns browser status, uptime, x402 payment mode, and context count. Returns: Server health and diagnostic information.

server_status input schema
{
  "type": "object",
  "title": "server_statusArguments",
  "properties": {}
}
server_status output schema
{
  "type": "object",
  "title": "server_statusOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
server_status annotations
{
  "title": "Server Status",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

2 advertised

pricing_resource

Advertised by the server during the last successful anonymous check.

Current BaaS pricing and payment configuration.

pricing_resource URI
baas://pricing

MIME type: text/plain

status_resource

Advertised by the server during the last successful anonymous check.

Current BaaS engine status and diagnostics.

status_resource URI
baas://status

MIME type: text/plain

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2514 ms
95th percentile latency
2514 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2514 ms · metadata changed · 3 tool(s), 2 resource(s), 0 resource template(s), 0 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http x1-baas-mcp https://api.tazpal.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add x1-baas-mcp --url https://api.tazpal.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable x1-baas-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "x1-baas-mcp": {
      "url": "https://api.tazpal.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "x1-baas-mcp": {
      "type": "streamableHttp",
      "url": "https://api.tazpal.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start x1-baas-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "x1-baas-mcp": {
      "type": "http",
      "url": "https://api.tazpal.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http x1-baas-mcp https://api.tazpal.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://api.tazpal.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "x1-baas-mcp": {
      "serverUrl": "https://api.tazpal.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like X1-BaaS MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run X1-BaaS MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing