Scrapeer MCP Server
OfficialServer Quality Checklist
Latest release: v0.1.1
- Disambiguation5/5
Each tool targets a distinct resource and action: flows, runs, account, and block catalog are separate. The two run tools are clearly differentiated (immediate vs wait), and update_flow vs patch_flow are distinguished by scope (full replace vs granular ops). No two tools appear to do the same thing.
Naming Consistency5/5All tools follow a consistent scrapeer_verb_noun pattern in snake_case (list_flows, get_flow, run_flow, get_run_status, create_flow). Even compound names like run_flow_and_wait and get_block_catalog maintain the pattern, making the set highly predictable.
Tool Count5/515 tools is within the ideal 3-15 range and each tool earns its place by covering a distinct aspect of flow and run lifecycle management. The count feels well-scoped for a scraping platform, not bloated or thin.
Completeness4/5The tool set covers flow management (list, get, create, update, patch, validate) and run management (run, wait, status, results, steps, list, cancel) plus account and block catalog. The main gap is the lack of a delete_flow tool, but core workflows are otherwise well covered.
Average 4.5/5 across 15 of 15 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- 0 of 1 community issues answered or closed in the last 6 months
- 8 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is failing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnly=false, idempotent=false, destructive=false. The description adds that the flow is created empty, requires follow-up updates/patches, and returns the flow's ID. This goes beyond annotations and offers useful behavioral context, though it doesn't mention edge cases like duplicate title handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, starting with the core action, then the return value, followed by follow-up guidance, and ending with explicit usage conditions. It is concise and well-structured, though the 'USE THIS TOOL WHEN' section partially repeats the purpose, which is a minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create tool with a single parameter and no output schema, the description is complete: it states the action, the return value, the empty state, and the relationship to sibling tools. The guidance covers the primary use cases and failure mode (overwriting).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the sole 'title' parameter as 'Display name for the new flow.' The description merely says 'with the given title' and adds no extra semantic detail, so the baseline of 3 is appropriate given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Create a new (empty) flow with the given title' and notes it returns the new flow's ID. It clearly distinguishes from sibling update/patch tools by specifying the flow is empty and that updates are for later, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit 'USE THIS TOOL WHEN' and 'DO NOT USE' sections, naming scrapeer_update_flow as the alternative for overwriting existing flows. This gives clear, actionable guidance on when to use this tool versus siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds context about status being 'completed' but doesn't describe return format or side effects. No contradiction, but little extra 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is compact, front-loaded with purpose, and structured into use/when-not-to-use. Every sentence provides value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is a simple status check with a single well-documented parameter, read-only annotations, and sibling context. Description covers purpose, usage conditions, and exclusions, sufficient for effective selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage: the only parameter execution_id is described as returned by scrapeer_run_flow or scrapeer_run_flow_and_wait. The description does not add additional parameter details, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Check the status of a cloud run', clearly identifying the verb and resource. It also distinguishes from siblings by directing users to scrapeer_get_run_results for results, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (after starting a run with scrapeer_run_flow or monitoring runs started elsewhere) and when not to use (to get results, use scrapeer_get_run_results). This is full guidance with an alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds minimal behavioral context (e.g., 'saved' implies persistence) but does not disclose return format, pagination behavior, or additional side effects, which is acceptable given the annotations and simple nature of the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, followed by structured usage guidance. Every sentence earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two optional parameters, good annotations, and no output schema, the description fully covers purpose, usage context, and alternatives. The schema handles parameter specifics, and the read-only nature is already disclosed by annotations, making this contextually complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, with clear descriptions for limit and offset. The main description does not add parameter details, but since the schema already provides full meaning, the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List your saved scraping flows.' It uses a specific verb and resource, and explicitly distinguishes from the sibling tool by saying 'DO NOT USE: to get details about a specific flow (use scrapeer_get_flow).'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use scenarios: 'when you need to find a flow ID, the user says "list my flows/scrapers", or you need to discover available flows before running one.' Also gives a clear exclusion and names the alternative tool, making the usage guidance unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-read-only, non-idempotent, non-destructive operation. The description adds that it 'Triggers a cloud run, polls until complete, and returns structured results', providing behavioral context beyond annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections, front-loaded purpose, and no fluff. Slightly long but every sentence serves a purpose, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex run-and-wait operation without an output schema, the description covers key aspects: what it triggers, how it waits, and how to disambiguate from siblings. It could detail the return structure but 'structured results' is acceptable given the explicit usage guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so schema already documents all three parameters. The description adds minimal parameter context beyond what the schema provides, mentioning flow ID/name resolution but not max_credits or timeout_seconds semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Execute' and resource 'scraping flow', clearly stating it waits for results. It distinguishes itself from siblings by being 'the recommended way' and explicitly excluding status checking and listing flows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
'USE THIS TOOL WHEN' and 'DO NOT USE' sections provide explicit use cases and alternatives, naming specific sibling tools (scrapeer_get_run_status, scrapeer_list_flows). This is exactly the level of guidance needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering safety expectations. The description adds behavioral context by noting what the breakdown includes (block errors, timing, preview envelopes) beyond what annotations express. It doesn't detail output structure, but annotations lower the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: first states purpose, second gives specific use cases, third clarifies what not to use it for. No wasted words, and key decisions are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description communicates the return concept (block-level breakdown with execution timing and preview envelope presence). It references relevant sibling tools and gives enough context to invoke correctly. Slightly more detail on output shape would push it to 5, but it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the single parameter, execution_id, including its UUID format and what returns it (scrapeer_run_flow or scrapeer_run_flow_and_wait). The description itself doesn't add parameter-level details, but schema coverage is 100%, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') with a clear resource ('block-by-block execution breakdown of a run'), immediately conveying the tool's scope. It explicitly differentiates itself from scrapeer_get_run_results by contrasting block-level details vs. actual scraped values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit 'USE THIS TOOL WHEN' conditions and a 'DO NOT USE' exclusion naming the alternative tool. This gives the agent clear decision criteria for selecting this tool over most siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context: it is a listing operation for history, supports filtering by status/flow, and is not for retrieving run details. It does not describe pagination or ordering, but the annotation coverage lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a clear one-sentence purpose, followed by explicit capitalized usage guidelines. No filler or redundant repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with complete schema documentation and strong annotations, the description plus schema provide sufficient context. It lacks an output schema and does not specify the response shape, but the explicit distinction from detail-oriented sibling tools helps set expectations. This is adequate for the tool's moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with meaningful descriptions for all four parameters (flow, limit, offset, status). The description only restates filtering by status and flow, adding no new semantic information beyond the schema. The baseline of 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'List execution history,' which is a specific verb+resource statement. It clearly distinguishes itself from sibling tools by explicitly saying to use scrapeer_get_run_status or scrapeer_get_run_results for details of a specific run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit 'USE THIS TOOL WHEN' conditions (past runs, execution history, finding a specific run) and a 'DO NOT USE' instruction with named alternative tools. This leaves no ambiguity about when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations do not provide safety hints (all false), so the description carries the burden. It adds valuable behavioral context: immediate return, asynchronous execution, cloud-based running, and name resolution behavior with multiple matches. These go beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise, front-loaded with the action, and uses clear sections (USE THIS/DO NOT USE). No wasted words; each sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an async trigger tool, the description covers key aspects: return value (execution ID), execution location (cloud), and follow-up behavior (polling yourself). It doesn't explicitly mention how to poll, but sibling tools and usage guidance imply it. Complete enough given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. Description mentions accepting flow ID or name but does not add significant extra detail beyond the schema's parameter descriptions. No new semantics for parameters are introduced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool 'Trigger a cloud run of a scraping flow' with a specific verb and resource. It distinguishes from sibling scrapeer_run_flow_and_wait by noting it returns immediately with an execution ID and is for async/manual polling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides 'USE THIS TOOL WHEN' and 'DO NOT USE' conditions, naming the alternative scrapeer_run_flow_and_wait. This gives clear guidance on when to choose this tool over its sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the description doesn't need to repeat safety basics. It adds context about valid target state (running only, not completed/failed) and suggests aborting after timeout. This goes beyond the annotations without contradiction, though it doesn't detail post-cancel behavior (e.g., status becomes canceled).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action. The 'USE THIS TOOL WHEN' and 'DO NOT USE' sections are clear, each sentence adds value, and the length is appropriate for a single-purpose cancellation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter cancel tool with strong annotations and no output schema, the description covers the essential context: what the tool does, when to use it, and when to avoid it. The parameter source is specified, and no additional return-value documentation is necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single parameter execution_id is clearly described as the ID returned by scrapeer_run_flow or scrapeer_run_flow_and_wait. The tool description adds no additional parameter-specific semantics, but the schema already fully documents it, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Cancel a running cloud execution,' which is a specific verb (cancel) plus resource (running cloud execution), clearly distinguishing it from sibling tools like run, list, get status, etc. It further narrows scope by explicitly excluding completed or failed runs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit 'USE THIS TOOL WHEN' scenarios (run taking too long, user wants to stop, timeout from scrapeer_run_flow_and_wait) and a 'DO NOT USE' exclusion for completed/failed runs. This gives the agent clear decision criteria and directs to alternatives implicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already define read-only/idempotent/non-destructive behavior. The description adds a valuable behavioral nuance: 'Only blocks reachable from the Start block are returned. Orphaned/disconnected blocks on the canvas are pruned.' This goes beyond annotations and helps set expectations for debugging.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is front-loaded with the purpose, then proceeds logically to parameter handling, behavioral note, and usage guidance. It uses clear formatting with 'NOTE:', 'USE THIS TOOL WHEN:', and 'DO NOT USE:'—every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple interface (1 param, no output schema) and available annotations, the description covers all essential aspects: what it returns, key pruning behavior, accepted input formats, and when to use. No critical information is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'flow' parameter. The description mentions accepting ID or name, which echoes the schema but adds no additional details. Baseline 3 is appropriate since the schema fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get details about a specific scraping flow' and enumerates what is returned (blocks with full config, selectors, variables, edges, metadata). It explicitly distinguishes from the sibling 'list all flows' with 'DO NOT USE: to list all flows (use scrapeer_list_flows)'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit 'USE THIS TOOL WHEN' conditions (know flow by name/ID, inspect selectors/block config, debugging) and an explicit 'DO NOT USE' with an alternative tool. This gives the agent clear decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds behavioral context by specifying the exact returned data (credit balance, subscription plan, cloud runs enabled), which helps the agent know what information it can obtain. It does not go into auth or rate limits, but given the annotations and simple read-only nature, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a single sentence describing the function, followed by explicit 'USE THIS TOOL WHEN' and 'DO NOT USE' sections. Every sentence serves a purpose, with no wasted words or repetition of schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately covers the expected return values by naming the key fields. It also gives clear use cases and exclusions, making it complete for an agent to decide when to invoke. It could potentially mention the exact response format or whether additional fields exist, but for a simple account info tool, the provided context is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so the description does not need to explain parameter semantics. The schema coverage is 100% (vacuously) and there are no required or enum parameters. The description's focus on the tool's purpose and output is appropriate; no parameter details are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb 'Get' and identifies the resource 'your Scrapeer account info', listing specific fields (credit balance, subscription plan, cloud runs enabled). It also explicitly distinguishes from siblings by stating 'DO NOT USE: to list flows or runs', which clears any ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'USE THIS TOOL WHEN' for checking credits or account status, and explicit exclusions: 'DO NOT USE: to list flows or runs'. This gives the agent clear decision guidance and differentiates from sibling tools like scrapeer_list_flows or scrapeer_get_run_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds behavioral context by stating the tool returns block type strings and custom-field schemas, and that guessing these leads to validation failures—clarifying the tool's role as a catalog. It doesn't cover return format details, but that's not expected given no output schema and the simple listing nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose, followed by clear usage directives and an exclusion. Every sentence adds value: the purpose, the when-to-use, the mandatory call order, and the do-not-use alternative. No wasted words despite the guidance style.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is complete. It explains the result (block types and schemas), the context (before flow creation/update), and explicitly lists related sibling tools to use instead. The guidance about validation failures underscores its importance in the overall flow workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there is nothing to explain. Baseline for 0 params is 4, and the description appropriately doesn't add parameter info since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List the block types available for use in flows, with their custom-field schemas.' It clearly distinguishes this tool from siblings by explicitly saying 'DO NOT USE: to read an existing flow's blocks (use scrapeer_get_flow)', which sets it apart from the flow-reading tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'USE THIS TOOL WHEN: you are about to create or modify a flow...' and 'ALWAYS call this BEFORE scrapeer_create_flow, scrapeer_update_flow, or scrapeer_patch_flow.' It also gives an explicit when-not-to-use with an alternative: 'DO NOT USE: to read an existing flow's blocks (use scrapeer_get_flow).' This fully covers usage context and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only offer destructiveHint=true, but the description adds crucial context: it overwrites the WHOLE flow (every block, edge, config) and explains optimistic concurrency behavior (version stamp, 409 conflict, re-fetch retry). This substantially exceeds what annotations provide and aligns with them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense yet efficiently structured: purpose, warning, alternative, use-case, prerequisites, and concurrency are each one sentence that earns its place. No fluff, and only slightly long due to necessary safety information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, complex operation with nested objects and no output schema, the description covers all critical aspects: purpose, overwrite scope, prerequisites, conflict handling, and alternative. The combination of annotations, schema, and description leaves no major knowledge gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 reinforces the overwrite warning in data but adds no meaning beyond schema. It references block catalog for node types, but that is usage guidance rather than parameter semantics, so no uplift.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool replaces a flow's entire definition with supplied JSON, explicitly identifying the resource and action. It distinguishes itself from sibling scrapeer_patch_flow by positioning itself for wholesale rewrites, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance ('USE THIS TOOL WHEN: you need to apply a wholesale rewrite...') and when-not-to ('PREFER scrapeer_patch_flow for incremental edits'). Also directs users to scrapeer_get_block_catalog for valid types and scrapeer_validate_flow for dry-run, going beyond basic alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds valuable behavioral context: it explains the return structure in detail (envelope kinds, loop handling, truncation), and the condition that the run must be completed. This goes beyond annotations to fully disclose what the agent should expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose. The 'USE THIS TOOL WHEN' and 'DO NOT USE' sections are concise and scannable. The return type explanation is detailed but every sentence serves a purpose, avoiding fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description fully specifies the return payload (variables map and block_previews envelope format). It also clarifies the relationship to scrapeer_get_run_status and addresses loop handling. With only one parameter and rich annotations, the description is complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for the single parameter, execution_id, including its source. The description enhances this by adding the requirement that the execution_id must reference a 'completed run', which is a meaningful semantic constraint not present in the schema. However, it does not add format or syntax details beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get the variables and per-block output previews from a completed run.' It specifies both the resource (run results) and the verb (get), and distinguishes it from siblings like scrapeer_get_run_status and scrapeer_get_run_steps by focusing on output contents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: 'USE THIS TOOL WHEN: scrapeer_get_run_status shows "completed" and you need the scraped output. DO NOT USE: if the run is still active (check status first).' This clearly states when to use, when not to use, and implies checking status first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description adds critical behavior: per-operation server-side validation, optimistic concurrency via version stamp, and the return value (post-patch flow plus operation summary). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (PREFERRED, USE THIS TOOL WHEN, DO NOT USE, ALWAYS calls) and every sentence contributes meaningful guidance. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with nested operation objects and no output schema, the description covers preconditions, concurrency, validation, and return value. It gives the agent all necessary context to invoke the tool successfully and understand consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameters in detail (100% coverage). The description adds value by explaining the purpose of baseProjectEventID ('so the MCP server can attach the version stamp for optimistic concurrency') and emphasizing that operations are applied in order, which supplements the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's function: 'Apply a list of granular patch operations to a flow's graph' and lists the specific operation types. It clearly differentiates from the sibling tool scrapeer_update_flow by positioning this as the preferred option for incremental edits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does 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 guidance: 'USE THIS TOOL WHEN: making targeted changes... DO NOT USE: when the change touches most of the flow at once (use scrapeer_update_flow).' It also gives mandatory preconditions (call scrapeer_get_block_catalog and scrapeer_get_flow) with reasoning.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds valuable context: it doesn't persist, returns { ok, errors[], warnings[] }, and explains that errors block save. This goes beyond the structured data without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and uses clear signposting (USE WHEN, DO NOT USE, returns). Every sentence contributes real value without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter validation tool, the description covers what it does, when to use it, what it returns, and how errors/warnings behave. No output schema exists, but the return format is explicitly stated, making it complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with detailed descriptions for nodes, edges, and defaults. The description adds a useful cross-reference ('same shape returned by scrapeer_get_flow') and emphasizes the dry-run usage, slightly enhancing the schema's meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('validate') and resource ('flow') with the scope 'dry-run without saving it', clearly distinguishing it from create, update, and run tools. It also names sibling tools for context, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: 'USE THIS TOOL WHEN' for pre-save checks, and 'DO NOT USE' for stored flows, with alternatives named (scrapeer_create_flow / scrapeer_update_flow). This leaves no ambiguity about when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Scrapeer/scrapeer-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server