AgentQL
Enable AI agents to get structured data from unstructured web with AgentQL.
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.jsonfile - Add
agentqlserver insidemcpServersdictionary 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:
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.jsondirectly - Add
agentqlserver insidemcpServersdictionary 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.
Related Servers
MCP-Puppeteer-Linux
Automate web browsers on Linux using Puppeteer. Enables LLMs to interact with web pages, take screenshots, and execute JavaScript.
MCP Browser Console Capture Service
A browser automation service for capturing console output, useful for tasks like public sentiment analysis.
Airbnb MCP Server
Search for Airbnb listings and retrieve detailed information without an API key.
ScrapeGraph AI
AI-powered web scraping using the ScrapeGraph AI API. Requires an API key.
YouTube Transcript Extractor
Extracts transcripts from public YouTube videos.
Chrome Debug
Automate Chrome via its debugging port with session persistence. Requires Chrome to be started with remote debugging enabled.
Configurable Puppeteer MCP Server
A configurable MCP server for browser automation using Puppeteer.
Firecrawl
Extract web data with Firecrawl
MeteoSwiss Data
Provides weather reports, search, and content from the MeteoSwiss website with multi-language support.
MCP Browser Use Secure
A secure MCP server for browser automation with enhanced security features like multi-layered protection and session isolation.