olostep-mcp

by olostep
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides structured data from Google search results through the google_search tool, including organic search results, knowledge graph data, and related questions

  • Supports waiting for JavaScript-heavy websites to render before scraping content, with configurable wait times

  • Retrieves webpage content in clean markdown format for easier consumption and formatting

Olostep MCP Server

A Model Context Protocol (MCP) server implementation that integrates with Olostep for web scraping, content extraction, and search capabilities.

Features

  • Web page content extraction with clean markdown formatting
  • Google search results with structured data extraction
  • Website URL discovery and mapping
  • Country-specific request routing for geo-targeted content
  • Configurable wait times for JavaScript-heavy websites
  • Comprehensive error handling and reporting
  • Simple API key configuration

Installation

Running with npx

env OLOSTEP_API_KEY=your-api-key npx -y olostep-mcp

Manual Installation

npm install -g olostep-mcp

Running on Claude Desktop

Add this to your claude_desktop_config.json:

{ "mcpServers": { "mcp-server-olostep": { "command": "npx", "args": ["-y", "olostep-mcp"], "env": { "OLOSTEP_API_KEY": "YOUR_API_KEY_HERE" } } } }

Running on Windsurf

Add this to your ./codeium/windsurf/model_config.json:

{ "mcpServers": { "mcp-server-olostep": { "command": "npx", "args": ["-y", "olostep-mcp"], "env": { "OLOSTEP_API_KEY": "YOUR_API_KEY_HERE" } } } }

Running on Cursor

To configure Olostep MCP in Cursor:

  1. Open Cursor Settings
  2. Go to Features > MCP Servers
  3. Click "+ Add New MCP Server"
  4. Enter the following:
    • Name: "olostep-mcp" (or your preferred name)
    • Type: "command"
    • Command: env OLOSTEP_API_KEY=your-api-key npx -y olostep-mcp

Replace your-api-key with your Olostep API key.

Configuration

Environment Variables

  • OLOSTEP_API_KEY: Your Olostep API key (required)

Available Tools

1. Get Webpage Content (get_webpage_content)

Retrieves webpage content in clean markdown format with support for JavaScript rendering.

{ "name": "get_webpage_content", "arguments": { "url_to_scrape": "https://example.com", "wait_before_scraping": 1000, "country": "US" } }

Parameters:

  • url_to_scrape: The URL of the webpage to scrape (required)
  • wait_before_scraping: Time to wait in milliseconds before starting the scrape (default: 0)
  • country: Residential country to load the request from (e.g., US, CA, GB) (optional)

Response:

{ "content": [ { "type": "text", "text": "# Example Website\n\nThis is the markdown content of the webpage..." } ] }

2. Get Website URLs (get_website_urls)

Search and retrieve relevant URLs from a website, sorted by relevance to your query.

{ "name": "get_website_urls", "arguments": { "url": "https://example.com", "search_query": "your search term" } }

Parameters:

  • url: The URL of the website to map (required)
  • search_query: The search query to sort URLs by (required)

Response:

{ "content": [ { "type": "text", "text": "Found 42 URLs matching your query:\n\nhttps://example.com/page1\nhttps://example.com/page2\n..." } ] }

Retrieve structured data from Google search results.

{ "name": "google_search", "arguments": { "query": "your search query", "country": "US" } }

Parameters:

  • query: The search query to perform (required)
  • country: Country code for localized results (e.g., US, GB) (default: "US")

Response includes:

  • Organic search results with titles, links, and snippets
  • Knowledge graph data when available
  • Related questions (People Also Ask)
  • Related searches
  • Rich snippets and other structured data

Error Handling

The server provides robust error handling:

  • Detailed error messages for API issues
  • Network error reporting
  • Authentication failure handling
  • Rate limit information

Example error response:

{ "isError": true, "content": [ { "type": "text", "text": "Olostep API Error: 401 Unauthorized. Details: {\"error\":\"Invalid API key\"}" } ] }

License

ISC License