Skip to main content
Glama
eliottreich

Crawdar Business Research

Server Quality Checklist

83%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation4/5

    Most tools have clear, distinct purposes: synchronous vs asynchronous search, sandbox, and explain. The overlap between research_businesses and search_businesses is somewhat subtle but resolved by the explicit distinction between natural-language briefs and structured criteria.

    Naming Consistency5/5

    All tool names follow a consistent snake_case action_object pattern (research_businesses, start_lead_search, cancel_lead_search), making their behavior predictable. Even explain_crawdar fits the convention.

    Tool Count5/5

    Nine tools is well-scoped for a business-research service: it covers synchronous search, async job lifecycle, sandbox testing, and explanatory metadata without excess or redundancy.

    Completeness5/5

    The tool surface covers the full search workflow—immediate sync queries, durable async jobs, refinement, retry, cancellation, status/result reading, and safe testing—plus an explain tool for interface guidance. No obvious gaps remain.

  • Average 4.4/5 across 8 of 9 tools scored. Lowest: 3.7/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues 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 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.

  • This server has been verified by its author.

  • 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 indicate readOnly=false, destructive=false, and idempotent=false. The description adds that the original job remains unchanged, but it does not disclose persistence behavior, asynchronous job polling, rate limits, or other side effects beyond creating a new job.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, focused sentence with no filler. It front-loads the core action and key constraint, making it easy to parse quickly.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The schema and annotations cover the parameter and safety landscape, and the description gives the essential purpose. However, it omits lifecycle context such as how to retrieve the resulting job or whether it is asynchronous, which would be useful given the job-based nature of the tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, and each parameter has a clear one-line description. The tool description itself adds no additional meaning beyond what the input schema already provides, so the baseline score applies.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    States a specific verb ('Create'), a distinct resource ('new private search job'), and a unique action ('by changing the brief or criteria of a completed job'). The explicit non-destructive outcome ('The original job stays unchanged') further disambiguates it from similar lead-search tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies use when refining a completed lead search and clearly frames the action, but it does not explicitly name alternatives such as start_lead_search or retry_lead_search, nor does it provide direct 'when not to use' guidance. Context is present but not fully explicit.

    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 flag destructiveHint and idempotentHint. The description adds useful behavioral context: only queued or running jobs are affected, and completed/failed jobs are immutable, which clarifies why the operation is idempotent for terminal states.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences deliver the action, the resource scope, and an important caveat without any filler. The main verb and target are front-loaded, making the purpose immediately clear.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With an output schema present, both required parameters fully documented, and annotations covering safety profile, the description provides everything an agent needs to invoke cancellation appropriately. The immutability caveat covers edge cases of completed/failed jobs.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema provides full descriptions for both required parameters (id and jobToken) with 100% coverage. The description adds no additional parameter-specific meaning, so the baseline score of 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb ('Cancel') and resource ('search job'), and further narrows scope to 'queued or running' jobs. This clearly distinguishes it from sibling tools like start_lead_search or get_lead_search.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies when cancellation is valid by noting 'Completed and failed jobs remain immutable', which serves as a when-not. However, it does not explicitly name alternatives or direct the agent to a different tool for other job states.

    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?

    Description discloses that it creates a job, is asynchronous and queued, and returns identifiers for subsequent operations; consistent with annotations (idempotentHint=false, readOnlyHint=false).

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, front-loaded with usage recommendation, then concise feature list; no redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Provides purpose, async nature, return identifiers, and downstream capabilities; since output schema exists, no need to detail return fields.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema already covers all parameters with descriptions; description adds high-level workflow context but does not detail parameter usage, so baseline 3.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    States a specific verb 'creates' and resource 'private queued search job', and positions it as the recommended durable asynchronous workflow, distinguishing it from synchronous siblings.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly says 'Use for the recommended durable asynchronous workflow' and enumerates downstream capabilities (polling, paging, refinement, retry, cancellation, export), signaling when to choose this tool; however, it does not explicitly name sibling tools for contrast.

    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 and destructiveHint=false, so the safety profile is covered. The description adds the synchronous, quick nature and the contrast with the durable asynchronous sibling, which is valuable context beyond the annotations. It does not contradict annotations and provides the expected call-time behavior.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences with zero waste. The primary use case is front-loaded in the first sentence, and the alternative is clearly stated in the second. It is concise, structured, and every word contributes to the agent's decision.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (7 parameters, 1 required) and the presence of a detailed input schema and output schema, the description is sufficient. It explains the synchronous nature and the routing to the async sibling. It does not cover pagination or output details, but those are already in the schema, and the description provides the key decision guidance for an agent.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% and all seven parameters have detailed descriptions (e.g., brief example, limit bounds, fields enum). The description does not add parameter-specific semantics but reinforces that the brief is a natural-language query. With full schema coverage, a baseline of 3 is appropriate; the description adds no extra meaning beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb ('research') and resource ('businesses'), and immediately defines the scope: a quick synchronous search from a natural-language brief. It distinguishes itself from start_lead_search by naming the alternative, making it clear this tool is for immediate results in the current call. No 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly says 'Use for a quick synchronous search when the user supplies one natural-language brief and can wait for results in the current tool call' and then explicitly routes other workflows ('durable progress, retry, export, or large agent workflows') to start_lead_search instead. This gives both when-to-use and when-not-to-use guidance with a named alternative.

    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 establish readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds useful context by characterizing the call as quick and synchronous, and there is no contradiction with the 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise, front-loaded with the primary use case, and efficiently contrasts sibling tools without unnecessary detail.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description, combined with the parameter schema and annotations, provides enough context for invoking a synchronous search and interpreting paging-related outputs. It could mention return shape more explicitly, but the output enum and parameter descriptions cover the essentials.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema descriptions cover 100% of parameters, so the baseline applies. The tool description does not add much beyond the schema, though it does reinforce that target, geography, and qualifier are the structured search fields.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description uses the specific verb 'search' and identifies the resource 'businesses.' It clearly distinguishes from siblings by noting the structured-criteria synchronous use case versus research_businesses for plain-language briefs and start_lead_search for durable async work.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly states when to use the tool: quick synchronous search when target, geography, and qualification fields are already structured. It also names alternatives for different scenarios, leaving little ambiguity about selection.

    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. The description adds a meaningful behavioral trait: 'does not consume a search.' This goes beyond the annotations by clarifying that the tool performs no search operation, which is important context. 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two concise sentences with no redundancy. The first sentence front-loads the core purpose, and the second adds a clarifying limitation. Every word earns its place, making it efficient and easy to parse.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given zero parameters and an output schema, the description covers the essential information: what the tool returns (semantics, limits, URLs, guidance) and what it does not do (consume a search). An agent can confidently use this tool to obtain operational context for the search tools, and nothing critical is missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics, and the schema confirms no parameters exist. The description appropriately focuses on the tool's function rather than parameters.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific purpose: to retrieve result semantics, limits, interface URLs, and safety guidance. It explicitly distinguishes itself from search operations with 'This tool does not consume a search.' This clearly differentiates it from the sibling search tools and gives an agent a precise understanding of what it does.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage by stating what it provides and clarifying it does not consume a search. This sets a clear boundary versus the sibling search tools, though it doesn't explicitly state 'use this when you need to understand the search tool' or provide alternative conditions. The context is clear enough for an agent to infer when to use it.

    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 mark the operation as read-only, idempotent, and non-destructive. The description adds valuable behavioral detail beyond that: the tool returns either job status or a paginated page, jobToken must be kept private, and cursor must be passed back unchanged. No contradiction with annotations exists.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two short sentences front-load the core purpose and then give the two essential operational cautions. There is no filler or redundant restatement of the tool name.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With an output schema present, annotations providing the safety profile, and full parameter documentation, the description supplies the missing high-level semantics: status/page duality, opaque cursor chaining, and token privacy. An agent has enough information to invoke it correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, and the schema already documents id provenance, view behavior, limit bounds, cursor opacity, and jobToken privacy. The description's 'keep jobToken private' and 'pass nextCursor back unchanged' largely echo schema text, with only the 'unchanged' nuance adding slight extra meaning.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb ('Read') and resource ('job status or one cursor-paginated result page'). This clearly distinguishes it from sibling tools like start_lead_search, refine_lead_search, retry_lead_search, and cancel_lead_search, which create, modify, or cancel jobs rather than read results.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description clearly frames the tool as a retrieval and pagination operation, and the instruction to pass nextCursor back unchanged gives concrete usage context. It does not explicitly name alternatives or exclusions, but the sibling tool set makes the retrieval-versus-creation contrast obvious.

    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?

    The description makes the mutation explicit ('Create a replacement job') and adds a side effect detail (original stays for audit). It does not mention idempotency or permissions, but the annotations already cover the read-only and destructiveness hints, and the description 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences, concise and to the point, with no unnecessary details or repetition. It is well-structured and front-loads the core purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description is complete enough given the output schema exists and the parameters are well-described. It does not cover error cases or output details, but these are not required for a tool of this simplicity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Both parameters have descriptions in the schema that add meaning: 'id' is 'Failed or timed-out source job id' and 'jobToken' is 'Private token belonging to the source job'. This exceeds simple name-based inference.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the action ('Create a replacement job') and the specific object ('replacement job'), and distinguishes it from siblings by noting the original job stays for audit. It is clear and 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly states when to use it ('when a prior job failed or exceeded its execution window'), providing a clear condition. It does not explicitly name alternatives, but the condition sufficiently guides usage.

    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 clearly indicates the tool returns fictional deterministic data and has no provider-side consumption, aligning with the readOnlyHint annotation. It also implies idempotency through 'deterministic' and is consistent with the destructiveHint false annotation. No behavioral contradictions are present.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is tightly written in two sentences with no redundant wording. It front-loads the primary purpose and immediately follows with concrete usage guidance.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the annotations, input schema, output schema, and sibling tool context, the description covers all essential information an agent needs: purpose, behavior, parameters, and safe usage. There are no missing critical details.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Both parameters are described with their meaning and role in generating deterministic test results. The schema coverage is 100%, and the description adds that values are 'echoed' into results, clarifying how the parameters affect output.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Return') and clearly identifies the resource as deterministic fictional businesses. It also distinguishes this tool from production data tools by noting it does not consume provider capacity and is intended for testing schemas, clients, and agent loops.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly states when to use the tool: 'Use this to test schemas, clients, and agent loops.' This provides clear guidance on the intended scenario and helps differentiate it from the sibling search/research tools.

    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

Crawdar Business Research MCP server — quality and maintenance score on Glama

Copy to your README.md:

Score Badge

Crawdar Business Research MCP server — quality and maintenance score on Glama

Copy to your README.md:

shields.io Endpoint

Crawdar Business Research MCP server — quality and maintenance score on Glama

For READMEs with an existing badge row. Append &style=flat-square (or any other shields.io style) to match the rest, and &metric=tools, &metric=maintenance or &metric=claim to badge a different dimension.

Latest Blog Posts

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/eliottreich/crawdar-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server