Backlog MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Backlog MCP ServerShow me the open issues in the mobile app project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@duytnb79/backlog-mcp
A read-only MCP server for Backlog.
Quick start:
npx -y @duytnb79/backlog-mcpRequirements
Node.js 20+
A Backlog API key
Your Backlog space URL
Related MCP server: Backlog MCP Server
Installation
Run directly with npx:
npx -y @duytnb79/backlog-mcpOr install globally:
npm install -g @duytnb79/backlog-mcp
backlog-mcpConfiguration
Create a .env file or set environment variables before starting the server:
BACKLOG_BASE_URL="https://your-space.backlog.com"
BACKLOG_API_KEY="your_backlog_api_key"
BACKLOG_TIMEOUT_MS="10000"
BACKLOG_MAX_PAGE_SIZE="100"The server automatically loads .env when running locally.
Required:
BACKLOG_BASE_URLBACKLOG_API_KEY
Optional:
BACKLOG_TIMEOUT_MSBACKLOG_MAX_PAGE_SIZE
Usage
With Claude Desktop
{
"mcpServers": {
"backlog-mcp": {
"command": "npx",
"args": ["-y", "@duytnb79/backlog-mcp"],
"env": {
"BACKLOG_BASE_URL": "https://your-space.backlog.com",
"BACKLOG_API_KEY": "your_backlog_api_key"
}
}
}
}With a local clone
npm install
npm run build
cp .env.example .env
node dist/index.jsAvailable tools
get_notificationsread_notificationlist_projectslist_repositorieslist_pull_requestsget_pull_requestlist_issuesget_issueget_pull_request_commentsget_issue_comments
Security
Read-only access only
No hardcoded secrets
Requires an
httpsBacklog base URLNo generic passthrough endpoint tool
Notes
Do not commit
.envPrefer one API key per teammate
Publishing this package does not expose Backlog data by itself; access still depends on each user's API key
Available Tools
10 toolsget_issueGet issueC
Get Backlog issue details.
| Name | Required | Description | Default |
|---|---|---|---|
| issueIdOrKey | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It implies a read-only operation ('Get'), but doesn't disclose error conditions, rate limits, authentication requirements, or what happens with invalid issue IDs. The description adds little beyond the basic action, leaving key behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just four words, front-loaded with the core action. There's no wasted language or redundancy, making it easy to parse quickly, though this brevity contributes to gaps in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no annotations), the description is incomplete. It doesn't explain the return value, error handling, or parameter semantics. For a basic read tool, more context about what 'details' includes would help the agent use it effectively without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 but fails to do so. It doesn't explain what 'issueIdOrKey' represents, its format, or examples. The parameter is entirely undocumented in both schema and description, leaving the agent guessing about valid inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get Backlog issue details' clearly indicates a read operation on a specific resource (Backlog issue), but it's somewhat vague about what 'details' encompasses. It distinguishes from siblings like list_issues (which lists multiple issues) but doesn't specify what distinguishes it from get_issue_comments or get_pull_request beyond the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 doesn't mention prerequisites like authentication, when to use get_issue_comments instead for comments, or how it differs from list_issues for bulk retrieval. The agent must infer usage from the name and context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_issue_commentsGet issue commentsC
Get comments for a Backlog issue.
| Name | Required | Description | Default |
|---|---|---|---|
| issueIdOrKey | Yes | ||
| minId | No | ||
| maxId | No | ||
| count | No | ||
| order | No |
TDQS
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 only states the action ('Get comments') without detailing permissions, rate limits, pagination, error handling, or response format. This is inadequate for a tool with 5 parameters and no output schema, as critical behavioral traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action. It avoids unnecessary words, making it easy to parse quickly. However, it could be more structured by explicitly listing key parameters or constraints, but its brevity is appropriate for the basic information provided.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, no annotations, no output schema), the description is incomplete. It lacks details on authentication, error cases, return values, and how parameters interact (e.g., 'minId' and 'maxId' for filtering). Without this context, the agent may struggle to use the tool correctly in real scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 by explaining parameters. It mentions 'issueIdOrKey' implicitly but doesn't clarify the meaning of optional parameters like 'minId', 'maxId', 'count', and 'order' (e.g., whether 'order' applies to comment IDs or timestamps). The description adds minimal value beyond the schema, failing to address the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb ('Get') and resource ('comments for a Backlog issue'), which clarifies the basic purpose. However, it's vague about what 'Backlog' refers to (a specific system or generic term) and doesn't distinguish this tool from sibling tools like 'get_pull_request_comments' or 'get_issue', leaving ambiguity about scope and differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites (e.g., needing an issue ID), exclusions, or comparisons to siblings like 'get_issue' (which might include comments) or 'get_pull_request_comments', leaving the agent to infer usage context without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_notificationsGet notificationsC
Get recent Backlog notifications.
| Name | Required | Description | Default |
|---|---|---|---|
| minId | No | ||
| maxId | No | ||
| count | No | ||
| order | No |
TDQS
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 only states it gets notifications but doesn't describe what 'recent' means, whether results are paginated, the format of returned data, or any limitations (e.g., rate limits, authentication needs). This is inadequate for a tool with 4 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple tool, though it could be more informative without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, 0% schema coverage, no output schema, no annotations), the description is incomplete. It doesn't explain what the tool returns, how parameters interact, or behavioral traits like pagination or error handling. The agent would struggle to use this effectively without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 by explaining parameters. It mentions 'recent' which loosely relates to minId/maxId/order parameters but doesn't define their semantics (e.g., that minId/maxId filter by notification ID, count limits results, order sorts by ID). The description adds minimal value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Get' and resource 'recent Backlog notifications', which clarifies the basic purpose. However, it's vague about what 'recent' means (time-based or ID-based) and doesn't distinguish this tool from the sibling 'read_notification' tool, leaving ambiguity about their different use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'read_notification'. The description mentions 'recent' notifications but doesn't explain how this differs from other notification-related tools or when to choose this over others, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pull_requestGet pull requestC
Get Backlog pull request details.
| Name | Required | Description | Default |
|---|---|---|---|
| projectIdOrKey | Yes | ||
| repoIdOrName | Yes | ||
| pullRequestNumber | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states it 'gets' details, implying a read-only operation, but doesn't cover aspects like authentication needs, rate limits, error handling, or what the return format looks like. This is inadequate for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point without unnecessary words. However, it's overly concise to the point of under-specification, lacking details that would make it more helpful for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters with no schema descriptions, no annotations, and no output schema, the description is incomplete. It doesn't provide enough context about what the tool does, how to use it properly, or what to expect in return, making it inadequate for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 3 parameters with 0% description coverage, and the tool description provides no information about parameter meanings, formats, or examples. It doesn't explain what 'projectIdOrKey', 'repoIdOrName', or 'pullRequestNumber' represent, leaving the agent to guess based on the schema structure alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Get Backlog pull request details' which clarifies it retrieves information about pull requests, but it's vague about what specific details are included. It doesn't distinguish this tool from sibling tools like 'get_pull_request_comments' or 'list_pull_requests', leaving ambiguity about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description doesn't mention prerequisites, context for usage, or differentiate it from similar tools like 'get_pull_request_comments' or 'list_pull_requests', leaving the agent to infer usage based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pull_request_commentsGet pull request commentsC
Get comments for a Backlog pull request.
| Name | Required | Description | Default |
|---|---|---|---|
| projectIdOrKey | Yes | ||
| repoIdOrName | Yes | ||
| pullRequestNumber | Yes | ||
| minId | No | ||
| maxId | No | ||
| count | No | ||
| order | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('Get comments') without details on permissions, rate limits, pagination (implied by 'count' parameter), or response format, which is insufficient for a tool with 7 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized for a basic tool, with no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, no annotations, no output schema), the description is incomplete. It lacks details on parameter usage, behavioral traits, and output expectations, making it inadequate for an agent to invoke the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for undocumented parameters. It mentions no parameters, failing to explain the purpose of fields like 'minId,' 'maxId,' 'count,' or 'order,' leaving significant gaps in understanding how to use the tool effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose as 'Get comments for a Backlog pull request,' which is a clear verb+resource combination. However, it doesn't differentiate from sibling tools like 'get_issue_comments' or 'get_pull_request,' leaving ambiguity about when to use this specific tool versus those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With siblings like 'get_issue_comments' and 'get_pull_request,' the description lacks context on whether this is for pull request-specific comments or general comment retrieval, offering no explicit or implied usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_issuesList issuesC
List Backlog issues in accessible projects.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | ||
| projectKey | No | ||
| statusId | No | ||
| assigneeId | No | ||
| createdUserId | No | ||
| keyword | No | ||
| offset | No | ||
| count | No | ||
| sort | No | The item to sort the results by. Allowed values: summary, status, priority, updated, created, startDate, dueDate, estimatedHours, actualHours, childIssue | |
| order | No | The sort order (asc or desc) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks behavioral details. It doesn't disclose if this is a read-only operation, potential rate limits, authentication needs, pagination behavior (implied by 'offset' and 'count' but not explained), or what 'accessible projects' entails. The description is minimal and misses key operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (10 parameters, no annotations, no output schema, low schema coverage), the description is inadequate. It doesn't explain return values, error handling, or how parameters interact (e.g., arrays for filtering). For a tool with many filtering options, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (20%), with only 'sort' and 'order' parameters having descriptions. The description doesn't add meaning for the other 8 parameters (e.g., 'projectId', 'keyword', 'statusId'), failing to compensate for the schema gap. It mentions 'Backlog issues' but doesn't clarify how parameters like 'assigneeId' or 'createdUserId' relate to filtering.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('Backlog issues'), specifying they are from 'accessible projects'. It distinguishes from siblings like 'get_issue' (single issue) and 'list_projects' (different resource), but doesn't explicitly contrast with other issue-related tools like 'get_issue_comments'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'get_issue' (for single issues) or 'list_pull_requests' (for related resources). The phrase 'accessible projects' implies a scope but doesn't provide clear context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsList projectsC
List accessible Backlog projects.
| Name | Required | Description | Default |
|---|---|---|---|
| archived | No |
TDQS
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 only states what the tool does ('List accessible Backlog projects') without describing return format, pagination, sorting, authentication requirements, rate limits, or what 'accessible' means operationally. This is inadequate for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple listing tool and gets straight to the point without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a listing tool with no annotations, no output schema, and minimal parameter documentation, the description is insufficient. It doesn't explain what information is returned, how results are structured, or provide enough context for an agent to use it effectively beyond the basic purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 1 parameter with 0% description coverage, so the description must compensate. It mentions 'accessible Backlog projects' which provides some context about scope, but doesn't explain the 'archived' parameter or how filtering works. The description adds minimal value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('accessible Backlog projects'), making the purpose immediately understandable. It doesn't differentiate from sibling tools like 'list_issues' or 'list_repositories', but the resource specificity is adequate for basic understanding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'list_issues' or 'list_repositories'. It mentions 'accessible' projects but doesn't explain what this means in context or when other listing tools might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pull_requestsList pull requestsC
List pull requests in a Backlog git repository.
| Name | Required | Description | Default |
|---|---|---|---|
| projectIdOrKey | Yes | ||
| repoIdOrName | Yes | ||
| statusId | No | ||
| assigneeId | No | ||
| createdUserId | No | ||
| offset | No | ||
| count | No |
TDQS
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 states it's a list operation, implying read-only behavior, but doesn't mention pagination (despite offset/count parameters), rate limits, authentication needs, or what the output looks like. This is a significant gap for a tool with 7 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose and appropriately sized for a basic list operation, though this conciseness comes at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, no annotations, no output schema), the description is inadequate. It doesn't explain parameter usage, output format, pagination, or how it differs from siblings. For a list tool with filtering capabilities, more context is needed to help the agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter documentation. The description mentions 'Backlog git repository' which hints at the context for projectIdOrKey and repoIdOrName, but doesn't explain any of the 7 parameters—especially filtering parameters like statusId, assigneeId, or pagination parameters offset/count. The description adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('pull requests in a Backlog git repository'), making the purpose understandable. However, it doesn't differentiate this tool from sibling tools like 'get_pull_request' or 'list_issues', which would require more specificity about scope or filtering capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'get_pull_request' (for single PR details) or 'list_issues' (for issues instead of PRs). There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_repositoriesList repositoriesC
List repositories in a Backlog project.
| Name | Required | Description | Default |
|---|---|---|---|
| projectIdOrKey | Yes |
TDQS
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 states the action but doesn't describe what 'List' entails—such as pagination, sorting, filtering options, or response format. This leaves significant gaps in understanding how the tool behaves beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized for a simple tool and front-loads the essential information without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't address behavioral aspects like response format, error handling, or usage constraints, making it inadequate for a tool that interacts with a project system.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for undocumented parameters. It mentions 'in a Backlog project', which implicitly relates to the 'projectIdOrKey' parameter, adding some context. However, it doesn't explain what 'projectIdOrKey' means or provide format examples, resulting in only marginal improvement over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('repositories in a Backlog project'), providing a specific verb+resource combination. However, it doesn't differentiate this tool from sibling tools like 'list_issues' or 'list_projects' beyond the resource type, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'list_projects' or 'list_issues'. There's no mention of prerequisites, context, or exclusions, leaving the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_notificationRead notificationC
Read full notification details.
| Name | Required | Description | Default |
|---|---|---|---|
| notificationId | Yes |
TDQS
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 states the action ('read') but does not clarify if this is a safe read operation, what permissions are required, whether it marks notifications as read, or the format of returned details. This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It is appropriately sized for a simple tool, though this conciseness comes at the cost of detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no annotations), the description is incomplete. It does not explain the parameter, behavioral traits, or how it differs from siblings, leaving the agent with insufficient context to use it effectively beyond basic inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, and the description does not mention 'notificationId' or explain its semantics (e.g., what valid IDs are, where to find them). It adds no meaning beyond the schema, failing to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Read full notification details' restates the tool name 'read_notification' with minimal elaboration, making it tautological. It specifies the verb 'read' and resource 'notification details' but lacks specificity about what constitutes 'full details' or how this differs from sibling tools like 'get_notifications'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as 'get_notifications' (which likely lists notifications) or other sibling tools. The description implies usage for reading a single notification but does not specify prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
v0.1.4- First observed
get_issue - First observed
get_issue_comments - First observed
get_notifications - First observed
get_pull_request - First observed
get_pull_request_comments - First observed
list_issues - First observed
list_projects - First observed
list_pull_requests - First observed
list_repositories - First observed
read_notification
TDQS
Scored across 10 tools
Every tool has a clearly distinct purpose targeting specific resources and actions, such as get_issue vs. get_issue_comments or list_issues vs. list_pull_requests. There is no overlap or ambiguity that would cause misselection by an agent.
All tool names follow a consistent verb_noun pattern with snake_case, such as get_issue, list_projects, and read_notification. This predictability makes the set easy to navigate and understand.
With 10 tools, the server is well-scoped for managing Backlog resources like issues, pull requests, projects, and notifications. Each tool earns its place without feeling excessive or insufficient for the domain.
The toolset covers read operations comprehensively but lacks create, update, or delete actions for issues, pull requests, or comments, which are common in project management workflows. This creates notable gaps that agents might struggle with for full lifecycle management.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
The HubSpot MCP Server acts as a bridge that enables AI assistants and Large Language Models to securely interact with HubSpot CRM data through natural conversation, without requiring users to understand complex API structures. It provides read-only access to standard CRM objects (contacts, companies, deals, tickets, products, invoices, and more) and their associations, secured via OAuth 2.0, allowing AI agents to perform tasks like summarizing deals, fetching company updates, and looking up record changes.
Related MCP Servers
- AlicenseBqualityNot gradedmaintenanceAn MCP server implementation that integrates with Backlog API, enabling project management operations including issues, projects, and wikis through natural language interactions.1221,6793-
- AlicenseCqualityAmaintenanceA Model Context Protocol server that enables Claude to interact with Backlog project management tools through API integration, allowing management of projects, issues, wiki pages and other Backlog resources.6221,679232MIT
- AlicenseAqualityDmaintenanceAn MCP server providing AI agents with read access to Backlog issues, comments, and attachments via API Key authentication.1216MIT
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server that provides AI agents structured access to Jira Cloud, enabling project listing, sprint overview, issue retrieval, and JQL search.37MIT