AgentQL MCP Server
by tinyfish-io
# AgentQL MCP Server
This is a Model Context Protocol (MCP) server that integrates [AgentQL](https://agentql.com)'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](https://dev.agentql.com), and configure it in your favorite app that supports MCP.
### Install the package
```bash
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
```json title="claude_desktop_config.json"
{
"mcpServers": {
"agentql": {
"command": "npx",
"args": ["-y", "agentql-mcp"],
"env": {
"AGENTQL_API_KEY": "YOUR_API_KEY"
}
}
}
}
```
Read more about MCP configuration in Claude [here](https://modelcontextprotocol.io/quickstart/user).
### 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](https://docs.cursor.com/context/model-context-protocol).
### 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
```json title="mcp_config.json"
{
"mcpServers": {
"agentql": {
"command": "npx",
"args": ["-y", "agentql-mcp"],
"env": {
"AGENTQL_API_KEY": "YOUR_API_KEY"
}
}
}
}
```
Read more about MCP configuration in Windsurf [here](https://docs.codeium.com/windsurf/mcp).
### Validate MCP integration
Give your agent a task that will require extracting data from the web. For example:
```text
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:
```bash
npm install
```
Build the server:
```bash
npm run build
```
For development with auto-rebuild:
```bash
npm run watch
```
If you want to try out development version, you can use the following config instead of the default one:
```json
{
"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](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
```bash
npm run inspector
```
The Inspector will provide a URL to access debugging tools in your browser.