oxylabs-ai-studio-mcp-py
3.2
If you are the rightful owner of oxylabs-ai-studio-mcp-py and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Oxylabs AI Studio MCP server offers a suite of AI tools designed to enhance the capabilities of agents by providing functionalities such as web scraping, crawling, browser automation, and web searching.
Oxylabs AI Studio MCP Server
📖 Overview
The Oxylabs AI Studio MCP server provides various AI tools for your agents.:
- Scrape: Allows getting content from any url in json or markdown format.
- Crawl: Based on prompt crawls a website and collects data in markdown or json format.
- Browser Agent: Given a task, agent controls a browser to achieve given object and returns data in markdown, json, html or screenshot formats.
- Search: Allows search the web for urls and their contents.
✅ Prerequisites
Obtain your Api Key from Oxylabs AI Studio dashboard:
Basic Usage
Python >=3.10+ To run the server best to use uv:
- install it using this guide
- To setup with cursor the easiest way is to use uvx.
cursor uvx
{
"mcpServers": {
"oxylabs-ai-studio": {
"command": "uvx",
"args": ["oxylabs-ai-studio-mcp"],
"env": {
"OXYLABS_AI_STUDIO_API_KEY": "OXYLABS_AI_STUDIO_API_KEY"
}
}
}
}
You can also pull the project and run it locally with uv in cursor:
{
"mcpServers": {
"oxylabs-ai-studio": {
"command": "uv",
"args": [
"--directory",
"/<absolute-path-to-folder>/oxylabs-ai-studio-mcp",
"run",
"oxylabs-ai-studio-mcp"
],
"env": {
"OXYLABS_AI_STUDIO_API_KEY": "OXYLABS_AI_STUDIO_API_KEY"
}
}
}
}
Agent example:
import os
import asyncio
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStdio
server = MCPServerStdio(
'uvx',
args=[
'oxylabs-ai-studio-mcp',
],
env={
"OXYLABS_AI_STUDIO_API_KEY": "<your_api_key>",
},
)
# requires OPENAI_API_KEY to be set.
agent = Agent('openai:gpt-4o', mcp_servers=[server])
async def main():
async with agent.run_mcp_servers():
result = await agent.run('Got to oxylabs careers page and first first available job and return the job title and description.')
print(result.output)
if __name__ == "__main__":
asyncio.run(main())