mcp-coreclaw
Server Details
CoreClaw MCP Server enables AI applications to interact with the CoreClaw platform through the Model Context Protocol (MCP). Once connected, your AI agent can search for scrapers in CoreClaw Store, run them with custom parameters, and retrieve structured data — all through natural language conversations.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.3/5 across 12 of 12 tools scored.
Each tool serves a distinct purpose with clear boundaries: search scrapers vs. get details, run vs. rerun vs. run task, and separate get tools for status/logs/results/account. No overlapping functionality.
Most tools follow verb_noun pattern (e.g., abort_run, get_run_status). 'rerun' deviates as a single verb, but all others are consistent in style.
12 tools cover the full lifecycle of scraper usage (discovery, configuration, execution, monitoring, export) without excess. Well-scoped for the domain.
Core workflows (search, run, monitor, export, abort, rerun) are covered. Missing task CRUD (create/update/delete tasks) but tasks are pre-configured externally, so minor gap.
Available Tools
12 toolsabort_runADestructiveInspect
Abort an in-progress CoreClaw scraper run.
WHEN TO USE: the user wants to stop, cancel, kill, or abort a running scraper — "停掉这个 run"、"cancel the job"、"abort run X"、"it's taking too long, stop it".
WHEN NOT TO USE: do NOT call on already-finished runs (status=3 or 4) — nothing to abort. Do NOT use to pause (CoreClaw has no pause/resume — abort is terminal).
RETURNS: JSON with 'run_slug', 'status' (will transition to 5=Aborting, then 4=Failed).
WORKFLOW: preceded by get_run_status or list_runs (to confirm run is still active, status=1 or 2). Terminal call.
| Name | Required | Description | Default |
|---|---|---|---|
| run_slug | Yes | The run identifier to abort. Example: 'run_abc123'. Obtain from run_scraper or list_runs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description elaborates on the destructive nature (transition to status 5 then 4, terminal call) beyond the destructiveHint annotation. It adds specific behavioral details (no pause/resume) that help the agent understand the tool's safety profile.
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 concise, well-structured with clear sections, and every sentence serves a purpose. No redundant or vague language.
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?
Despite lacking an output schema, the description explicitly states the return values (run_slug, status). It also provides workflow context (preceded by status checks). For a single-parameter terminal operation, this is complete.
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?
The description does not add significant meaning beyond the input schema for the single parameter run_slug. The schema already provides an example and source instruction. With 100% coverage, baseline 3 is appropriate.
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 action ('abort') and the resource ('in-progress CoreClaw scraper run'), with explicit examples in English and Chinese. It distinguishes from sibling tools like run_scraper or get_run_status by focusing on stopping, not starting or monitoring.
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 provides explicit 'WHEN TO USE' and 'WHEN NOT TO USE' sections, including specific conditions (only for in-progress runs, do not use on finished runs or for pausing). It also suggests a preceding workflow (get_run_status or list_runs) to confirm run is active.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_run_resultsADestructiveInspect
Export a CoreClaw scraper run's full result set as a downloadable CSV or JSON file.
WHEN TO USE: the user wants to download, export, save, or get a file of run results — "导出成 CSV"、"download all results"、"give me a file"、"export as JSON". Preferred over get_run_results when dataset is large (>100 records) or user explicitly asks for a file.
WHEN NOT TO USE: do NOT use for in-chat data preview (use get_run_results). Do NOT use for logs (use get_run_logs). The returned URL expires in ~30 minutes — do NOT cache it long-term.
RETURNS: JSON with 'download_url' (temporary, valid ~30 min), 'format', 'record_count'.
WORKFLOW: preceded by get_run_status (status=3). Terminal call — user typically downloads the file directly.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Export file format. Allowed: 'csv' (human-readable, opens in Excel), 'json' (programmatic, preserves nested structures). (default: csv) | |
| run_slug | Yes | The run identifier. Example: 'run_abc123'. Obtain from run_scraper or list_runs. | |
| filter_keys | No | Comma-separated list of field keys to include in the export. Example: "title,price,url". Leave empty to include all fields. Field names come from get_run_results.columns. (optional) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds temporary URL expiration (~30 min) and return structure beyond annotations. Annotations declare destructiveHint=true, which is consistent with generating an export file; no contradiction.
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?
Very concise with clear sections. Front-loaded action statement. Every sentence serves a purpose—no fluff.
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, but description covers return value (JSON fields), workflow, constraints, and usage context fully. No 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 coverage is 100%, and description adds context: explains format enum (csv=human-readable, json=nested), run_slug source, filter_keys usage and listing. Adds meaning over schema.
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?
Clearly states verb (export), resource (run results), and output format (CSV/JSON). Distinguishes from sibling get_run_results by contrasting file download vs in-chat preview.
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?
Explicit WHEN TO USE (user wants file, large dataset), WHEN NOT TO USE (in-chat preview, logs), and workflow prerequisite (get_run_status status=3). Naming sibling tools for alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_account_infoADestructiveInspect
Get the current user's CoreClaw account info: balance, traffic usage, and traffic expiration time.
WHEN TO USE: the user asks about their CoreClaw account — balance, quota, remaining traffic, plan expiry — "我还剩多少额度"、"check my quota"、"am I out of credits"、"查我的 CoreClaw 账户".
WHEN NOT TO USE: do NOT use for per-run cost (use list_runs or get_run_status). Do NOT use web_search — this is private account data.
RETURNS: JSON with 'balance', 'traffic_remaining', 'traffic_total', 'traffic_expires_at'.
WORKFLOW: terminal call, no typical follow-up. Often called before run_scraper to verify quota before spending.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description implies a read-only operation ('get account info'), but annotations set readOnlyHint=false and destructiveHint=true, indicating possible mutation. The description does not address this contradiction or explain the destructive behavior, misleading the agent.
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?
Well-structured with clear sections: main purpose, usage guidelines, return format, workflow. Every sentence adds value. No fluff.
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?
Given zero parameters and no output schema, the description adequately covers return fields and workflow. However, it fails to explain the destructive annotation, which is a completeness gap for a get 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?
The input schema has zero parameters, so there is no need for parameter documentation. Baseline 4 is appropriate as the description adds no redundant parameter info.
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 verb 'get', the resource 'account info', and lists the specific fields returned (balance, traffic usage, expiration time). It distinguishes from sibling tools which focus on runs and scrapers.
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?
Explicit WHEN TO USE and WHEN NOT TO USE sections with examples in multiple languages, and mentions alternatives like list_runs and web_search. Also provides workflow context (called before run_scraper).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_run_logsADestructiveInspect
Get execution logs from a CoreClaw scraper run, for debugging or understanding failures.
WHEN TO USE: the user wants to debug, troubleshoot, or inspect a run — "为什么失败了"、"show me the logs"、"what errors did it hit"、"why is it still running". Especially useful when get_run_status returns 4 (Failed).
WHEN NOT TO USE: do NOT use for run metadata / status (use get_run_status). Do NOT use for output data records (use get_run_results).
RETURNS: JSON with 'logs' (array of {type, message, timestamp}; type: 1=Debug, 2=Info, 3=Warn, 4=Error), 'full_log_url' (download full logs), 'current_result_count'.
WORKFLOW: typically called after get_run_status shows status=4 (Failed) or to diagnose a long-running status=2.
| Name | Required | Description | Default |
|---|---|---|---|
| run_slug | Yes | The run identifier. Example: 'run_abc123'. Obtain from run_scraper or list_runs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include destructiveHint=true, but description says 'Get execution logs' implying no side effects. Does not explain what destructive behavior might occur (e.g., log consumption or state change). Missing behavioral context.
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?
Well-structured with clear sections (WHEN TO USE, WHEN NOT TO USE, RETURNS, WORKFLOW). Every sentence adds value; no unnecessary text.
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?
For a simple one-parameter tool with no output schema, the description fully explains return format, workflow placement, and usage boundaries. Complete and self-contained.
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 covers 100% of parameters and description adds example value and source hint ('Obtain from run_scraper or list_runs'), enhancing usability beyond schema alone.
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?
Clearly states it gets execution logs for debugging/failure diagnosis. Distinguishes from siblings like get_run_status and get_run_results by contrasting use cases.
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 provides when-to-use (debugging, troubleshooting) and when-not-to-use (status or results queries). Offers workflow context (call after get_run_status=4).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_run_resultsADestructiveInspect
Get paginated result data from a completed CoreClaw scraper run.
WHEN TO USE: the user wants to read, view, fetch, or inspect scraper output records — "给我看下抓到的数据"、"show me the first 10 results"、"fetch page 2 of results"、"preview what the scraper found". Best for small-to-medium sets (<100 records) or previewing before export.
WHEN NOT TO USE: for large datasets (>100 records) prefer export_run_results (CSV/JSON download). Do NOT use for run metadata (use get_run_status). Do NOT use for logs (use get_run_logs).
RETURNS: JSON with 'total' (total record count), 'columns' (field headers), 'records' (array of data rows for this page).
WORKFLOW: preceded by get_run_status (status=3). Call with page_size=20 first to check 'total', then paginate or switch to export_run_results for bulk download.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-based. (default: 1) | |
| run_slug | Yes | The run identifier. Example: 'run_abc123'. Obtain from run_scraper or list_runs. | |
| page_size | No | Number of records per page. Typical: 20-100. (default: 20) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the tool is a read-only operation (getting result data), but annotations set destructiveHint: true, indicating potential side effects. This is a direct contradiction, making the description misleading about behavioral traits.
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 well-structured with sections, front-loaded with purpose, and every sentence adds value. No fluff or 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?
The description covers return format (JSON with total, columns, records), workflow (preceded by get_run_status), and pagination guidance. Slight gap in not explaining the total count's role in pagination fully, but sufficient for a paginated list tool with sibling tools.
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 some usage context (e.g., 'page_size=20 first to check total') but no new syntactic details beyond the schema.
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 'Get paginated result data from a completed CoreClaw scraper run' with a specific verb and resource, and distinguishes from siblings by explicitly stating when NOT to use (e.g., for metadata use get_run_status, for logs use get_run_logs).
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 includes dedicated 'WHEN TO USE' and 'WHEN NOT TO USE' sections with concrete examples and explicit alternative tools (export_run_results for large datasets, get_run_status for metadata, get_run_logs for logs), and notes the workflow prerequisite of get_run_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_run_statusADestructiveInspect
Get the current execution status of a CoreClaw scraper run.
WHEN TO USE: the user wants to check progress of an in-flight run, or confirm completion before fetching results — "跑完了吗"、"what's the status"、"is my run done"、"check run X". Also called in a polling loop after run_scraper / run_task / rerun.
WHEN NOT TO USE: do NOT use for result data (use get_run_results). Do NOT use to list historical runs (use list_runs). Do NOT use for logs (use get_run_logs).
RETURNS: JSON with 'status' (1=Ready, 2=Running, 3=Succeeded, 4=Failed, 5=Aborting), 'started_at', 'duration_seconds', 'result_count', 'cost'.
WORKFLOW: preceded by run_scraper / run_task / rerun. Poll until status=3 (succeeded -> follow with get_run_results) or status=4 (failed -> follow with get_run_logs).
| Name | Required | Description | Default |
|---|---|---|---|
| run_slug | Yes | The run identifier. Example: 'run_abc123'. Obtain from run_scraper / run_task / rerun / list_runs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose the destructive behavior implied by the annotation destructiveHint: true. The tool is described as a read-only status check, which contradicts the annotation. This is a serious omission and misalignment.
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 concisely structured with clear sections: purpose, when to use, when not to use, returns, and workflow. Every sentence adds value without redundancy, and the most critical information is front-loaded.
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?
Despite the lack of an output schema, the description explains the return structure (status codes, timing, result_count, cost) and provides workflow integration with sibling tools. However, it fails to address the contradictory destructive hint, leaving a gap in completeness.
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?
The input schema has 100% coverage for one parameter (run_slug). The description adds valuable context: the parameter is the run identifier, with an example and sources to obtain it (from run_scraper, run_task, etc.), going beyond the schema's basic description.
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's purpose: "Get the current execution status of a CoreClaw scraper run." It uses a specific verb and resource, and the WHEN NOT TO USE section explicitly distinguishes it from sibling tools like get_run_results, list_runs, and get_run_logs.
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 provides explicit when-to-use scenarios (check progress, confirm completion, polling loop) and when-not-to-use instructions with concrete alternatives. It even includes example user queries and workflow context like "Poll until status=3...".
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scraper_detailsADestructiveInspect
Get the full specification of a specific CoreClaw scraper: current runnable version, system resource defaults, custom input schema, and usage documentation.
WHEN TO USE: the user wants to inspect, examine, or understand a specific CoreClaw scraper before running it — "告诉我这个 scraper 怎么用"、"show me the input schema"、"what parameters does X accept". Also MUST be called before run_scraper to obtain the correct 'version' and 'custom_params' schema.
WHEN NOT TO USE: do NOT use web_search for scraper docs — the schema is only available via this tool. Do NOT use search_scrapers (that returns only summaries, not full schema).
RETURNS: JSON with 'version' (pass to run_scraper), 'system_params' (defaults for run_scraper), 'custom_params_schema' (input fields), 'readme'.
WORKFLOW: preceded by search_scrapers. Required before run_scraper — its 'version' and 'custom_params_schema' fields are inputs to run_scraper.
| Name | Required | Description | Default |
|---|---|---|---|
| scraper_slug | Yes | The slug identifier of the scraper. Example: 'amazon-product-scraper'. Obtain from search_scrapers results. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint: true, implying potential side effects, but the description describes a read-only inspection tool with no mention of destructiveness. This contradiction severely undermines transparency; score is 1 per guidelines.
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?
Description is well-structured with clear sections (purpose, when to use/not use, returns, workflow). Every sentence adds value, and the information is front-loaded.
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?
Given the absence of an output schema, the description fully explains what is returned (fields like version, custom_params_schema). It also outlines the prerequisite (search_scrapers) and subsequent step (run_scraper), making the tool's role complete.
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 baseline is 3. The tool description itself does not add additional meaning to the parameter beyond what the schema already provides (the workflow hint about obtaining slug from search_scrapers is in the schema, not the description).
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 verb 'Get' and the resource 'full specification of a specific CoreClaw scraper'. It distinguishes itself from siblings like search_scrapers by noting it returns full specification, not summaries, and explicitly says when to use it versus web_search.
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?
Provides explicit 'WHEN TO USE' and 'WHEN NOT TO USE' sections with concrete examples and alternatives (search_scrapers, web_search). It also specifies the tool must be called before run_scraper, forming a clear workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_runsADestructiveInspect
List the current user's historical CoreClaw scraper runs, with pagination and optional filters.
WHEN TO USE: the user wants to see their run history — "最近跑了哪些"、"列出我的 runs"、"show my past runs"、"find the run I did yesterday for amazon", or to find a 'run_slug' for use with rerun / get_run_results / export_run_results.
WHEN NOT TO USE: do NOT use for a specific run's live status (use get_run_status). Do NOT use to find scrapers themselves (use search_scrapers).
RETURNS: JSON with 'total', 'records' (array of runs with 'run_slug', 'scraper_slug', 'status', 'started_at', 'duration_seconds', 'cost', 'result_count').
WORKFLOW: often the first step when continuing prior work. Follow with get_run_status, get_run_results, export_run_results, rerun, or abort_run using the returned 'run_slug'.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-based. (default: 1) | |
| status | No | Filter by run status. Allowed: 0=all, 1=Ready, 2=Running, 3=Succeeded, 4=Failed, 5=Aborting. (default: 0) | |
| page_size | No | Number of records per page. (default: 20) | |
| scraper_slug | No | Filter by scraper slug. Example: 'amazon-product-scraper'. Use empty string to include all scrapers. (optional) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the return format with fields, user scoping ('current user's'), and pagination. However, does not address the destructiveHint annotation (true) which is surprising for a list operation; no contradiction but a gap in behavioral context.
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?
Well-structured with sections (summary, WHEN TO USE, WHEN NOT TO USE, RETURNS, WORKFLOW). Concise and front-loaded; every sentence adds value without fluff.
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?
Despite no output schema, the description includes a RETURNS section listing fields, workflow context, and usage guidance. Edge cases (empty results) not specified but overall complete for a simple list 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%, so baseline is 3. The description does not add meaning beyond the schema for parameters; it only mentions pagination and optional filters, which are already in the schema.
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?
Clearly states the verb 'list', resource 'historical CoreClaw scraper runs', and adds scope 'current user's' and features (pagination, filters). Distinguishes from siblings like get_run_status and search_scrapers by specifying what it lists and what it does not.
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?
Includes explicit 'WHEN TO USE' with example user intents and 'WHEN NOT TO USE' specifying alternative tools (get_run_status for live status, search_scrapers for scrapers). Also provides a workflow hint for continuing prior work.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rerunADestructiveInspect
Re-run a previous CoreClaw scraper run using the exact same parameters. Produces a new run_slug.
WHEN TO USE: the user wants to re-execute, retry, or repeat a past run with identical inputs — "重新跑一遍"、"rerun the last one"、"retry that failed run"、"do it again". Especially common after a failure (status=4) where the cause was environmental / transient.
WHEN NOT TO USE: do NOT use if inputs need to change (use run_scraper with new custom_params). Do NOT use to start a brand-new run (use run_scraper or run_task).
RETURNS: JSON with 'run_slug' (new, different from the original), 'status'.
WORKFLOW: preceded by list_runs or get_run_status (to locate the original run_slug). Follow with get_run_status -> get_run_results.
| Name | Required | Description | Default |
|---|---|---|---|
| run_slug | Yes | The previous run identifier to re-execute. Example: 'run_abc123'. Obtain from list_runs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true. The description adds that a new run_slug is produced (not destructive to original), returns specific fields, and is for transient failures. No contradiction, and it provides useful context beyond annotations.
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 well-structured with clear sections (WHEN TO USE, WHEN NOT TO USE, RETURNS, WORKFLOW). It is concise, front-loaded, and every sentence 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?
For a tool with 1 parameter and no output schema, the description covers return format, workflow, prerequisites, and context about failures. It is complete and leaves no essential gap.
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 coverage is 100% with a clear description and example for the single parameter (run_slug). The description doesn't add extra param semantics, so baseline 3 is appropriate.
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 re-runs a previous CoreClaw scraper run with identical parameters, producing a new run_slug. It distinguishes from siblings like run_scraper (for new inputs) and run_task (for brand-new runs).
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?
Explicit WHEN TO USE (re-execute, retry, repeat after failure) and WHEN NOT TO USE (inputs need to change, brand-new run). Also provides workflow: preceded by list_runs or get_run_status, followed by get_run_status/get_run_results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_scraperADestructiveInspect
Start an asynchronous CoreClaw scraper run with custom parameters. Returns a run_slug for tracking status, results, and logs.
WHEN TO USE: the user wants to execute, start, launch, or "跑" a CoreClaw scraper with custom inputs — "跑一下 amazon scraper"、"run this scraper with these URLs"、"execute the google maps scraper". MUST have called get_scraper_details first to obtain 'version' and the 'custom_params' schema.
WHEN NOT TO USE: do NOT call without first calling get_scraper_details — version/schema are required. Do NOT use to re-run a past run (use rerun) or to run a saved task (use run_task).
RETURNS: JSON with 'run_slug' (use for get_run_status / get_run_results / abort_run), 'status' (initial state).
WORKFLOW: preceded by get_scraper_details. Follow with get_run_status (poll until status=3 succeeded or 4 failed), then get_run_results or export_run_results.
| Name | Required | Description | Default |
|---|---|---|---|
| version | Yes | The scraper version string. Example: 'v1.2.3'. Obtain from get_scraper_details.version — do NOT invent or guess. | |
| scraper_slug | Yes | The slug identifier of the scraper to run. Example: 'amazon-product-scraper'. Obtain from search_scrapers. | |
| custom_params | Yes | JSON string of scraper-specific input parameters. Schema comes from get_scraper_details.custom_params_schema. Minimal example: '{"startURLs":[{"url":"https://amazon.com/dp/B001"}],"proxy_region":"US"}'. Fields vary per scraper — always consult the schema from get_scraper_details. | |
| system_params | No | JSON string of system resource parameters. Obtain defaults from get_scraper_details.system_params. Keys: cpus, memory, execute_limit_time_seconds, max_total_charge, max_total_traffic. Minimal example: '{"cpus":1,"memory":1024,"execute_limit_time_seconds":3600}'. (optional — omit to use scraper defaults) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds that it's asynchronous, returns a run_slug for tracking, and describes the workflow. This provides useful context beyond annotations.
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 well-structured with clear sections (WHEN TO USE, WHEN NOT TO USE, RETURNS, WORKFLOW). Every sentence adds value without 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?
Despite lacking an output schema, the description specifies return fields (run_slug, status). It explains the full workflow: prerequisite (get_scraper_details), polling (get_run_status), and retrieval (get_run_results). All 4 parameters are thoroughly documented.
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?
The input schema has 100% coverage, and the description adds critical guidance: where to obtain values (get_scraper_details), not to invent version, and consulting the custom_params_schema. This goes well beyond the schema 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 'Start an asynchronous CoreClaw scraper run' with specific verb and resource. It distinguishes from siblings like rerun and run_task by explicitly mentioning alternatives in the WHEN NOT TO USE section.
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 WHEN TO USE section provides explicit context (e.g., '跑一下 amazon scraper'), and the WHEN NOT TO USE lists exclusions (rerun, run_task) and prerequisite (must get_scraper_details first).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_taskADestructiveInspect
Run a pre-configured saved task from the user's CoreClaw console. All parameters are stored with the task — no input schema needed.
WHEN TO USE: the user wants to execute a named saved task they already configured in CoreClaw — "跑一下我那个 amazon 日常任务"、"run my saved task X"、"execute task Y". User refers to the task by task_slug (different from scraper_slug).
WHEN NOT TO USE: do NOT use for ad-hoc runs with custom parameters (use run_scraper). Do NOT use to re-run a past run (use rerun).
RETURNS: JSON with 'run_slug' (use for get_run_status / get_run_results), 'status'.
WORKFLOW: terminal call for starting work. Follow with get_run_status -> get_run_results.
| Name | Required | Description | Default |
|---|---|---|---|
| task_slug | Yes | The saved task identifier. Example: 'task_daily_amazon'. Found in the user's CoreClaw console tasks page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive (creates a run) and non-idempotent. Description adds that it is a terminal call, returns run_slug and status, and suggests workflow. No contradiction.
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?
Well-structured with clear sections (WHEN TO USE, WHEN NOT TO USE, RETURNS, WORKFLOW). Every sentence is information-dense and earns its place.
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?
Given one parameter, no output schema, and annotation coverage, description fully covers purpose, usage, return format, and next steps in workflow.
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?
Only one parameter, task_slug, with schema description and example. Description adds value by distinguishing task_slug from scraper_slug and noting parameters are stored with task.
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?
Explicitly states it runs a pre-configured saved task, distinguished from similar tools like run_scraper and rerun. Verb+resource: 'run a pre-configured saved task' is specific and clear.
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?
Provides explicit 'WHEN TO USE' and 'WHEN NOT TO USE' sections with examples and specific alternatives (run_scraper, rerun). Clear context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_scrapersADestructiveInspect
Search the CoreClaw scraper marketplace (coreclaw.com) for ready-to-run scrapers by keyword.
WHEN TO USE: the user wants to find, discover, list, browse, or look up scrapers on the CoreClaw platform — by site/domain ("amazon", "twitter", "google maps", "tiktok"), by category, or by any keyword. Also triggers on "有没有能爬 X 的"、"CoreClaw 上有什么 X 的 scraper"、"find a scraper for Y".
WHEN NOT TO USE: do NOT use web_search — CoreClaw scrapers are proprietary marketplace listings, not public web content. Do NOT use get_scraper_details (that requires a known slug).
RETURNS: JSON array of scrapers, each with 'slug' (used by get_scraper_details / run_scraper), 'title', 'description', 'tags'.
WORKFLOW: typically the first step in any scraping task. Follow with get_scraper_details -> run_scraper -> get_run_status -> get_run_results.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return. Typical values: 2-20. (default: 10) | |
| query | Yes | Search keyword matching scraper title / description / tags. Examples: 'amazon', 'google maps', 'twitter'. Use empty string '' to list all scrapers. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description describes a read-only search operation, but annotations have destructiveHint: true and readOnlyHint: false, contradicting the description. This is a serious inconsistency that undermines transparency.
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 well-structured with sections and front-loaded purpose, but is slightly verbose with repeated examples. Could be trimmed without losing 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?
Given the tool is simple with few parameters and no output schema, the description fully covers the return format (JSON array with slug, title, description, tags) and workflow (first step in scraping pipeline). No 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 covers both parameters with descriptions, but the description adds value beyond schema: it explains the empty string for listing all scrapers and provides examples. Schema coverage is 100%, so baseline is 3; the added context merits a 4.
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 searches a specific marketplace (CoreClaw) for scrapers by keyword, with explicit verb 'Search' and resource 'scraper marketplace'. It distinguishes from siblings like web_search and get_scraper_details.
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?
Includes explicit WHEN TO USE and WHEN NOT TO USE sections, with examples, alternative tools, and triggers. Provides clear guidance on when to use this tool vs siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!