Skip to main content
Glama
opsconduit

jobber-mcp

by opsconduit

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 distinct purpose: account info, auth URL, sample clients, OAuth code exchange, read-only GraphQL query, and token refresh. No overlap.

    Naming Consistency5/5

    All tools follow the 'jobber_<noun>' pattern with consistent snake_case and clear verb-noun structure.

    Tool Count5/5

    6 tools is well within the ideal range for a focused integration server, covering authentication, basic info, and a generic read interface.

    Completeness4/5

    The set covers authentication flow and basic operations, but lacks mutation support beyond the read-only GraphQL. However, this is intentional for the server's design.

  • Average 3.2/5 across 6 of 6 tools scored. Lowest: 2.4/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 is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • 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 must fully disclose behavioral traits. It mentions 'store tokens locally' but does not specify where or how tokens are stored, whether prior tokens are overwritten, or any authentication or rate-limit requirements. This leaves important side effects ambiguous.

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

    Conciseness3/5

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

    The description is a single sentence of 13 words, which is concise but lacks scannability. It is not front-loaded with critical details; the key verb 'exchange' is present, but the mention of storing tokens is vague.

    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, no annotations, and 0% parameter coverage, the description is severely lacking. It does not explain the result of the exchange, how the stored tokens are used, error states, or the relationship to sibling tools in the OAuth flow.

    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?

    Input schema has 0% description coverage, and the description adds no meaning to the two parameters (code and redirectUri). The code parameter requires minLength 8, and redirectUri has a URI format, but the description gives no context about their purpose or format.

    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 action ('exchange') and resource ('Jobber OAuth authorization code') and mentions storing tokens. However, it doesn't differentiate from sibling tools like jobber_auth_url or jobber_refresh_token, which could confuse an agent about which step of the OAuth flow this tool corresponds to.

    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. Sibling tools include jobber_auth_url (to obtain the code) and jobber_refresh_token (to refresh credentials), but the description does not clarify prerequisites or the expected sequence of calls.

    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 convey behavioral traits. It only says 'Build an authorization URL' without mentioning that this is a redirect URL for OAuth, that it requires user interaction, or any side effects. It fails to disclose important aspects like the need for a running web server for the redirect.

    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, concise sentence that conveys the core purpose without unnecessary words. However, it could benefit from slight expansion to cover key details without becoming overly verbose.

    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 an OAuth authorization flow and the lack of annotations or output schema, the description is insufficient. It does not explain the broader workflow (e.g., user must visit the URL, then exchange the code), leaving significant gaps for an AI agent to use the tool correctly.

    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 schema has 0% description coverage for its two parameters ('redirectUri' and 'state'). The description does not explain their purposes, constraints, or how they are used in constructing the URL. This leaves the agent without necessary context to provide correct inputs.

    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 ('Build an authorization URL') and the specific context ('for a Jobber admin to connect this customer-hosted MCP server'). It distinguishes itself from sibling tools like jobber_exchange_code and jobber_refresh_token, which handle subsequent OAuth steps.

    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 gives no guidance on when to use this tool versus alternatives. For an OAuth flow, it would be helpful to mention that this is the first step before exchanging the code or refreshing tokens. There is no indication of prerequisites or when not to use it.

    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 must convey all behavioral traits. It only says 'refresh,' implying mutation, but lacks details on network calls, side effects, or error conditions. Important behaviors like token expiration or rate limits are omitted.

    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, clear sentence that is front-loaded. It could arguably be expanded with minimal verbosity, but it remains concise and to the point.

    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?

    For a tool with side effects (refreshing token), the description is too sparse. It omits whether it initiates a network call, updates storage automatically, or requires a prior authentication flow. More context is needed for safe usage.

    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 no parameters (100% coverage trivially). The description adds no param info, but none is needed. It does not contradict or repeat the schema, earning a baseline 3.

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

    Purpose5/5

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

    The description clearly states 'Refresh the locally stored Jobber access token,' specifying the action (refresh) and resource (access token). It distinguishes from sibling tools like jobber_exchange_code and jobber_auth_url, which handle initial authentication steps.

    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 (e.g., jobber_exchange_code for initial token exchange) or what prerequisites exist (e.g., token must exist). The agent is left to infer usage 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 provided, so the description must disclose behavioral traits. It only states what is returned but does not mention that the tool is read-only, requires authentication, or any potential failure modes. For a tool with no annotations, this is insufficient.

    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 sentence of ten words, very concise. However, it is minimal and could include more context (e.g., 'for the currently authenticated user') without significant bloat.

    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 that there are no input parameters and no output schema, the description is adequate but minimal. It states the return value but does not mention the output format, potential errors, or that it depends on authentication. For a simple tool, it is complete enough for basic use but lacks detail.

    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 baseline is 4. The description adds no parameter information, but none is needed. Schema coverage is 100% trivially.

    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 returns the connected Jobber account id and name. The verb 'Return' and resource 'account id and name' are specific, and the tool is easily distinguishable from siblings like jobber_auth_url or jobber_clients_sample.

    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. It does not specify if authentication is required or mention any prerequisites. The description lacks explicit 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.

  • Behavior3/5

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

    No annotations exist, so the description bears full burden. It discloses the read-only nature and mutation blocking, which is key behavior, but omits details like error handling, authentication, or query complexity.

    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 exceptionally concise—one sentence with no extraneous words—while still conveying the essential purpose and constraint.

    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 GraphQL queries and lack of output schema, the description falis to cover important context like return format, max query size, or how to use variables, leaving significant gaps for agent usage.

    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%, yet the description adds no information about parameters (query, variables); it does not clarify expected format, usage, or constraints beyond what the schema implicitly shows.

    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 runs a read-only Jobber GraphQL query, using specific verb 'Run' and resource 'Jobber GraphQL query', distinguishing it from sibling tools like jobber_account or jobber_auth_url.

    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 mentions mutations are blocked by default, providing a basic usage hint, but lacks explicit when-to-use or when-not-to-use guidance relative to alternatives; it's adequate for a straightforward 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 the burden of behavioral disclosure. It states the tool returns a 'small sample', implying a non-exhaustive read operation. However, it does not clarify ordering or randomness of the sample, nor any side effects. This is adequate for a simple validation tool but lacks rich detail.

    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 of 12 words, highly concise and front-loaded. Every word serves a purpose: verb, resource, manner ('small sample'), and context ('for install validation'). No unnecessary 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?

    Given the tool's simplicity (single optional parameter, no output schema), the description provides sufficient context for a validation use case. It states the purpose and nature of the output. While additional details on return format could be helpful, the tool's low complexity means the description is nearly complete.

    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 to parameters. The parameter 'first' is not explained beyond its default and range. The description mentions 'small sample' but does not clarify how 'first' relates to sampling (e.g., first by creation date). This adds minimal value beyond the schema.

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

    Purpose5/5

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

    The description explicitly states the verb 'Return' and the resource 'a small sample of Jobber clients', and specifies the purpose 'for install validation'. This clearly distinguishes it from sibling tools which are about authentication (jobber_auth_url, jobber_exchange_code) or full data access (jobber_graphql_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 indicates the specific use case 'for install validation', providing clear guidance on when to use this tool. While it does not explicitly state when not to use it or mention alternatives, the context of siblings suggests it is not for full data retrieval or authentication. The guidance is clear for the intended purpose.

    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

jobber-mcp MCP server

Copy to your README.md:

Score Badge

jobber-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/opsconduit/jobber-mcp'

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