olostep-mcp

by olostep
Verified
# Olostep MCP Server A Model Context Protocol (MCP) server implementation that integrates with [Olostep](https://olostep.com) 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 ```bash env OLOSTEP_API_KEY=your-api-key npx -y olostep-mcp ``` ### Manual Installation ```bash npm install -g olostep-mcp ``` ### Running on Claude Desktop Add this to your `claude_desktop_config.json`: ```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`: ```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. ```json { "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: ```json { "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. ```json { "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: ```json { "content": [ { "type": "text", "text": "Found 42 URLs matching your query:\n\nhttps://example.com/page1\nhttps://example.com/page2\n..." } ] } ``` ### 3. Google Search (`google_search`) Retrieve structured data from Google search results. ```json { "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: ```json { "isError": true, "content": [ { "type": "text", "text": "Olostep API Error: 401 Unauthorized. Details: {\"error\":\"Invalid API key\"}" } ] } ``` ## License ISC License