search-web

AgentQL

by tinyfish-io

AgentQL lets you scrape any website and extract structured data to JSON easily—no custom web scraping code needed.

Extracts structured data from web pages based on natural language descriptions, converting website content into JSON format without custom scraping code.

github stars

149

Natural language data descriptionsNo custom scraping code needed

best for

  • / Data analysts gathering web information
  • / Researchers collecting structured datasets
  • / Developers building data pipelines
  • / Anyone needing web scraping without coding

capabilities

  • / Extract structured data from web pages
  • / Convert website content to JSON format
  • / Describe data fields in natural language
  • / Scrape without writing custom code
  • / Parse complex web layouts automatically

what it does

Extracts structured data from any web page using plain English descriptions instead of writing custom scraping code. Returns clean JSON data based on what you ask for.

about

AgentQL is an official MCP server published by tinyfish-io that provides AI assistants with tools and capabilities via the Model Context Protocol. AgentQL lets you scrape any website and extract structured data to JSON easily—no custom web scraping code needed. It is categorized under search web.

how to install

You can install AgentQL in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

AgentQL is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

AgentQL MCP Server

This is a Model Context Protocol (MCP) server that integrates AgentQL's data extraction capabilities.

Features

Tools

  • extract-web-data - extract structured data from a given 'url', using 'prompt' as a description of actual data and its fields to extract.

Installation

To use AgentQL MCP Server to extract data from web pages, you need to install it via npm, get an API key from our Dev Portal, and configure it in your favorite app that supports MCP.

Install the package

npm install -g agentql-mcp

Configure Claude

  • Open Claude Desktop Settings via +, (don't confuse with Claude Account Settings)
  • Go to Developer sidebar section
  • Click Edit Config and open claude_desktop_config.json file
  • Add agentql server inside mcpServers dictionary in the config file
  • Restart the app
{
  "mcpServers": {
    "agentql": {
      "command": "npx",
      "args": ["-y", "agentql-mcp"],
      "env": {
        "AGENTQL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Read more about MCP configuration in Claude here.

Configure VS Code

For one-click installation, click one of the install buttons below:

Install with NPX in VS Code Install with NPX in VS Code Insiders

Manual Installation

Click the install buttons at the top of this section for the quickest installation method. For manual installation, follow these steps:

Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "apiKey",
        "description": "AgentQL API Key",
        "password": true
      }
    ],
    "servers": {
      "agentql": {
        "command": "npx",
        "args": ["-y", "agentql-mcp"],
        "env": {
          "AGENTQL_API_KEY": "${input:apiKey}"
        }
      }
    }
  }
}

Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.

{
  "inputs": [
    {
      "type": "promptString",
      "id": "apiKey",
      "description": "AgentQL API Key",
      "password": true
    }
  ],
  "servers": {
    "agentql": {
      "command": "npx",
      "args": ["-y", "agentql-mcp"],
      "env": {
        "AGENTQL_API_KEY": "${input:apiKey}"
      }
    }
  }
}

Configure Cursor

  • Open Cursor Settings
  • Go to MCP > MCP Servers
  • Click + Add new MCP Server
  • Enter the following:
    • Name: "agentql" (or your preferred name)
    • Type: "command"
    • Command: env AGENTQL_API_KEY=YOUR_API_KEY npx -y agentql-mcp

Read more about MCP configuration in Cursor here.

Configure Windsurf

  • Open Windsurf: MCP Configuration Panel
  • Click Add custom server+
  • Alternatively you can open ~/.codeium/windsurf/mcp_config.json directly
  • Add agentql server inside mcpServers dictionary in the config file
{
  "mcpServers": {
    "agentql": {
      "command": "npx",
      "args": ["-y", "agentql-mcp"],
      "env": {
        "AGENTQL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Read more about MCP configuration in Windsurf here.

Validate MCP integration

Give your agent a task that will require extracting data from the web. For example:

Extract the list of videos from the page https://www.youtube.com/results?search_query=agentql, every video should have a title, an author name, a number of views and a url to the video. Make sure to exclude ads items. Format this as a markdown table.

[!TIP] In case your agent complains that it can't open urls or load content from the web instead of using AgentQL, try adding "use tools" or "use agentql tool" hint.

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

If you want to try out development version, you can use the following config instead of the default one:

{
  "mcpServers": {
    "agentql": {
      "command": "/path/to/agentql-mcp/dist/index.js",
      "env": {
        "AGENTQL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

[!NOTE] Don't forget to remove the default AgentQL MCP server config to not confuse Claude with two similar servers.

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.