Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool has a clear, distinct purpose covering the full tool lifecycle: registering, viewing, listing, searching, running, approving, deprecating, updating, and rolling back. No two tools have overlapping responsibilities.

    Naming Consistency4/5

    All tools follow a verb_noun pattern (e.g., approve_tool, get_tool), though there is a minor inconsistency between singular 'tool' and plural 'tools' in names like list_tools and search_tools vs others.

    Tool Count5/5

    9 tools is well-scoped for a tool registry server, covering all necessary operations without unnecessary bloat. Each tool serves a distinct and necessary function.

    Completeness4/5

    The tool surface covers the core lifecycle: registration, update, approval, execution, deprecation, and rollback. Minor gaps exist, such as the absence of a reject or unapprove operation, but overall it is fairly complete.

  • Average 3.8/5 across 9 of 9 tools scored.

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

    • No community issues in the last 6 months
    • 9 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under Apache 2.0.

  • 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.json to 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

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description alone must disclose behavioral traits. It mentions that the tool makes a version available for search and execution, but does not elaborate on side effects, authorization requirements, reversibility, or any impact on existing versions. This is insufficient for safe usage.

    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 consists of two concise, front-loaded sentences that convey the core purpose and usage guidance without any fluff or redundancy.

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

    Completeness2/5

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

    The tool has 4 parameters with 0% schema coverage, no annotations, and an output schema that is not mentioned. The description only covers the high-level action but fails to explain parameters, expected return value, or any pitfalls, leaving the agent ill-equipped to invoke the tool correctly.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning the input schema has no descriptions for parameters. The description adds no explanation for any of the 4 parameters (tool_id, version, approved_by, notes), leaving their semantics entirely to the schema definition. This is a critical gap.

    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 clearly states the tool's action: 'Approve a reviewed draft or tested tool version so it becomes available for search and execution.' It uses a specific verb (approve) and a concrete resource (tool version), and it's distinct from sibling tools like deprecate_tool or register_tool.

    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 says 'Use this only after a human or authorized approval workflow has confirmed the tool is safe and useful,' providing clear context for when to use the tool. However, it does not mention when not to use it or suggest alternative tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions 'draft' and the tool lifecycle but does not detail what happens upon registration (e.g., immediate visibility, approval required, side effects). It also lacks information on authorization needs or error conditions.

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

    Conciseness4/5

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

    The description is concise with two sentences. The first sentence states the primary purpose, and the second provides usage context. It is front-loaded and efficient, though it could be slightly more compact by removing redundancy.

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

    Completeness2/5

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

    Given the complexity of 6 parameters (5 required), no annotations, and the existence of an output schema (not explained), the description is incomplete. It does not explain what 'draft' entails, the expected return value, or potential errors. Critical usage context is missing for an agent to use this tool correctly without additional knowledge.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It implicitly lists parameters (name, description, language, code, tags, version) but does not explain their meaning, format, or constraints. There is a contradiction: the description says 'Python script' but the schema allows any language via a string parameter. This lack of detail and the inconsistency reduce clarity.

    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 clearly states the action 'register' and the resource 'a new reusable Python script as a draft ToolForge tool'. It distinguishes from sibling tools (e.g., create vs. update/deprecate) by specifying 'new' and 'draft', and outlines the lifecycle purposes (review, approval, versioning, future reuse).

    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 says when to use: when an agent or user has created a useful script that should be saved for review, approval, etc. It implies this is for new scripts, but does not explicitly exclude updating existing tools or mention alternatives like update_tool. Still, it provides clear context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description must carry the behavioral burden. It indicates a write operation (changing active version) but does not disclose side effects, reversibility, permission requirements, or what happens to the current version. This leaves significant gaps.

    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, no superfluous words. The first sentence states the action, the second gives usage context. Efficient and well-structured.

    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?

    Given the tool's moderate complexity (2 required params, no enums) and presence of an output schema, the description covers the core purpose and usage but fails to document parameters and behavioral details. It is minimally complete but has clear gaps.

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

    Parameters2/5

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

    The input schema has 0% coverage meaning no parameter descriptions exist. The description does not explain what tool_id or target_version represent, nor the expected format for target_version. This forces the agent to assume or guess.

    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 clearly states the verb 'restore' and the resource 'an earlier approved version of a ToolForge tool as the active version'. It distinguishes this tool from siblings like approve_tool and deprecate_tool by specifying it deals with version rollback.

    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 provides explicit scenarios for use: when a newer approved version is broken, unsafe, or less reliable. It does not explicitly state when not to use or mention alternatives, but the guidance is clear and actionable.

    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?

    With no annotations, the description bears full burden. It discloses that the operation creates a draft and does not replace the current approved version immediately, indicating a non-destructive mutation. However, it does not clarify whether previous drafts are overwritten, permission requirements, or rate limits.

    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 long, front-loaded with the primary action, and every word adds value. No redundant or extraneous information.

    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?

    Given moderate complexity, 0% schema coverage, and no annotations, the description provides the core purpose and usage scenarios but lacks parameter details and deeper behavioral context (e.g., effect on existing drafts). The presence of an output schema partially compensates for return value clarity.

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

    Parameters2/5

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

    Schema description coverage is 0%, so description must explain parameters. It only mentions 'updated code' and 'changelog', covering new_code and changelog implicitly. The required parameters tool_id and version are not described at all, leaving the agent to infer from context (tool_id likely identifies the tool, version likely a version string).

    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 explicitly states 'Create a new draft version of an existing ToolForge tool with updated code and a changelog', which clearly identifies the verb (create), resource (draft version), and specific actions (updated code, changelog). It distinguishes from siblings like approve_tool and register_tool by emphasizing 'draft' and 'without replacing the current approved version'.

    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 provides explicit scenarios: 'when a tool needs a bug fix, improvement, new behavior, or compatibility update'. It also implies exclusivity by stating 'without replacing the current approved version immediately', but does not explicitly list when not to use or name alternative tools like rollback_tool.

    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?

    With no annotations provided, the description carries full burden. It explains that the tool 'remains visible for history and audit purposes but is no longer recommended or used by default,' but does not mention reversibility, permission requirements, or side effects.

    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, no wasted words. First sentence defines purpose and consequence; second sentence lists use cases. Information is front-loaded and every part adds value.

    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 relative simplicity (2 required params, no enums, no nested objects) and presence of an output schema, the description is fairly complete. It covers purpose, usage scenarios, and behavioral impact. Could add minor details on error conditions or reversal.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must add meaning for the two required parameters. It implicitly refers to 'tool_id' and 'reason' in context, but does not clarify expected values, formats, or constraints for 'reason', nor specify if 'tool_id' is an identifier from another tool.

    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 clearly states the action ('Mark a ToolForge tool as deprecated') and the resource ('ToolForge tool'), with specific verbs and scope. It distinguishes from sibling tools like 'register_tool' or 'update_tool' by focusing on deprecation.

    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 lists conditions for use: 'when a tool is obsolete, replaced, unsafe for normal use, or no longer preferred.' However, it does not explicitly state when not to use it or suggest alternatives, which would strengthen guidance.

    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?

    With no annotations provided, the description carries full burden for behavioral disclosure. It mentions using 'semantic search with keyword and tag fallback,' giving insight into how the search works. However, it does not disclose potential limitations, authentication requirements, or whether the search is readonly. For a search tool, this is adequate but not rich.

    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, no fluff. Every word adds value. The structure is front-loaded with the purpose, followed by how it works and when to use it. Efficient and clear.

    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 that there is an output schema (not shown but indicated), the description need not explain return values. The tool has 3 parameters with only 1 required, and the description covers usage context and search method. It is complete enough for an agent to decide when to invoke it, though the missing parameter descriptions slightly lower completeness.

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

    Parameters2/5

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

    Schema description coverage is 0% (no parameter descriptions in the schema). The description explains that the query parameter can be used to search by 'intent, task description, name, tags, or capability,' but does not mention the 'limit' or 'include_deprecated' parameters. Since the schema provides no descriptions, the description should cover all parameters, but it only partially addresses one.

    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 clearly states the tool's purpose: searching for approved reusable ToolForge tools by multiple criteria (intent, task description, name, tags, or capability). It uses specific verbs ('Search') and a clear resource ('approved reusable ToolForge tools'), distinguishing it from siblings like 'list_tools' (likely just listing) and 'get_tool' (retrieving a specific tool).

    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 provides explicit guidance: 'Use this before generating new code when an existing approved tool may already solve the task.' This tells the agent when to use the tool (before new code generation). However, it does not explicitly mention when not to use it or provide direct alternatives, though the context from sibling tools implies alternatives exist for different needs.

    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?

    No annotations provided, so description must disclose behavior. States it lists with filters but omits pagination, auth, or read-only nature. Minimal but non-misleading for a browse 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/5

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

    Two sentences, no redundancy. Front-loaded with action and key information. Every word serves a 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?

    Given existence of output schema, return value explanation is unneeded. Covers main purpose and usage context. Filters are listed but lack specifics. Differentiates from search_tools well.

    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 0%, so description must add value. Mentions parameter names (status, tag, language, name) but no details on valid values or format. Adds basic mapping but lacks depth.

    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 it lists tools with optional filters. Verb 'List' is specific to browsing. Distinguishes from siblings like approve_tool, run_tool by focusing on discovery before actions.

    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 tells when to use: to browse registry, inspect capabilities, or find tools before viewing/approving/updating/running. Implicitly excludes these sibling tools for their specific actions.

    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?

    No annotations provided, but description mentions 'governed, logged execution' and 'return JSON output', which adds behavioral context. However, does not detail side effects, error handling, or authentication needs.

    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, front-loaded with the action, no wasted words.

    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?

    Has output schema so return values are covered, but description lacks prerequisites (e.g., tool must be approved) and does not clarify that input_json must match the tool's expected format. Could be more complete for a complex execution tool.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description provides no details about the parameters (tool_id and input_json). It only mentions 'JSON input' without explaining what the input should contain.

    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 clearly states it executes an approved ToolForge tool, distinguishing it from siblings like register_tool, approve_tool, and list_tools. The verb 'Execute' and resource 'approved ToolForge tool' 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 Guidelines5/5

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

    Explicitly says 'Use this when the correct approved tool has been selected and the task should be performed through a governed, logged execution.', providing clear context for when to use it and contrasting with other tools.

    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?

    No annotations provided, so description carries full burden. It accurately describes the tool as read-only (get metadata) but does not explicitly state it has no side effects or require authentication. Behavior is implied but not fully disclosed.

    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 wasted words. The purpose is front-loaded, and usage context is provided in the second sentence. Ideal structure for quick parsing.

    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?

    Output schema exists, so return value details are not required. The description covers what metadata is included. However, the parameter is not described, which is a minor gap given only one parameter exists.

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

    Parameters2/5

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

    Schema description coverage is 0%. The description does not explain the tool_id parameter beyond its name. It lists return fields but fails to clarify the parameter's format or constraints, leaving the agent without necessary guidance.

    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 clearly states it retrieves detailed metadata for a specific ToolForge tool, listing specific fields (description, tags, lifecycle status, etc.). It distinguishes from siblings like list_tools which likely only list overviews.

    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 'Use this before running, approving, updating, deprecating, or explaining a tool,' providing clear when-to-use context and differentiating from alternative actions.

    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

toolforge-mcp MCP server

Copy to your README.md:

Score Badge

toolforge-mcp MCP server

Copy to your README.md:

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/ThisIsCKM-org/toolforge-mcp'

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