Backlog MCP Server
The Backlog MCP Server integrates with the Backlog API for comprehensive project management:
Project Management: Retrieve projects with pagination and filtering, and access specific project details using ID or key.
Issue Management: Retrieve, create, update, and delete issues with support for extensive filtering options by keyword, status, assignee, etc. Includes sorting and pagination capabilities.
Wiki Management: Retrieve, create, update, and delete wiki pages with keyword search functionality and email notification options.
Configuration: Requires Backlog API key and space ID, with optional base URL customization.
Integration: Can be used with Claude Desktop via NPX or Docker, configured through environment variables.
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 project ABC-123"
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.
Official Backlog MCP server launched!
This repository will be changed visible.
https://nulab.com/ja/blog/backlog/released-backlog-mcp-server/
Backlog MCP Server
An MCP server implementation that integrates the Backlog API.
Tools
Project API
backlog_get_projects
Execute projects get with pagination and filtering
backlog_get_project
Execute project gets with project id or key
Issue API
backlog_get_issues
Execute issues get with pagination and filtering
backlog_get_issue
Execute issue gets with issue id or key
backlog_add_issue
Execute issue add with issue data
backlog_update_issue
Execute issue update with issue data
backlog_delete_issue
Execute issue delete with issue id or key
Wiki API
backlog_get_wikis
Execute wikis get with keyword
backlog_get_wiki
Execute wiki gets with wiki id or key
backlog_add_wiki
Execute wiki add with wiki data
backlog_update_wiki
Execute wiki update with wiki data
backlog_delete_wiki
Execute wiki delete with wiki id or key
Related MCP server: MCP Server Linear
Configuration
Getting an API Key
Sign up for a Backlog
Choose a plan (Free plan available here)
Generate your API key from the individual settings help
Environment Variables
This server requires the following environment variables:
Required:
BACKLOG_API_KEY: Your Backlog API keyBACKLOG_SPACE_ID: Your Backlog space ID
Optional:
BACKLOG_BASE_URL: Your Backlog base URL (default:https://{your-space-id}.backlog.com/api/v2)
Usage with Claude Desktop
Add this to your claude_desktop_config.json:
NPX
{
"mcpServers": {
"backlog": {
"command": "npx",
"args": [
"-y",
"backlog-mcp-server"
],
"env": {
"BACKLOG_API_KEY": "YOUR_API_KEY_HERE",
"BACKLOG_SPACE_ID": "YOUR_SPACE_ID_HERE"
}
}
}
}Docker
{
"mcpServers": {
"backlog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BACKLOG_API_KEY=YOUR_API_KEY_HERE",
"-e",
"BACKLOG_SPACE_ID=YOUR_SPACE_ID_HERE",
"mcp/backlog"
],
"env": {
"BACKLOG_API_KEY": "YOUR_API_KEY_HERE",
"BACKLOG_SPACE_ID": "YOUR_SPACE_ID_HERE"
}
}
}
}Development
Installation
npm installBuild
npm run buildDebug
npm run debugRunning Tests
T.B.D
Docker Build
docker build -t mcp/backlog -f Dockerfile .Extending the Server
To add new tools:
Define a new Zod schema in
src/core/schema.tsAdd a new tool definition in
src/tools/toolDefinitions.tsand include it inALL_TOOLSCreate a new handler in
src/tools/handlers.tsand register it intoolHandlersImplement business logic in a service in the
src/services/directory
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Available Tools
12 toolsbacklog_add_issueC
Add an issue using the Backlog Issue API.
| Name | Required | Description | Default |
|---|---|---|---|
| actualHours | No | Actual hours for the issue | |
| assigneeId | No | Assignee id | |
| categoryId | No | Category id | |
| description | No | Description of the issue | |
| dueDate | No | Due date of the issue (YYYY-MM-DD format) | |
| estimatedHours | No | Estimated hours for the issue | |
| issueTypeId | Yes | Issue type id | |
| milestoneId | No | Milestone id | |
| priorityId | Yes | Priority id | |
| projectId | Yes | Project id | |
| startDate | No | Start date of the issue (YYYY-MM-DD format) | |
| summary | Yes | Summary of the issue | |
| versionId | No | Version id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. 'Add an issue' implies a write/mutation operation, but the description doesn't disclose any behavioral traits: no information about authentication requirements, rate limits, whether the operation is idempotent, what happens on success/failure, or what the response contains. This is a significant gap for a mutation tool with zero 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 extremely concise at just one sentence with zero wasted words. It's front-loaded with the core purpose and contains no unnecessary information. This is an example of appropriate brevity for a tool where the schema provides comprehensive parameter documentation.
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 this is a mutation tool with 13 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what happens after adding an issue, what the return value might be, error conditions, or behavioral constraints. The description provides minimal context for a complex creation operation.
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 100%, so the schema already documents all 13 parameters with clear descriptions. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.
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 'Add an issue using the Backlog Issue API' which provides a clear verb ('Add') and resource ('issue'), but it's vague about what 'issue' means in this context and doesn't distinguish it from sibling tools like backlog_add_wiki. It doesn't specify whether this creates a bug report, task, or other work item 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?
No guidance is provided about when to use this tool versus alternatives. With siblings like backlog_get_issue, backlog_update_issue, and backlog_delete_issue, the description offers no indication of when creation is appropriate versus retrieval, modification, or deletion. There's no mention of prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlog_add_wikiC
Add an wiki using the Backlog Wiki API.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Content | |
| mailNotify | No | True make to notify by Email | |
| name | Yes | Page Name | |
| projectId | Yes | Project ID |
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 states 'Add an wiki' which implies a write operation, but doesn't cover permissions, side effects, error handling, or response format. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.
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 directly states the tool's purpose without unnecessary elaboration, making it easy to parse and front-loaded with essential information.
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 complexity as a write operation with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after adding a wiki (e.g., success response, error cases), nor does it provide usage context or behavioral details. This leaves critical gaps for an AI agent to use the tool effectively.
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 100%, so the schema already documents all parameters (projectId, name, content, mailNotify) with basic descriptions. The description adds no additional meaning beyond the schema, such as explaining parameter interactions or constraints. Baseline 3 is appropriate when the schema handles parameter documentation.
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 ('Add') and resource ('wiki'), specifying it uses the Backlog Wiki API. It distinguishes from siblings like backlog_delete_wiki or backlog_get_wiki by indicating creation rather than deletion or retrieval, though it doesn't explicitly contrast with backlog_update_wiki. The purpose is specific but lacks explicit sibling 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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose backlog_add_wiki over backlog_update_wiki or backlog_get_wiki, nor does it specify prerequisites or contexts for usage. This leaves the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlog_delete_issueC
Delete an issue using the Backlog Issue API.
| Name | Required | Description | Default |
|---|---|---|---|
| issueIdOrKey | Yes | Issue ID or Issue Key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the basic action. It doesn't disclose critical behavioral traits such as whether deletion is permanent, requires specific permissions, has side effects (e.g., cascading deletions), or error handling for invalid IDs.
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 and front-loaded, directly stating the tool's purpose 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 destructive tool with no annotations and no output schema, the description is insufficient. It lacks details on permissions, consequences, return values, or error cases, leaving significant gaps for an agent to understand the tool's full behavior.
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 100%, so the schema already documents the single parameter 'issueIdOrKey' as 'Issue ID or Issue Key'. The description adds no additional meaning beyond this, maintaining the baseline score for high schema 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 clearly states the action ('Delete') and resource ('an issue'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'backlog_delete_wiki', which also deletes resources but different types.
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 issue existence), exclusions, or compare with related tools like 'backlog_update_issue' for modification instead of deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlog_delete_wikiC
Delete an wiki using the Backlog Wiki API.
| Name | Required | Description | Default |
|---|---|---|---|
| mailNotify | No | True make to notify by Email | |
| wikiId | Yes | Wiki page ID |
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 tool deletes a wiki, implying a destructive mutation, but lacks critical details: it doesn't specify if deletion is permanent, requires specific permissions, has rate limits, or what happens on success/failure. This leaves significant gaps in understanding the tool's behavior and risks.
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, direct sentence with zero wasted words. It front-loads the key action ('Delete') and resource ('wiki'), making it immediately scannable and efficient. Every word earns its place, adhering perfectly to conciseness best practices.
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 complexity (a destructive delete operation with no output schema and no annotations), the description is incomplete. It fails to address critical context like what the tool returns, error conditions, or safety warnings. For a mutation tool with significant behavioral implications, this leaves the agent under-informed about outcomes and risks.
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 100%, so the schema fully documents both parameters (wikiId and mailNotify). The description adds no additional meaning beyond what's in the schema, such as explaining parameter interactions or usage nuances. This meets the baseline score of 3, as the schema handles parameter documentation adequately.
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 ('Delete') and resource ('an wiki'), making the purpose immediately understandable. It distinguishes from siblings like 'backlog_add_wiki' and 'backlog_update_wiki' by specifying deletion. However, it doesn't specify what 'wiki' refers to (e.g., a wiki page or entire wiki), leaving some ambiguity compared to more specific descriptions.
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 (e.g., needing an existing wiki), exclusions, or comparisons to siblings like 'backlog_delete_issue' for context. The agent must infer usage from the tool name alone, which is insufficient for optimal selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlog_get_issueC
Performs an issue get using the Backlog Issue API.
| Name | Required | Description | Default |
|---|---|---|---|
| issueIdOrKey | Yes | Issue ID or Issue Key |
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 but offers minimal insight. It states the action is a 'get' (implying read-only), but doesn't cover critical aspects like authentication requirements, rate limits, error handling, or response format. This leaves significant gaps in understanding how the tool behaves operationally, making it inadequate for a tool with no annotation support.
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 concise with a single sentence, 'Performs an issue get using the Backlog Issue API,' which is front-loaded and wastes no words. However, it could be more structured by explicitly stating the purpose upfront (e.g., 'Retrieves details for a single issue'). It earns a 4 for efficiency but loses a point for not optimizing clarity in its brevity.
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 complexity (a read operation with no output schema and no annotations), the description is incomplete. It doesn't explain what data is returned (e.g., issue fields, metadata), potential side effects, or how it fits into the broader API context. With no annotations to fill gaps, the description should provide more context about behavior and output, which it fails to do adequately.
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 100% description coverage, clearly documenting the 'issueIdOrKey' parameter as 'Issue ID or Issue Key.' The description adds no additional semantic context beyond this, such as examples or format details. Given the high schema coverage, a baseline score of 3 is appropriate, as the schema handles the parameter documentation effectively without extra value from the description.
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 'Performs an issue get using the Backlog Issue API,' which indicates it retrieves issue data, but it's vague about what specific information is fetched (e.g., details, status, comments) and doesn't differentiate it from sibling tools like 'backlog_get_issues' (which likely lists multiple issues). It uses a generic verb 'get' without specifying scope or output, making it minimally adequate but unclear in comparison.
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), contrast with 'backlog_get_issues' for bulk retrieval, or specify use cases like fetching a single issue's details. The description lacks any context for selection, 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.
backlog_get_issuesB
Performs list issue get using the Backlog Issues API. Supports pagination, content filtering. Maximum 20 results per request, with offset for pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| assigneeId | No | Assignee ids | |
| count | No | Number of results (1-100, default 20) | |
| createdSince | No | Start date of created date (YYYY-MM-DD format) | |
| createdUntil | No | End date of created date (YYYY-MM-DD format) | |
| keyword | No | Keyword for searching | |
| offset | No | Offset for pagination | |
| order | No | Sort order | desc |
| priorityId | No | Priority ids | |
| projectId | No | Project ids | |
| sort | No | Attribute name for sorting | |
| statusId | No | Status ids |
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. It discloses key behavioral traits: 'Supports pagination' (implied offset/count usage), 'content filtering' (hints at parameter usage), and 'Maximum 20 results per request' (a rate/limit constraint). However, it misses details like authentication needs, error handling, or response format. For a read operation with 11 parameters, this is adequate but not comprehensive.
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 front-loaded with the core purpose and efficiently lists key features in two sentences. Every sentence adds value: the first states the action, and the second covers pagination, filtering, and limits. There's no redundant information, though it could be slightly more structured (e.g., bullet points).
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 (11 parameters, no annotations, no output schema), the description is moderately complete. It covers the tool's purpose and key behaviors but lacks details on output format, error cases, or prerequisites. For a list operation with filtering, this is minimally viable but leaves gaps that could hinder agent usage 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 100%, so the schema fully documents all 11 parameters. The description adds marginal value by mentioning 'pagination' (relates to offset/count) and 'content filtering' (hints at assigneeId, keyword, etc.), but doesn't provide additional syntax or format details beyond what the schema already specifies. With high schema coverage, the baseline 3 is appropriate.
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 tool 'Performs list issue get using the Backlog Issues API', which specifies the verb ('list issue get') and resource ('Backlog Issues'). It distinguishes from siblings like 'backlog_get_issue' (singular) by implying it retrieves multiple issues. However, it doesn't explicitly contrast with other list tools like 'backlog_get_wikis' 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 mentions 'Supports pagination, content filtering' but provides no guidance on when to use this tool versus alternatives. With siblings like 'backlog_get_issue' (singular issue) and 'backlog_get_projects', there's no explicit advice on selection criteria, such as 'use this for filtered issue lists vs. backlog_get_issue for single issues'. The lack of when-to-use or exclusion statements leaves the agent with minimal context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlog_get_projectC
Performs an project get using the Backlog Project get API.
| Name | Required | Description | Default |
|---|---|---|---|
| projectIdOrKey | Yes | Project ID or Project Key |
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 states the tool uses an API to 'get' a project, implying a read operation, but does not detail permissions, rate limits, error handling, or response format. 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 no wasted words, making it front-loaded and easy to parse. However, it could be more structured by explicitly stating the tool's purpose upfront, but it remains appropriately sized for its 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 no annotations and no output schema, the description is incomplete. It lacks details on what the tool returns (e.g., project details), behavioral traits like authentication needs, and how it differs from siblings, making it insufficient for effective agent 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?
The input schema has 100% description coverage, documenting the 'projectIdOrKey' parameter as 'Project ID or Project Key.' The description adds no additional meaning beyond this, such as format examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.
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 'Performs an project get using the Backlog Project get API,' which clarifies it retrieves project data but is vague about what 'get' entails (e.g., fetching details vs. listing). It distinguishes from siblings like 'backlog_get_projects' (plural) by implying a single project, but lacks specificity on the resource scope or verb nuance.
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 does not mention prerequisites, exclusions, or comparisons to siblings like 'backlog_get_projects' for listing multiple projects or 'backlog_get_issue' for issue-related data, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlog_get_projectsB
Performs list project get using the Backlog Projects get API. Supports pagination, content filtering. Maximum 20 results per request, with offset for pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | Only applies to administrators. If true, it returns all projects. If false, it returns only projects they have joined (set to false by default). | |
| archived | No | For unspecified parameters, this form returns all projects. For false parameters, it returns unarchived projects. For true parameters, it returns archived projects. |
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 adds useful context about pagination ('Maximum 20 results per request, with offset for pagination') and content filtering, which aren't obvious from the schema alone. However, it doesn't cover important aspects like authentication requirements, error conditions, or rate limits that would be helpful for a tool making API calls.
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 appropriately concise with two sentences that each serve a purpose: the first states the core functionality, and the second adds important behavioral constraints. There's no wasted verbiage, though it could be slightly more front-loaded by mentioning the pagination limit earlier.
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 tool with 2 parameters, 100% schema coverage, and no output schema, the description provides adequate but minimal context. It covers the pagination behavior and filtering capability, but doesn't explain the return format or what 'projects' actually contain. Given the lack of annotations and output schema, more detail about the response structure would be helpful.
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 description coverage is 100%, so both parameters are well-documented in the schema itself. The description doesn't add any meaningful parameter semantics beyond what's already in the schema descriptions for 'all' and 'archived'. It mentions 'content filtering' generally but doesn't explain how the parameters enable this 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 action ('Performs list project get') and resource ('using the Backlog Projects get API'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from its sibling 'backlog_get_project' (singular vs. plural), which could cause confusion about when to use each.
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 'backlog_get_project' or 'backlog_get_issues'. It mentions pagination and filtering capabilities but doesn't specify scenarios where this tool is preferred over other list/retrieval tools in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlog_get_wikiC
Performs an wiki get using the Backlog Wiki API.
| Name | Required | Description | Default |
|---|---|---|---|
| wikiId | Yes | Wiki page ID |
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 tool performs a 'get' operation, implying read-only behavior, but does not specify whether it retrieves content, metadata, or both, nor does it cover error handling, authentication needs, or rate limits. This leaves significant gaps for a tool with mutation siblings like 'backlog_add_wiki.'
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, making it appropriately sized. However, it is not front-loaded with critical information (e.g., purpose or usage), and the phrasing 'an wiki get' is slightly awkward, though not detrimental to clarity.
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 of interacting with a wiki API and the lack of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., wiki content or details), error conditions, or how it fits within the broader toolset, leaving the agent with insufficient context for 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?
The input schema has 100% description coverage, with 'wikiId' documented as 'Wiki page ID.' The description adds no additional meaning beyond this, such as format examples or constraints. Since schema coverage is high, the baseline score of 3 is appropriate, as the description does not compensate but also does not detract.
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 'Performs an wiki get using the Backlog Wiki API,' which identifies the action ('get') and resource ('wiki'), but it is vague about what 'get' entails (e.g., retrieving content or metadata) and does not distinguish it from sibling tools like 'backlog_get_wikis' (plural) or 'backlog_get_issue.' It avoids tautology by not merely restating the name, but lacks specificity.
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 does not mention prerequisites (e.g., needing a wiki ID), exclusions, or comparisons to siblings such as 'backlog_get_wikis' for listing wikis or 'backlog_get_issue' for issues. The description implies usage only through the generic API reference, offering no contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlog_get_wikisC
Performs list wikis get using the Backlog Wiki API
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | No | Keyword for searching | |
| projectIdOrKey | Yes | Project ID or Project Key |
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. It only states it 'performs list wikis get', which implies a read-only operation but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, error handling, or what 'list' entails (e.g., returns all wikis or a filtered set). This leaves significant gaps for an agent to understand how to use it effectively.
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 sentence, which is concise, but it's poorly structured with awkward phrasing ('list wikis get'). It could be more front-loaded and clearer, such as 'Lists wikis in a Backlog project, optionally filtered by keywords.' As is, it's minimally adequate but not efficient.
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 of a list operation with parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain the return values, error cases, or how the listing behaves (e.g., pagination, sorting). For a tool that likely returns multiple items, more context is needed to guide an agent effectively.
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 100% description coverage, with clear documentation for both parameters ('keywords' for searching and 'projectIdOrKey' as required). The description adds no additional meaning beyond the schema, such as explaining how keywords interact with listing or the format of project identifiers. Since schema coverage is high, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Performs list wikis get using the Backlog Wiki API', which indicates it retrieves wiki entries. However, it's vague about the scope and doesn't differentiate from sibling tools like 'backlog_get_wiki' (singular) or 'backlog_get_issues'. The phrase 'list wikis get' is awkward and doesn't clearly specify if this lists all wikis, wikis in a project, or something else.
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, such as requiring a project ID, or compare it to siblings like 'backlog_get_wiki' (which might fetch a single wiki) or 'backlog_get_issues' (for issues instead of wikis). The description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlog_update_issueC
Update an issue using the Backlog Issue API.
| Name | Required | Description | Default |
|---|---|---|---|
| actualHours | No | Actual hours | |
| assigneeId | No | Assignee id | |
| attachmentId | No | Attachment ids | |
| categoryId | No | Category ids | |
| comment | No | Comment | |
| description | No | Description | |
| dueDate | No | Due date | |
| estimatedHours | No | Estimated hours | |
| issueIdOrKey | Yes | Issue ID or Issue Key | |
| issueTypeId | No | Issue type id | |
| milestoneId | No | Milestone ids | |
| notifiedUserId | No | Notified user ids | |
| parentIssueId | No | Parent issue id | |
| priorityId | No | Priority id | |
| startDate | No | Start date | |
| statusId | No | Status id | |
| summary | No | Summary | |
| versionId | No | Version ids |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states it updates an issue. It lacks critical behavioral details: whether this is a mutation (implied but not explicit), permission requirements, rate limits, side effects, or what happens on partial updates. This is inadequate for a tool with 18 parameters.
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. However, it's under-specified rather than concise—it could benefit from more detail without becoming verbose, so it's not a perfect 5.
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 high complexity (18 parameters, mutation tool), no annotations, and no output schema, the description is incomplete. It doesn't explain behavioral traits, return values, or usage context, making it insufficient for an agent to use the tool 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?
Schema description coverage is 100%, so the schema fully documents all 18 parameters. The description adds no additional parameter semantics beyond implying updates to an issue, which is already clear from the tool name and schema. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool updates an issue using the Backlog Issue API, which provides a basic purpose (verb+resource). However, it's vague about what specific aspects can be updated and doesn't distinguish it from sibling tools like backlog_update_wiki, which has a similar structure but different resource.
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 existing issue), exclusions, or comparisons to siblings like backlog_add_issue or backlog_delete_issue, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlog_update_wikiC
Update an wiki using the Backlog Wiki API.
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | Content | |
| mailNotify | No | True make to notify by Email | |
| name | No | Page Name | |
| wikiId | Yes | Wiki page ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states it's an update operation. It doesn't disclose behavioral traits like whether this requires specific permissions, if it overwrites or merges content, what happens to unspecified fields, or any rate limits/error conditions. 'Update' implies mutation, but details 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 with no wasted words. However, it's front-loaded with minimal information and could benefit from slightly more detail to improve clarity without losing conciseness. It avoids redundancy but is overly brief.
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 mutation tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't cover what the tool returns, error handling, or how updates interact with existing wiki data. Given the complexity and lack of structured data, 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 100%, so parameters are documented in the schema. The description adds no meaning beyond the schema—it doesn't explain parameter relationships (e.g., that 'wikiId' identifies the page to update, while 'name' and 'content' are fields to modify) or provide usage examples. Baseline 3 is appropriate since the schema handles documentation.
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 action ('Update') and resource ('wiki'), but it's vague about what specifically gets updated. It doesn't distinguish this tool from sibling 'backlog_update_issue' or clarify that it updates wiki content/settings rather than just metadata. The phrase 'using the Backlog Wiki API' is redundant with the tool name.
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 'backlog_add_wiki' (create) or 'backlog_update_issue' (update issues). The description doesn't mention prerequisites (e.g., needing an existing wiki ID) or contextual constraints. It's a basic statement with no usage context.
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. Dates show when Glama detected each change.
12 tool updates
v1.0.0- First observed
backlog_add_issue - First observed
backlog_add_wiki - First observed
backlog_delete_issue - First observed
backlog_delete_wiki - First observed
backlog_get_issue - First observed
backlog_get_issues - First observed
backlog_get_project - First observed
backlog_get_projects - First observed
backlog_get_wiki - First observed
backlog_get_wikis - First observed
backlog_update_issue - First observed
backlog_update_wiki
TDQS
Every tool has a clearly distinct purpose with no ambiguity. The tools are organized by resource type (issue, wiki, project) and action (add, delete, get, update), making it easy for an agent to select the correct one. There's no overlap in functionality between tools.
All tool names follow a perfect and consistent pattern: 'backlog_' prefix + verb (add, delete, get, update) + singular/plural noun (issue, wiki, project). The naming is systematic and predictable throughout the entire set.
12 tools is well-scoped for a Backlog server covering issues, wikis, and projects. Each tool earns its place with clear CRUD operations for each resource type, providing comprehensive coverage without being overwhelming.
The tool surface provides complete CRUD/lifecycle coverage for all three resource types (issues, wikis, projects). There are no obvious gaps - each resource has add, delete, get (both single and list), and update operations where applicable.
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
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for generating rough-draft project plans from natural-language prompts.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Related MCP Servers
- FlicenseCqualityDmaintenanceThis is an MCP server that facilitates building tools for interacting with various APIs and workflows, supporting Python-based development with potential for customizable prompts and user configurations.1-
- AlicenseNot gradedqualityFmaintenanceAn MCP server that provides tools for interacting with Linear issue tracking system, currently supporting issue search with plans to expand to issue creation, updates, comments, and project management.2,4861MIT
- AlicenseBqualityAmaintenanceA Model Context Protocol server that enables AI assistants to interact with Linear project management systems, allowing users to retrieve, create, and update issues, projects, and teams through natural language.1984,856146MIT
- AlicenseCqualityCmaintenanceAn MCP server that connects to Backlog API, providing functionality to search, retrieve, and update issues through natural language commands.47,3416MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/fleagne/backlog-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server