Skip to main content
Glama

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.

Related MCP server: Fetcher MCP

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.

Available Tools

1 tool
extract-web-dataA

Extracts structured data as JSON from a web page given a URL using a Natural Language description of the data.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the public webpage to extract data from
promptYesNatural Language description of the data to extract from the page

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Describes core function but omits important behavioral traits like rate limits, authentication requirements, handling of dynamic content, or error scenarios.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence that is front-loaded and contains only essential information. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Mentions output format (JSON) but lacks details on return structure, error handling, or limitations like URL restrictions or page complexity. Adequate for a simple tool but incomplete for production use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The description reinforces the 'prompt' parameter's nature but adds no new meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb (Extracts), resource (structured data as JSON from web page), and method (Natural Language description). Specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly indicates use when needing structured data from a URL via NL description. No siblings to differentiate, but lacks explicit when-not-to-use or alternative methods.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool update
    • Addedextract-web-data
  2. 1 tool updatev1.0.0
    • Removedextract-web-data
  3. 1 tool update
    • First observedextract-web-data

TDQS

A3.6/5.0
Disambiguation5/5

With only one tool, there is no risk of confusion between tools, so disambiguation is perfect.

Naming Consistency5/5

The single tool name 'extract-web-data' follows a clear verb_noun pattern, and consistency is trivially maintained.

Tool Count2/5

A single tool is too few for a web scraping server, which typically requires tools for different actions (e.g., listing, configuring) or handling multiple extraction strategies.

Completeness2/5

The server only provides extraction via natural language, missing common features like pagination, multiple output formats, or error handling, leaving significant gaps for agents.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    A server that provides web scraping and intelligent content searching capabilities using the Firecrawl API, enabling AI agents to extract structured data from websites and perform content searches.
    5
    3
    MIT
  • -
    license
    C
    quality
    Not graded
    maintenance
    A server that allows fetching web page content using Playwright headless browser with AI-powered capabilities for efficient information extraction.
    2
    4,976
    7
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tinyfish-io/agentql-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server