Skip to main content
Glama
sgateway

s-gw MCP server

by sgateway

Server Quality Checklist

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

  • Disambiguation4/5

    Tools have distinct purposes, but there is potential confusion between sgw_request_execution and sgw_execute_request (create vs. execute), and the names are similar. However, descriptions clarify the difference, and other tools are clearly distinct.

    Naming Consistency5/5

    All tool names follow a consistent 'sgw_verb_noun' pattern using snake_case. Each name clearly indicates the action and target, with no deviations.

    Tool Count5/5

    With 7 tools covering scanning, handle management, execution requests, and SSH sessions, the count is well-scoped for a security-focused server. Each tool has a clear role.

    Completeness3/5

    The set covers core workflows (scan, request, execute, list handles) but lacks tools for managing pending requests (e.g., list, approve, cancel) or SSH sessions after creation (e.g., list, end), leaving notable gaps.

  • Average 3.1/5 across 7 of 7 tools scored. Lowest: 2.4/5.

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

    • No community issues in the last 6 months
    • 61 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 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?

    No annotations are provided, so the description carries the full burden. It mentions 'local approval request', implying the tool does not execute the command immediately, but it does not disclose side effects, permissions needed, or post-creation steps. The behavioral disclosure is minimal.

    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 single sentence is concise and free of fluff. However, it could be expanded slightly to improve clarity without losing conciseness.

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

    Completeness1/5

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

    Given the complexity (8 parameters, no output schema, no annotations), the description is severely incomplete. It does not explain the return value, approval flow, prerequisites (e.g., ControlMaster session), or parameter roles, leaving large gaps for the agent.

    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 adds no explanation of the 8 parameters (handle, target, args, etc.). For a tool with 0% coverage, the description must compensate, but it fails to provide any parameter context, leaving the agent to guess their meaning.

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

    Purpose4/5

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

    The description clearly states the tool creates a local approval request for an SSH command, specifying it runs over s-gw's persistent ControlMaster session. However, it does not explicitly differentiate from the sibling tool sgw_request_execution, which may have a similar purpose.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool versus alternatives like sgw_request_execution, nor any mention of prerequisites or context. The description implies SSH-specific usage but lacks explicit when-to-use or when-not-to-use instructions.

    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?

    The description indicates the tool creates a 'pending' manifest, implying the command is not executed immediately. However, it does not disclose any other behavioral traits such as authentication requirements, rate limits, state mutation details, or whether it returns a handle for later execution.

    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 a single 15-word sentence, very concise and front-loaded with the key action. However, the brevity comes at the cost of omitting important details about parameters and usage.

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

    Completeness1/5

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

    Given the complexity (8 parameters, no output schema, no annotations), the description is severely incomplete. It does not explain the purpose of most parameters, the workflow (e.g., how to later execute the pending manifest), or return values.

    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?

    With 0% schema description coverage and 8 parameters, the description only hints at 'command' and 'injectEnv', ignoring the required 'handle' parameter and others like 'env', 'args', 'reason', 'timeoutMs', and 'workingDir'. This leaves critical parameter meaning ambiguous.

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

    Purpose4/5

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

    The description clearly states the tool creates a pending local manifest for a command requiring secret injection. The verb 'create' and resource 'pending local manifest' are specific, and it distinguishes from the sibling 'sgw_execute_request' which likely executes the manifest. However, the term 'pending local manifest' may be jargon.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like sgw_execute_request or sgw_describe_handle. It implies it's for commands needing secret injection, but does not specify prerequisites, exclusions, or alternative contexts.

    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?

    With no annotations provided, the description must fully disclose behavior. It mentions 'sanitized output' but does not explain side effects, reversibility, or security implications of executing a request. Significant gaps remain.

    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?

    A single sentence of 8 words that is front-loaded and contains no filler. Every word contributes meaning, achieving maximum conciseness.

    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?

    Despite low complexity (1 parameter), the description does not explain how to obtain a valid requestId, what 'previously approved' entails, or the structure of the sanitized output. Critical gaps remain for a potentially destructive action.

    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?

    The schema has 0% description coverage for the only parameter, 'requestId'. The description provides no additional meaning or format guidance, leaving the parameter completely ambiguous.

    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 specifies the action ('Execute'), the resource ('previously approved local request'), and the nature of the output ('sanitized output'). It distinguishes from siblings like sgw_request_execution, which likely handles the approval workflow.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus alternatives, how to obtain a requestId, or prerequisites such as the request being approved. The description lacks context for appropriate usage.

    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 exist, so the description must cover behavioral traits. It hints at persist controlling secret enrollment but does not clarify side effects, destructive potential, or read-only nature. The behavior of 'return tokenized text' is vague without format details.

    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 extremely concise with two sentences. The first sentence delivers the core purpose immediately, and the second adds critical parameter behavior without 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 no output schema and 3 parameters, the description is insufficient. It does not explain return format, parameter semantics for 'source', or how this tool differs from sibling 'sgw_scan_file'. An agent lacks information for correct invocation.

    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 coverage is 0%, yet the description only adds meaning for 'persist' (preview vs enroll). Parameters 'text' and 'source' remain unexplained. The description thus partially compensates but leaves significant gaps.

    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 'scan' and resource 'text' and specifies the output as 'tokenized text'. It also distinguishes from sibling 'sgw_scan_file' by focusing on text input, making the purpose unambiguous.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like 'sgw_scan_file'. The description mentions 'Persist=false' but does not explain the context for using this tool over others.

    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?

    With no annotations, the description carries full burden but only discloses that it shows 'non-secret metadata' for a 'local secret handle'. It does not specify behavior if handle is invalid, required permissions, or side effects. Important aspects are missing.

    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 one sentence with 7 words, perfectly concise and front-loaded. No wasted words; every part contributes directly to understanding the tool's purpose.

    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 simplicity (1 parameter, no output schema), the description is minimally adequate but lacks details on error conditions, case sensitivity, or metadata structure. It could be more complete without becoming verbose.

    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 single parameter 'handle' lacks schema description (0% coverage). The description adds context that it is a 'local secret handle', providing minimal additional meaning beyond type and minLength. More detail on format or allowed values would be beneficial.

    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 'Show' and the resource 'non-secret metadata for one local secret handle'. It effectively distinguishes from sibling tools like sgw_list_handles (which lists handles) and sgw_execute_request (which executes requests).

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives, such as sgw_list_handles or sgw_scan_file. There is no mention of context or exclusions.

    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 fully disclose behavioral traits. It describes a listing operation, which is read-only by nature, but does not explicitly confirm idempotency, side effects, or resource requirements. The description does not address potential limitations like pagination, rate limits, or server load implications.

    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, succinct sentence that immediately communicates the purpose. There is no extraneous information; every word is meaningful. It front-loads the verb 'List' and specifies the objects being listed. This is an ideal length for a simple tool.

    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 has no parameters and no output schema, the description is minimally sufficient. It tells what is returned ('handles and non-secret metadata') but omits details like whether the list is sorted, paginated, or limited. For a tool with zero complexity, a score of 3 acknowledges that it conveys the core functionality but lacks supplementary context that might aid an agent.

    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?

    There are zero parameters, and the schema coverage is 100% by default. The description adds no parameter-specific information because none exist. With 0 parameters, the baseline score of 4 is appropriate; the description does not detract but also does not need to compensate.

    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 ('List') and the resource ('known local secret handles and non-secret metadata'). It distinguishes this tool from siblings such as 'sgw_describe_handle' which focuses on a single handle, and 'sgw_execute_request' which uses handles. The specificity of 'local secret handles' prevents confusion with global or non-secret handles.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as requiring prior knowledge of a handle, or indicate that this tool is appropriate for getting an overview before drilling down with 'sgw_describe_handle'. The lack of usage context means the agent must infer appropriateness from the name alone.

    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 are provided, so the description must disclose behavior. It explicitly states that raw values are not returned, which is key. However, it does not mention if the file is modified, permissions needed, or any side effects. The 'local handles' concept is introduced but not explained.

    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 extremely concise and front-loaded. It uses two short sentences with no redundant information, efficiently conveying the core purpose and a key constraint.

    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 two parameters, no output schema, and no annotations, the description covers the basic purpose and a behavioral constraint. However, it fails to explain the 'local handles' concept or how the output relates to other tools like sgw_describe_handle, leaving some gaps for the 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 description coverage is 0%, so the description must compensate. The description implies 'path' is the file location, but 'persist' is not explained. It adds some context for the path but not enough for the optional boolean parameter.

    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 ('scan a local file' for secrets) and the output ('tokenized text plus local handles'). It distinguishes from sibling sgw_scan_text by focusing on files, implying a specific use case.

    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 scanning local files, but does not explicitly state when to prefer this over sgw_scan_text or other siblings. No exclusion criteria or prerequisites are mentioned.

    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

s-gw MCP server

Copy to your README.md:

Score Badge

s-gw 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/sgateway/s-gw'

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