agentql
AgentQL MCP 서버
기본 URL: https://api.agentql.com
카테고리 | 개발자 도구 |
도구 | 4 |
인증 | API 키 |
설치
빠른 시작 (권장)
API_KEY=YOUR_API_KEY \
uvx mcparmory-agentqlpip 사용
pip install mcparmory-agentql
API_KEY=YOUR_API_KEY \
mcparmory-agentqlMCP 클라이언트 구성
MCP 클라이언트 구성(예: Claude Desktop, Cursor, Codex)에 추가하세요:
{
"mcpServers": {
"agentql": {
"command": "uvx",
"args": ["mcparmory-agentql"],
"env": {
"API_KEY": "YOUR_API_KEY"
}
}
}
}Related MCP server: Playwright MCP Server
자격 증명
다음 환경 변수를 설정하세요(MCP 클라이언트 env 구성, 셸 export 또는 .env 파일을 통해):
API_KEY— API 키 인증 (X-API-Key) 자격 증명을 버전 관리에 커밋하지 마십시오.
로컬 실행
먼저, .env에 자격 증명을 구성하세요(위의 자격 증명 참조).
pip install -r requirements.txt
python server.pyMCP 클라이언트 연결
.mcp.json을 편집하고 <SERVER_DIR>을 이 디렉토리의 절대 경로로 바꾼 다음 MCP 클라이언트 구성에 추가하세요.
예시 (서버가 /home/user/mcp-servers/agentql에 있는 경우):
{
"mcpServers": {
"agentql": {
"command": "python",
"args": ["/home/user/mcp-servers/agentql/server.py"]
}
}
}Docker
사전 빌드된 이미지 (권장)
docker run -p 8000:8000 \
-e API_KEY=YOUR_API_KEY \
ghcr.io/mcparmory/agentql:latest소스에서 빌드
먼저, .env에 자격 증명을 구성하세요(위의 자격 증명 참조).
docker build -t agentql .
docker run -p 8000:8000 --env-file .env agentql실행 전, 8000번 포트가 비어 있는지 확인하세요.### MCP 클라이언트 구성 (Docker)
Docker의 경우, MCP 클라이언트 구성에서 SSE 전송을 사용하세요:
{
"mcpServers": {
"agentql": {
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
}파일
.env- 자격 증명 및 서버 구성.mcp.json- MCP 클라이언트 구성 템플릿Dockerfile- 컨테이너 빌드LICENSE- 이 생성된 코드에 대한 MIT 라이선스requirements.txt- Python 의존성README.md- 이 파일server.py- MCP 서버 진입점_auth.py- 인증 핸들러_models.py- 요청/응답 모델_validators.py- 입력 유효성 검사
참고: .으로 시작하는 파일은 macOS/Linux에서 기본적으로 숨겨져 있습니다. 터미널에서 ls -a를 사용하거나 파일 관리자에서 "숨김 파일 표시"를 활성화하여 .env 및 .mcp.json을 확인하세요.
Available Tools
4 toolscreate_browser_sessionA
Creates a new Tetra browser session with configurable user agent, profile, proxy, and lifecycle settings. Returns session details needed to connect and interact with the browser.
| Name | Required | Description | Default |
|---|---|---|---|
| browser_ua_preset | No | The operating system user agent preset the browser will identify as, affecting how websites perceive the client environment. | |
| browser_profile | No | The browser profile determining capability and detection resistance: 'light' prioritizes speed with minimal overhead, 'stealth' enables full anti-detection features, and 'tf-browser' uses a custom TF Browser configuration. | |
| shutdown_mode | No | Controls session teardown behavior on disconnect: 'on_disconnect' immediately stops the session when all connections close, while 'on_inactivity_timeout' keeps the session alive to allow reconnection until the inactivity timeout elapses. | |
| inactivity_timeout_seconds | No | How long the session remains alive without active connections before being shut down, applicable when shutdown_mode is 'on_inactivity_timeout'. Accepts values between 5 seconds and 86400 seconds (24 hours). | |
| proxy | No | Proxy server configuration to route browser traffic through for this session, such as host, port, protocol, and credentials. | |
| sub_user_id | No | An optional identifier used to associate this session with a specific sub-user within your account, useful for tracking and auditing sessions across multiple users. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions configurable lifecycle settings and return of session details but lacks disclosure of side effects, destruction behavior, or authentication requirements. Basic transparency but not deep.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with action and resource, no redundant information. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters (all described), no output schema, and no annotations, the description is brief. It does not detail return values or side effects, which would be helpful for a creation tool that returns connection details. Adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in schema. The description adds a high-level summary of configurable aspects but does not provide additional meaning beyond what schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new Tetra browser session, lists configurable aspects (user agent, profile, proxy, lifecycle), and mentions return value. It distinguishes from sibling tools which are about usage and data querying.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives or when not to use it. The description only explains what it does without any usage context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageA
Retrieves current API key usage statistics and subscription details for the authenticated account. Useful for monitoring consumption limits and understanding remaining quota.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must stand alone. It states it retrieves data but omits whether it's read-only, rate limits, or response structure. Basic but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action, no wasted words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should detail return values; it does not specify what 'usage statistics' includes. Also missing idempotency and auth details beyond 'authenticated account'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, schema coverage is 100%. Baseline 3 per guidelines since schema covers all; description adds nothing beyond what schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves API key usage statistics and subscription details, with a specific verb and resource. The sibling tools (browser sessions, webpage data) are distinct, so no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'useful for monitoring consumption limits and understanding remaining quota', giving clear context. Does not mention when not to use, but siblings are unrelated, so no conflict.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_session_usageA
Retrieve a paginated list of Tetra browser session usage records for the authenticated user, with optional filtering by user, session, time range, and status.
| Name | Required | Description | Default |
|---|---|---|---|
| sub_user_id | No | Filter results to only include sessions belonging to a specific sub-user under the authenticated account. | |
| session_id | No | Filter results to a specific browser session by its unique session identifier. | |
| start_after | No | Return only sessions that started after this timestamp, specified in ISO 8601 date-time format. | |
| end_before | No | Return only sessions that ended before this timestamp, specified in ISO 8601 date-time format. | |
| status | No | Filter sessions by their current lifecycle status; use 'running' for active sessions or 'ended' for completed sessions. | |
| limit | No | Maximum number of session records to return per page; must be between 1 and 1000. | |
| page | No | Page number to retrieve for paginated results; must be 1 or greater. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly identifies a paginated read operation with optional filtering, but lacks details on pagination behavior (e.g., default limit, total count) or any rate limits. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy. It front-loads the key action and resource, and efficiently lists the optional filters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what each session usage record contains, but it does not. It also omits pagination details like how to iterate or interpret paginated responses. The tool is adequately described for its input, but incomplete for expected output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds little beyond the schema, simply summarizing the filter categories (user, session, time range, status) that are already in the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a paginated list of session usage records for the authenticated user, with optional filters. It distinguishes from siblings like create_browser_session (creates sessions) and query_webpage_data (queries page data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the tool is for the authenticated user and lists optional filters, but does not explicitly state when to use it over alternatives or provide when-not scenarios. The context signals help, but more explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_webpage_dataB
Extracts structured data from a webpage using an AgentQL query or a natural language prompt. Accepts either a live URL or raw HTML as the data source.
| Name | Required | Description | Default |
|---|---|---|---|
| content-type | Yes | MIME type of the request body, required to correctly parse the payload. | |
| query | No | An AgentQL (AQL) query string specifying the exact data fields to extract from the page. If omitted, a query will be auto-generated from the prompt. | |
| prompt | No | A natural language description of the data to extract, used to auto-generate an AgentQL query when no explicit query is provided. | |
| url | No | The fully qualified URL of the webpage to load and query. Either url or html must be provided as the data source. | |
| html | No | Raw HTML content of the webpage to query, used as an alternative to providing a live URL. | |
| mode | No | Controls the response generation strategy: 'fast' prioritizes speed, 'standard' prioritizes accuracy and completeness. | |
| wait_for | No | Number of seconds to wait for dynamic page content to load before capturing the snapshot. Maximum allowed wait time is 10 seconds. | |
| is_scroll_to_bottom_enabled | No | When enabled, the browser scrolls to the bottom of the page before capturing the snapshot, useful for triggering lazy-loaded content. | |
| is_screenshot_enabled | No | When enabled, a screenshot of the page is captured during the query session, which may be useful for debugging or visual verification. | |
| browser_profile | No | Determines the browser profile used for the session: 'light' uses a fast headless browser, 'stealth' applies anti-detection techniques for bot-protected pages. | |
| proxy | No | Optional proxy configuration to route the browser session through a specific proxy server, useful for geo-restricted or access-controlled pages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It fails to disclose critical behaviors such as whether the tool is read-only, rate limits, authentication needs, or error handling. Important details like what happens if both url and html are given are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 19-word sentence that packs the core purpose and data source options. Every word earns its place; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters, no output schema, and no annotations, the description is too minimal. It omits what the output looks like, error scenarios, and behavioral nuances. A more comprehensive description is needed for this complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds minimal extra meaning beyond the schema (e.g., 'AgentQL query or natural language prompt' is already in schema). Baseline 3 is appropriate as the description does not compensate for any missing schema detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Extracts structured data from a webpage' using a query or prompt, and specifies data sources (URL or raw HTML). This is a specific verb+resource that distinguishes it from sibling tools like create_browser_session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for data extraction but does not explicitly compare with siblings or give when-not-to-use guidance. It mentions query vs prompt options, which helps, but lacks exclusions or alternatives.
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.
4 tool updates
v1.0.7- First observed
create_browser_session - First observed
get_usage - First observed
list_session_usage - First observed
query_webpage_data
TDQS
Scored across 4 tools
Each tool targets a distinct functionality: browser session creation, API usage statistics, session usage records, and webpage data extraction. No overlap in purposes.
All tool names follow a consistent verb_noun snake_case pattern (create_browser_session, get_usage, list_session_usage, query_webpage_data).
4 tools is slightly below average but reasonable for the focused domain of browser automation and data extraction. Could benefit from additional lifecycle management tools.
Missing session deletion/closure (only create is provided) and session updating. Usage tracking is well covered, and webpage querying is present, but lifecycle is incomplete.
Maintenance
Related MCP Connectors
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Automate cloud browsers to navigate websites, interact with elements, and extract structured data.…
Live web access for agents: scrape, SERP search, crawl/map, 100+ collectors, datasets, proxies.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceProvides tools to scrape, extract structured data, and crawl webpages, with access to browser automation agents like OpenAI's CUA, Anthropic's Claude Computer Use, and Browser Use for complex web tasks.-
- AlicenseNot gradedqualityDmaintenanceProvides browser automation capabilities using Playwright, enabling users to navigate websites, extract content, take screenshots, and interact with web pages through natural language prompts.17 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to perform intelligent browser automation with session-based context analysis, including navigation, form filling, and content extraction through natural language.MIT
- FlicenseNot gradedqualityBmaintenanceEnables natural language web data extraction into structured JSON via browser automation, supporting field-based and goal-based modes with optional vision.1-