Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: relentless_index provides slugs/titles only, relentless_insert creates new entries, relentless_list returns full content of all entries, relentless_list_databases lists available databases, and relentless_read retrieves a specific entry by slug. There is no overlap in functionality that would cause confusion.

    Naming Consistency5/5

    All tools follow a consistent 'relentless_verb' naming pattern (e.g., relentless_index, relentless_insert, relentless_list, relentless_list_databases, relentless_read). This uniformity makes the tool set predictable and easy to navigate.

    Tool Count5/5

    With 5 tools, the server is well-scoped for its purpose of interacting with Notion databases via the Relentless API. Each tool serves a specific role (discovery, reading, writing), and there are no extraneous or missing tools for the core operations.

    Completeness4/5

    The tool set covers essential CRUD operations for Notion databases: create (relentless_insert), read (relentless_read, relentless_list, relentless_index), and discovery (relentless_list_databases). However, it lacks update and delete tools, which are minor gaps that agents might need to work around for full lifecycle management.

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

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

    • No community issues in the last 6 months
    • 0 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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 provided, the description carries the full burden of behavioral disclosure. It mentions the tool 'Returns full content for all entries', which hints at output behavior, but fails to address critical aspects like pagination, rate limits, permissions required, or error handling. This is inadequate for a tool that likely interacts with an external API.

    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 and front-loaded, with two sentences that directly state the tool's function and usage. There's no unnecessary verbiage, though it could be slightly more structured by separating purpose from guidelines.

    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 lack of annotations and output schema, the description is incomplete. It doesn't explain what 'full content' entails (e.g., structured data, metadata), potential performance implications of listing all entries, or how to handle large datasets. For a tool with external dependencies and no structured output, this leaves significant gaps.

    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 100% description coverage, with the single parameter 'database' clearly documented. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints. Given the high schema coverage, 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.

    Purpose4/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 with a specific verb ('List') and resource ('entries from a Notion database'), and specifies the scope ('all entries', 'full content'). However, it doesn't explicitly differentiate from sibling tools like 'relentless_read' or 'relentless_index', which might have overlapping functionality.

    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 provides implied usage guidance ('Use this to see what content exists or to search through entries'), suggesting it's for browsing or initial exploration. However, it lacks explicit when-to-use vs. when-not-to-use instructions or named alternatives among sibling tools, leaving some ambiguity.

    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 the full burden. It discloses the return behavior ('Returns the full entry with all properties and content'), which is helpful, but lacks details on error handling, permissions, rate limits, or whether it's read-only (implied by 'Read' but not explicit). It adds some context but could be more comprehensive.

    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 concise sentences, front-loaded with the core purpose and followed by return details. Every word earns its place, with no redundancy or fluff, making it highly efficient and easy to parse.

    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 low complexity (2 required parameters, no output schema, no annotations), the description is fairly complete: it states purpose, parameters (implied by schema), and return behavior. However, it could improve by adding more behavioral context (e.g., error cases) to fully compensate for the lack of annotations and output schema.

    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%, so the schema already documents both parameters thoroughly. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain slug format or database naming conventions). Baseline 3 is appropriate as the schema does the heavy lifting.

    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 specific action ('Read'), resource ('a specific entry from a Notion database'), and mechanism ('by its slug'), distinguishing it from siblings like relentless_list (which likely lists entries) and relentless_index (which might index content). It's precise and avoids tautology.

    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 you need a full entry by slug, but doesn't explicitly state when to use this vs. alternatives like relentless_list (for listing entries) or relentless_index (for indexing). No exclusions or prerequisites are mentioned, leaving some ambiguity.

    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 effectively communicates performance characteristics ('faster than relentless_list') and the limited data returned ('slugs and titles only'), but doesn't address potential limitations like pagination, rate limits, or error conditions that would be helpful for a read operation.

    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 perfectly concise with two sentences that each earn their place. The first sentence establishes core functionality, the second provides comparative performance and use cases. No wasted words, front-loaded with essential information.

    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 read-only tool with 2 parameters and 100% schema coverage but no output schema, the description provides good context about what data is returned and performance characteristics. However, without annotations or output schema, it could benefit from more detail about return format or error handling to be fully complete.

    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%, so the schema already fully documents both parameters. The description doesn't add any parameter-specific information beyond what's in the schema, but doesn't need to compensate for gaps. This meets the baseline expectation when schema coverage is complete.

    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 specific action ('Get an index'), resource ('all entries'), and scope ('slugs and titles only'). It explicitly distinguishes from sibling tool 'relentless_list' by explaining this is faster when full content isn't needed, establishing clear differentiation.

    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 provides explicit guidance on when to use this tool ('when you only need to see what entries exist without their full content') and when to use an alternative ('faster than relentless_list'). It also mentions specific use cases ('navigation or sitemap generation'), giving clear context for 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?

    With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: automatic validation before insertion, immediate visibility in Notion, and accessibility via the API. It mentions error catching and speed considerations with skipValidation, though it could elaborate more on permissions 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 efficiently structured with three sentences that each add value: stating the core action, explaining validation and use cases, and describing post-insertion behavior. No wasted words, and information is front-loaded with the primary 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?

    For a mutation tool with no annotations and no output schema, the description does well by covering purpose, behavior, and context. It could be more complete by explicitly mentioning error handling or response format, but it provides sufficient guidance for basic usage given the detailed input schema.

    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%, providing detailed parameter documentation. The description adds some value by reinforcing validation and giving examples of database names and data structure, but doesn't significantly expand beyond what's already in the schema descriptions. Baseline 3 is appropriate given high 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 action ('Insert a new entry'), target resource ('into a Notion database via Relentless API'), and distinguishes from siblings by specifying creation vs. listing/reading operations. It provides concrete examples of use cases (documentation, blog posts, leads) that help differentiate from tools like relentless_list or relentless_read.

    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 'Use this to create new documentation, blog posts, leads, or any structured data,' providing clear context for when to use this tool. However, it doesn't explicitly mention when NOT to use it or name specific alternatives among the sibling tools, though the distinction from read/list operations is implied.

    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 the full burden of behavioral disclosure. It describes the return value ('Returns database names that can be used with other tools') which is helpful, but doesn't mention potential limitations like rate limits, authentication requirements, or error conditions. The description adds some behavioral context but leaves gaps in operational transparency.

    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 perfectly concise with three focused sentences that each serve a distinct purpose: stating the action, providing usage guidance, and describing the return value. There's zero wasted language, and the information is front-loaded with the core purpose stated first.

    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 discovery tool with no output schema, the description provides excellent context about what the tool does, when to use it, and what it returns. It could be slightly more complete by mentioning any limitations or prerequisites, but given the tool's simplicity and the absence of annotations, it covers the essential information well.

    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 with 100% schema description coverage, so the schema already fully documents the input requirements. The description appropriately doesn't waste space discussing non-existent parameters, maintaining focus on the tool's purpose and usage. This earns a baseline 4 for parameter handling in a zero-parameter 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 specific action ('List all Notion databases'), identifies the resource ('connected to your Relentless account'), and distinguishes it from siblings by explaining its role in discovery before using other tools. It provides a complete purpose statement that goes beyond a simple tautology.

    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 this tool ('Use this first to discover available databases') and provides clear alternatives ('then use other tools to read/write data'). It gives specific guidance on the workflow sequence and distinguishes it from sibling tools like relentless_read or relentless_insert.

    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

relentless-mcp MCP server

Copy to your README.md:

Score Badge

relentless-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/PranaytheSingh/relentless-mcp'

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