Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: health check, connection listing, item listing, search, share URL resolution, metadata retrieval, and document reading. There is no overlapping functionality that would cause confusion.

    Naming Consistency4/5

    Most tools follow a verb_noun pattern (list_connections, list_items, search_items, open_share_url, get_item_info, read_document), but bridge_health deviates by using a noun phrase. The inconsistency is minor and does not impede readability.

    Tool Count5/5

    With 7 tools, the server is well-scoped for a DMS read-access bridge. Each tool serves a necessary function, and the count falls comfortably within the ideal range.

    Completeness4/5

    The server comprehensively covers browsing, searching, metadata retrieval, and document content access. However, it lacks any write operations (create, update, delete), which may limit functionality if full DMS management is expected. For read-only access, it is nearly complete.

  • Average 3.7/5 across 7 of 7 tools scored.

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

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

  • 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 must fully disclose behavior. It only states the listing action and does not cover important aspects like whether the listing is recursive, how hidden files are handled, authentication requirements, sorting, or the output format.

    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 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?

    For a simple one-parameter tool, the description covers the basic purpose but lacks detail on return values, path syntax, and behavioral expectations. Given no output schema or annotations, the description is minimally sufficient but incomplete.

    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 has one parameter 'path' with no description, and schema description coverage is 0%. The description adds context by indicating the path is in the 'connection:/path' format, but it does not explain the default value ('/') or provide examples or constraints.

    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 the specific verb 'List' and explicitly names the resource ('files and folders') and the location ('connection:/path location'). This clearly distinguishes from sibling tools like list_connections (which lists connections) and search_items (which searches).

    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 search_items or get_item_info. It does not mention exclusions, prerequisites, or scenarios where another tool would be more appropriate.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses two important constraints: returned paths are exact and must be reused verbatim, and by default only unique files are returned. These add significant clarity beyond what the schema conveys, though it does not cover all potential behaviors (e.g., recursion, authorization).

    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 three short sentences, front-loaded with the core purpose. Each sentence adds value: the first states the action, the second gives a critical usage constraint, and the third notes the default behavior. There is no wordiness or repetition.

    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 4 parameters, no output schema, and no annotations, the description is somewhat incomplete. It conveys essential constraints but omits details about the 'query' and 'max_results' parameters and does not fully describe the return format. However, it does provide enough for basic usage, and the noted constraints are crucial.

    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 partially explains the 'path' parameter via 'below connection:/path' and the 'files_only' parameter via 'By default return unique files only', but it does not mention 'query' or 'max_results' at all. Users must infer that 'query' is the search term, and max_results is unexplained.

    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 performs a search operation 'below connection:/path', which distinguishes it from sibling tools like list_items (which likely lists items) and get_item_info (which retrieves specific item info). While it does not explicitly name alternatives, the verb 'search' and the scoping to a path are specific enough to convey the primary purpose.

    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 usage when searching below a given path, but it does not explicitly state when to choose this tool over alternatives like list_items or read_document. It provides no exclusions or alternative recommendations, so guidance is mostly implicit.

    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 carries the full burden of disclosing behavioral traits. It only states the core function (return metadata) without mentioning error handling, permissions, return structure, or any side effects. This lack of disclosure is a significant 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/5

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

    The description is a single sentence, front-loaded and free of fluff. It communicates the essential information efficiently, earning every word.

    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 (one parameter, no output schema, no annotations), the description is minimally viable. It states what the tool returns and the path format, but lacks guidance on when to use it relative to siblings and does not detail the nature of 'metadata' or error behavior.

    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?

    Schema coverage is 0% and the schema only defines 'path' as a string. The description adds critical semantic detail by specifying the expected format 'connection:/path', which is not present in the schema. This compensates well for the single 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?

    Description clearly states 'Return metadata for one file or folder at connection:/path.' It uses a specific verb (Return), defines the resource (metadata for a single file/folder), and distinguishes itself from sibling tools like list_items and search_items by focusing on a single item rather than listing or searching.

    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 usage for retrieving metadata of a specific item via a path, but it does not explicitly state when to prefer this tool over siblings like list_items or search_items, nor does it provide exclusions or alternatives.

    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 carries the full burden. 'List' implies a read-only operation and 'available through the bridge' adds scope, but it does not disclose return details, potential empty results, or any side effects. This is minimal but not misleading.

    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, front-loaded sentence with no redundant words. It communicates the essential purpose efficiently and is appropriately sized for the tool's simplicity.

    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 tool is simple (0 params, no output schema), and the core action is stated clearly. However, the description does not mention what the returned connection data includes or any empty/error behavior, leaving some gaps in the context provided to the 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?

    This tool has zero parameters and 100% schema coverage, so there are no parameter semantics to add. The baseline of 4 applies because the schema already fully covers parameters, and the description needs no parameter-level details.

    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 the specific verb 'List' and names the resource 'DMS connections available through the bridge', clearly distinguishing it from sibling tools like list_items (items vs connections) and bridge_health. It is direct and 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?

    There is no guidance on when to use this tool versus alternatives, no mention of prerequisites or ordering with sibling tools, and no exclusions. The description only states what the tool does, not when to choose it.

    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?

    With no annotations provided, the description carries the full burden. It discloses key behaviors: the document is size-limited, text is decoded, and binary data is base64-encoded. These details go beyond a simple 'read' and help set expectations about response format and potential limitations.

    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, front-loaded sentence with two concise clauses. It packs essential information (limit, decoding, encoding) without any filler, making it easy to parse quickly.

    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?

    For a simple one-parameter tool with no output schema, the description is largely complete: it explains what is returned (text vs. base64 binary) and notes the size limitation. It lacks error handling or a detailed size threshold, but these are not critical for the basic read functionality.

    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 input schema has a single 'path' parameter with no description (coverage 0%). The tool description does not mention the parameter at all, offering no additional meaning beyond the schema's type and required flag. Since coverage is low and the description fails to compensate, this dimension is severely under-served.

    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 'Read' with resource 'document', and adds specificity with 'size-limited' and encoding behavior. This distinguishes it from sibling tools like get_item_info and open_share_url, which focus on metadata or sharing rather than content reading.

    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 this tool is for reading document content, making it the go-to choice when the full text or binary payload is needed. It doesn't explicitly name alternatives or exclusions, but the context is clear enough for an agent to choose it over sibling tools.

    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 carries the full burden. It indicates a read-only check by saying 'check whether available', but it does not disclose return format, potential side effects, or any requirements. The minimal description is adequate but lacks depth.

    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 that earns its place. It is front-loaded and contains no filler.

    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?

    For a zero-parameter health check with no output schema, the description is nearly complete. It tells the agent the purpose and implies a Boolean or status result, though it does not explicitly state the return format.

    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. There is nothing to explain beyond what the schema already shows, and the description correctly omits parameter details.

    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 function with a specific verb ('check') and resource ('local DMS Provider Bridge availability'). It is distinct from siblings like list_connections or read_document, which perform different operations.

    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 usage as a health check but does not explicitly state when to use it versus alternatives or any prerequisites. It lacks guidance on when to call this tool (e.g., before other operations).

    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 discloses the read-only nature, a key behavioral trait, and details the output: resolved path, metadata, and folder listing. It does not mention potential errors, connection requirements, or invalid URLs, but it carries the transparency burden well given the absence of 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 a single, concise sentence that front-loads the action and then adds specific details. Every word contributes to understanding the tool's behavior without 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?

    Given no output schema, the description appropriately explains that the tool returns item metadata and lists contents for folders. It also covers path resolution. Missing are details on error handling and the role of connection, but overall it is fairly complete for a small tool.

    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 lists share_url and connection, but the description only implicitly references share_url as the resource. No explanation is given for connection or its default 'auto', leaving the agent to infer its meaning from the name alone, which is insufficient given 0% schema coverage.

    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 function: opening an Alfresco or eDoCat DMS share URL read-only, resolving its path, returning metadata, and listing folder contents. This verb+resource structure is specific and distinguishes it from siblings like read_document or get_item_info, which operate on already-resolved items.

    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 gives clear context: use this tool when you have a DMS share URL to open and explore. However, it does not explicitly mention when not to use it or name alternatives like search_items or read_document for cases when the path is already known.

    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

dms-mcp-server MCP server

Copy to your README.md:

Score Badge

dms-mcp-server 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/mergi72/dms-mcp-server'

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