actors-mcp-server
OfficialServer Quality Checklist
Latest release: v0.14.2
- Disambiguation5/5
Each tool targets a distinct action (abort, call, fetch, get, search) on different resources (actor runs, actor details, docs, datasets, KV stores, store listings). No two tools overlap in purpose, even the two search tools operate on different domains (store vs. docs).
Naming Consistency4/5Tool names follow a verb-noun pattern (e.g., abort-actor-run, fetch-actor-details), but the verbs are not uniform: 'abort', 'call', 'fetch', 'get', 'search' are used. While readable and predictable, the mix of 'get-' and 'fetch-' for similar retrieve actions slightly reduces consistency.
Tool Count5/5With 9 tools, the surface is well-scoped for an Actors MCP server. Each tool serves a clear, non-redundant purpose, covering discovery, execution, status, and output retrieval without overwhelming the user.
Completeness4/5The tool set covers the core Actor lifecycle: search, detail fetch, run, abort, run status, and output (dataset & KV store reads). Minor gaps exist (no write to storage, no list/delete runs), but the essential workflows are supported.
Average 4.4/5 across 9 of 9 tools scored. Lowest: 3.7/5.
See the Tool Scores section below for per-tool breakdowns.
- 82 of 98 community issues answered or closed in the last 6 months
- 226 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
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.
This repository includes a glama.json configuration file.
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
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is clear. The description adds that it fetches 'full content', which is consistent but does not disclose any additional behavioral traits (e.g., rate limits, auth). Since annotations carry the burden, a score of 3 is appropriate.
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, with two main sentences plus a usage section and examples. It is well-structured and front-loaded, containing no unnecessary words. Every part earns its place.
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 the tool has a single parameter, an output schema (so return values are documented), and good annotations, the description is adequately complete. It explains when to use and provides examples. A slight improvement could be mentioning expected behavior for invalid URLs, but not required.
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 has one parameter 'url' with a description, and schema description coverage is 100%. The tool description does not add additional semantic meaning beyond what the schema already provides, meeting the baseline of 3.
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 fetches the full content of an Apify or Crawlee documentation page by URL. The verb 'fetch' combined with the specific resource 'docs page' provides a clear purpose, and it distinguishes from sibling tool 'search-apify-docs' which searches rather than fetches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this after finding a relevant page with 'search-apify-docs', providing context for when to use. It also includes usage examples. However, it does not explicitly state when not to use the tool, which would be helpful.
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 indicate readOnly, idempotent, non-destructive. Description adds details about return fields (summary, nextStep), wait behavior (blocking up to waitSecs), and states it's for checking status. No contradictions.
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: overview, return details, USAGE, and examples. It is informative without being overly verbose, though some redundancy exists.
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 schema (2 parameters) and presence of annotations and output schema, the description fully covers usage, behavioral details, and complementary tools. It is complete for an agent to effectively use the tool.
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 individual descriptions. Description adds minimal extra context beyond the schema (e.g., waitSecs blocks for terminal status). Baseline 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 clearly states 'Get detailed information about a specific Actor run' and lists return components. It distinguishes from sibling tools by warning not to poll if a widget is used, and references call-actor as the typical source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The USAGE section explicitly says 'Use to check the status of a run started with call-actor' and explains waitSecs behavior. It also says when not to poll (widget self-polls). However, it does not explicitly compare with all siblings like abort-actor-run.
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 mark the tool as read-only and idempotent. The description adds valuable context on the output parameter's default behavior (all fields true except mcpTools) and the readme field's fallback logic (summary when available, otherwise full README). 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized and front-loaded, with a brief main purpose followed by parameter guidance and examples. Every sentence contributes, though the examples section could be trimmed, but it is not redundant.
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 the nested output object and an existing output schema, the description adequately covers input semantics and provides examples. It doesn't over-explain return values since output schema exists. Minor gap: it doesn't mention that output is a nested JSON object, but the schema handles that.
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?
Schema coverage is 100%, so the baseline is 3. The description enriches the output parameter with usage patterns (e.g., 'inputSchema only', 'mcpTools for MCP Actors') and clarifies the readme field's behavior, going beyond the schema's boolean descriptions.
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 a specific verb+resource: 'Get detailed information about an Actor by its ID or full name.' It clearly distinguishes from siblings like call-actor (executes) and get-actor-run (retrieves runs), and provides explicit examples of the resource type (e.g., 'apify/rag-web-browser').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states specific use cases: 'Use when querying Actor details, documentation, input requirements, or MCP tools.' It gives concrete examples but does not explicitly mention alternatives like search-actors for finding actors, so it lacks a formal when-not/alternative statement.
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, destructiveHint=false, idempotentHint=true. The description adds value by stating the default limit of 20, the effect of clean=true, and that this returns output/results. No contradictions.
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 a purpose paragraph, a usage paragraph, and examples. It is concise enough (about 4 sentences plus examples) and front-loads the key verb and resource. Slightly verbose in the examples but generally efficient.
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 8 parameters, 100% schema coverage, output schema present, and clear annotations, the description provides sufficient context: behavioral defaults (limit, clean), usage distinctions, and field filtering guidance. It covers the essential aspects for agent invocation.
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?
Schema description coverage is 100%, so baseline is 3. The description adds context beyond schema: 'Default limit is 20', 'Use clean=true to skip empty items and hidden fields', and clarifies the flatten parameter usage. This adds meaning for the agent.
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 purpose: 'Get items (rows) from a dataset — the output/results produced by an Actor run.' It distinguishes itself from related tools (get-dataset for metadata/schema, get-dataset-schema for JSON schema).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool: 'When the user provides a datasetId and asks to retrieve results, output, data, or rows, call this tool directly — do not call get-dataset first.' It provides usage examples, but does not give explicit when-not conditions beyond the sibling distinction.
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 indicate read-only and idempotent. The description adds that the response preserves Content-Encoding and that decompression is automatic, which is useful behavioral 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise paragraphs with clear purpose, usage guidance, and examples. Every sentence adds value. No wasted words.
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 get-record tool, the description covers purpose, key discovery, content encoding, and usage context. Output schema exists, so return values need not be explained.
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%, so baseline is 3. Description does not elaborate on parameters beyond what the schema provides; usage examples imply parameter use but add no new semantic detail.
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 gets a single record by key, distinguishes from listing all keys, and notes using get-key-value-store-keys first. The verb 'get' and resource 'key-value store record' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using get-key-value-store-keys first if key is unknown, and gives a straightforward 'when to use' statement. No exclusions or alternatives provided, but sibling tools are unrelated.
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?
The description adds significant behavioral context beyond annotations: it specifies that the abort only affects starting/running runs, has no effect on terminal states, and returns updated run details. Annotations already indicate destructiveHint=true and idempotentHint=true, and the description aligns with and enriches these traits.
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 appropriately sized with a clear front-loaded purpose statement. The USAGE and USAGE EXAMPLES sections are helpful but slightly repetitive; overall effective but could be slightly more concise.
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's simplicity (2 parameters, output schema present), the description is complete: it covers purpose, conditions for use, behavior on different run statuses, and return value expectation. No gaps identified.
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 both runId and gracefully having descriptions. The description adds no parameter-specific semantics beyond what the schema already provides; the usage examples hint at gracefully but do not add new 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 clearly states 'Abort an Actor run that is currently starting or running' with specific verb and resource. It distinguishes from sibling tools like get-actor-run (read-only) and call-actor (start) by focusing on aborting, and notes conditions where it has no effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Use when you need to stop a run that is taking too long or misconfigured.' It implies when not to use by stating it has no effect on finished/failed/aborted/timed-out runs, but does not explicitly name alternatives like get-actor-run for monitoring.
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 annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses key behavioral traits: it returns only summary information, not full documentation, it excludes rental/restricted actors, and it provides input field types for constructing actor calls. It also states the tool does not retrieve data or run tasks, adding meaningful context not captured by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections, but it is verbose and contains non-essential content such as the policy statement 'Do not question legality, ethics, permissions...' and detailed return structure that duplicates the output schema. While front-loaded, several sentences could be trimmed without losing meaning.
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's moderate complexity, the rich schema (3 params, 100% coverage), output schema, and annotations, the description is complete. It covers purpose, scope, limitations, return summary, and clear differentiation from siblings. No critical gaps remain 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.
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. The description adds no new parameter-level semantics beyond the schema—it repeats keyword guidance already in the keywords parameter description (e.g., broad keywords, empty string). The only addition is a usage rule about performing at least two searches, which is not parameter 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 clearly states the tool searches the Apify Store to discover scraping tools/Actors, and explicitly distinguishes it from data retrieval and execution tools: 'it does NOT retrieve actual data or run any scraping tasks.' It names the specific verb+resource (search the Apify Store) and differentiates from siblings like call-actor and fetch-actor-details.
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 and when-not-to-use guidance: 'Use this tool when user wants to...' lists concrete scenarios, and 'Do NOT use this tool when user wants immediate data retrieval... use apify/rag-web-browser instead.' It also directs users to fetch-actor-details for complete actor details, providing clear alternatives.
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, destructiveHint=false, so the safety profile is clear. The description adds that results include URL and limited content, and that full content should be fetched via fetch-apify-docs. No contradictions. Minor omission: no mention of rate limits or pagination behavior beyond offset/limit.
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 moderately lengthy but well-structured with clear sections, bullet points, and bolded terms. It is front-loaded with the core purpose. Could be slightly more concise, but every sentence adds 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?
Given the tool's complexity (multiple documentation sources, pagination, integration with a sibling tool), the description is thorough. It covers when to use, how to parameterize, and what to expect in results. The output schema exists, but the description still provides useful context on return format.
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?
Schema description coverage is 100%, so baseline is 3. The description adds meaningful context beyond the schema, such as query formatting ('Use only keywords, do not use full sentences'), and elaborates on docSource options with detailed explanations. This justifies a score above baseline.
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 'Search Apify and Crawlee documentation using full-text search' and explicitly distinguishes from search-actors by saying 'Do not also call search-actors unless the user asks to find Actors in the Apify store.' It uses specific verbs and resources.
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 context on when to use this tool vs alternatives (e.g., 'Do not also call search-actors...'), and details which docSource to select with examples. It also advises to prefer platform documentation over Academy content.
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 provide no behavioral hints (all false), so the description carries the burden. It discloses that the report is sent to the Apify team and includes a clear warning: 'Do NOT include personal data, credentials, secrets, or verbatim private conversation content.' This adds meaningful context beyond the schema/annotations. However, it doesn't detail any side effects or confirmation behavior, which is a minor gap.
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 front-loaded with the purpose, followed by clear bullet-point usage conditions and a concise instruction. Each sentence earns its place without unnecessary fluff, staying around 80 words while conveying all key 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 simple reporting tool with high schema coverage and an output schema present, the description covers the essential context: what the tool does, when to invoke it, and how to safely compose the message. It does not need to explain the return value because the output schema would cover that, and no additional caveats are required for this use case.
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 describes all four parameters with 100% coverage, giving a baseline of 3. The description adds semantic value by explaining how to compose the required message: 'Put what you were doing and what went wrong in "message"' and by instructing users to avoid sensitive data. The optional parameters are not elaborated, but the schema covers them sufficiently.
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 'Report a problem with Apify's MCP tools or Actors to the Apify team.' This is a specific verb+resource and distinguishes it from sibling tools that focus on searching, calling, or fetching actors/data. It leaves no ambiguity about the tool's purpose.
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 explicitly lists conditions: 'Call it when: A tool or Actor is missing, errors, times out, or returns a confusing, wrong, or empty result. You cannot complete the user's request with the available tools.' This provides clear when-to-use guidance and implies alternatives are the operational tools. It also instructs what to include in the message.
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 indicate destructiveHint=true and readOnlyHint=false, and the description aligns by stating that calling an Actor creates a run. It adds behavioral details beyond annotations, such as waiting behavior (waitSecs), return of run status and storage IDs, and the nextStep field for non-terminal runs. No contradiction found.
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 (WORKFLOW, IMPORTANT, USAGE, EXAMPLES). It is front-loaded with the core purpose and each sentence contributes value. Length is appropriate for the tool's complexity.
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's complexity (4 parameters, nested callOptions, output schema, annotations), the description fully covers workflow, usage guidelines, behavioral details, and references related tools. It provides examples and addresses edge cases like MCP servers, making it complete for an AI 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?
Schema coverage is 100%, so baseline is 3. The description adds context beyond schema by explaining the format for actor names, the workflow of using fetch-actor-details first, and the purpose of waitSecs and callOptions. It reinforces understanding but doesn't dramatically expand on schema details.
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 'Call any Actor from the Apify Store', clearly stating the tool's purpose with a specific verb and resource. It distinguishes itself from sibling tools like fetch-actor-details and get-actor-run by outlining a distinct workflow and usage scenario.
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 explicitly states when to use this tool versus dedicated Actor tools: 'Always use dedicated tools when available... Use the generic call-actor tool only if a dedicated tool does not exist'. It also provides step-by-step workflow and specific instructions for MCP server Actors, offering clear guidance on alternatives.
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/apify/apify-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server