db3-atlassian-mcp
Provides tools for listing and searching repositories, branches, and pull requests, with optional advanced features for commits, diffs, comments, and pipeline statuses.
Enables reading, searching, creating, and updating Confluence pages with rich formatting, including browsing pages in a space.
Allows fetching, searching, creating, updating, and assigning Jira tickets, including managing sub-tasks, comments, and attachments.
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., "@db3-atlassian-mcpshow me Jira issue PROJ-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.
db3-atlassian-mcp
Lightweight MCP server for Jira, Confluence, and Bitbucket — read, create, and update from your AI IDE.
Install
Step 1: Get an API Token
Go to https://id.atlassian.com/manage-profile/security/api-tokens and create a new token.
Step 2: Create your .env file
mkdir -p ~/.db3-atlassian-mcp
cat > ~/.db3-atlassian-mcp/.env << EOF
JIRA_BASE_URL=https://yourcompany.atlassian.net
JIRA_USER=you@yourcompany.com
JIRA_API_KEY=your-api-token-here
# Optional: Bitbucket Cloud
BITBUCKET_WORKSPACE=your-workspace
BITBUCKET_USER=you@yourcompany.com
BITBUCKET_API_TOKEN=your-bitbucket-api-token
# Optional: Enable additional Bitbucket tool tiers
# ENABLE_BITBUCKET_PR_TOOLS=true
# ENABLE_BITBUCKET_ADMIN_TOOLS=true
EOFStep 3: Add to your IDE's MCP config
Tip: If you skip Step 2, you can put your credentials directly in the
envblock below instead of using a.envfile. Either approach works.
Kiro
You can ask Kiro to do this for you: "Add db3-atlassian-mcp to my MCP config using uvx with my Atlassian credentials"
Or manually open ~/.kiro/settings/mcp.json and add inside "mcpServers":
"db3.atlassian-mcp": {
"command": "uvx",
"args": ["db3-atlassian-mcp@latest"],
"disabled": false,
"autoApprove": [],
"env": {
"JIRA_BASE_URL": "https://yourcompany.atlassian.net",
"JIRA_USER": "you@yourcompany.com",
"JIRA_API_KEY": "your-api-token-here"
}
}The env block is optional if you already created a .env file in Step 2.
VS Code / Cursor / Windsurf
Add to .vscode/mcp.json in your workspace (or global settings):
{
"mcpServers": {
"db3.atlassian-mcp": {
"command": "uvx",
"args": ["db3-atlassian-mcp@latest"],
"env": {
"JIRA_BASE_URL": "https://yourcompany.atlassian.net",
"JIRA_USER": "you@yourcompany.com",
"JIRA_API_KEY": "your-api-token-here"
}
}
}
}Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"db3.atlassian-mcp": {
"command": "uvx",
"args": ["db3-atlassian-mcp@latest"],
"env": {
"JIRA_BASE_URL": "https://yourcompany.atlassian.net",
"JIRA_USER": "you@yourcompany.com",
"JIRA_API_KEY": "your-api-token-here"
}
}
}
}Step 4: Restart your IDE
The MCP server will appear in your sidebar as db3.atlassian-mcp.
Once connected, ask Kiro something like "Read Jira ticket PROJECT-123" to verify it's working.
Related MCP server: Jira & Confluence MCP Server
What You Can Do
Jira
Fetch any ticket by key
Search tickets with JQL
View sub-tasks for a parent ticket
Create new tickets with optional parent for sub-task linking
Update tickets — change fields, transition status, add comments
Assign tickets by name or email (no account IDs needed)
Attach files to tickets
Confluence
Read any page by pasting its URL or page ID
Search pages with CQL
Browse all pages in a space
Create new pages (with optional parent page)
Update existing pages with rich formatting
Bitbucket Cloud (core — always on)
List and search repositories in a workspace
List branches for a repository
List and view pull requests
Bitbucket Cloud (opt-in via ENABLE_BITBUCKET_PR_TOOLS)
List and view commits
View PR diffs, file diffs, and diffstats
Create pull requests
Add, reply to, update, and delete PR comments
Add inline comments on specific diff lines
Bitbucket Cloud (opt-in via ENABLE_BITBUCKET_ADMIN_TOOLS)
View build statuses on commits and PRs
List pipeline runs
Resolve and reopen PR comment threads
Create, update, and delete PR tasks
Fetch repository metadata
List branches and commits
Fetch commit details and build statuses
List recent Bitbucket Pipelines runs
List and inspect pull requests
Fetch pull request diffs, diffstats, comments, and activity
Fetch pull request build statuses
Summarize pull request status with reviewers, approvals, build status results, and changed files
Create pull requests
Add pull request comments
Configuration
Credentials
The server reads credentials from a .env file. It searches in this order:
~/.db3-atlassian-mcp/.env(recommended).envin the current working directory
You can also pass credentials via your MCP config's env block (see Step 3 above).
Bitbucket Tool Tiers
By default, only core Bitbucket tools are enabled (repos, branches, PRs) to keep the tool count low. Enable additional tiers via environment variables:
Variable | Default | Tools Added |
(core — always on) | — |
|
|
| Commits, diffs, diffstats, PR comments, inline comments, replies, activity, status, create PR (+15 tools) |
|
| Build statuses, pipelines, resolve/reopen comments, PR tasks (+10 tools) |
Example with all tiers enabled:
"db3.atlassian-mcp": {
"command": "uvx",
"args": ["db3-atlassian-mcp@latest"],
"env": {
"JIRA_BASE_URL": "https://yourcompany.atlassian.net",
"JIRA_USER": "you@yourcompany.com",
"JIRA_API_KEY": "your-api-token-here",
"ENABLE_BITBUCKET_PR_TOOLS": "true",
"ENABLE_BITBUCKET_ADMIN_TOOLS": "true"
}
}Bitbucket Cloud
Bitbucket support is optional. Set these values only if you want Bitbucket tools:
BITBUCKET_WORKSPACE=your-workspace
BITBUCKET_USER=you@yourcompany.com
BITBUCKET_API_TOKEN=your-bitbucket-api-tokenBITBUCKET_WORKSPACE lets tool calls omit the workspace argument. For
bitbucket.org/your-workspace/..., use:
BITBUCKET_WORKSPACE=your-workspaceUse a Bitbucket Cloud API token scoped to the operations you need. Read-only tools need repository and pull request read scopes. Pipeline status tools need pipeline read scope. Creating pull requests or comments needs write access for pull requests.
Alternative: Install from Source
git clone https://github.com/db3net/db3-atlassian-mcp.git
cd db3-atlassian-mcp
bash install.shThe installer prompts for your credentials, sets up a Python venv, validates the connection, and configures Kiro automatically.
Updating
If using uvx with @latest, it automatically pulls the newest version each time your IDE starts. If installed from source, run the installer again.
Version Pinning
Using @latest is convenient but means updates are applied automatically. For production or security-sensitive environments, pin to a specific version:
"args": ["db3-atlassian-mcp==1.1.0"]This way you only get updates when you explicitly change the version number. Check PyPI for available versions.
Uninstall
rm -rf ~/.db3-atlassian-mcpThen remove the "db3.atlassian-mcp" entry from your IDE's MCP config.
Troubleshooting
Server shows "connection failed" or ENOENT
Make sure
uvis installed:pip install uvorbrew install uvVerify
uvxis on your PATH:which uvxCheck that Python 3.10+ is available:
python3 --version
401 Unauthorized
Verify your API token hasn't expired (Atlassian tokens can have expiration dates)
Check that
JIRA_USERis your email address, not your usernameRegenerate your token at https://id.atlassian.com/manage-profile/security/api-tokens
.env file not found
Confirm the file exists:
cat ~/.db3-atlassian-mcp/.envMake sure all three variables are set:
JIRA_BASE_URL,JIRA_USER,JIRA_API_KEYThe URL should not have a trailing slash
Tools not showing up
Restart your IDE after adding the MCP config
Check your IDE's MCP server logs for errors
In Kiro: look at the MCP Servers panel in the sidebar and click reconnect
License
MIT
Available Tools
20 toolsattach_fileA
Attach a file to a Jira ticket. Provide the issue key and absolute file path.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| issue_key | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey all behavioral traits. It indicates mutation ('attach') but omits details about side effects, permissions, file size limits, or whether attachments are appended or replaced. The mention of 'absolute file path' implies a server-accessible location, but this is not explicit.
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 that efficiently conveys the tool's purpose and required inputs without unnecessary words.
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 (2 params, no enums) and the presence of an output schema (not shown), the description is somewhat adequate but lacks details on return values and behavioral context (e.g., error handling). Without annotations, more transparency is expected for a mutation tool.
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?
With 0% schema description coverage, the description adds meaning by naming parameters ('issue key', 'absolute file path') beyond raw string types. However, it does not specify format (e.g., key pattern) or constraints (e.g., file size, path restrictions), which limits usefulness.
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 ('Attach a file') and the resource ('Jira ticket'), with specific requirements ('issue key and absolute file path'). It distinguishes from sibling tools like create_ticket or get_ticket, which serve different purposes.
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 tells what inputs are needed but does not provide guidance on when to use this tool versus alternatives. No exclusions or context about prerequisites (e.g., ticket existence, file accessibility) are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_confluence_pageC
Create a new Confluence page in a space. Optionally specify a parent page ID.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| title | Yes | ||
| parent_id | No | ||
| space_key | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description fails to disclose behavioral traits such as what happens on duplicate titles, required permissions, rate limits, or whether the tool overwrites existing pages.
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?
Two sentences, no fluff, efficient use of words. Could be slightly more informative without losing 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?
Output schema exists but description does not explain return values or behavior. For a creation tool with 4 parameters and no schema descriptions, more context is needed (e.g., body format, required auth).
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%, but description only adds meaning for 'parent_id' (optional). No explanation of 'body' format, 'title' constraints, or 'space_key' meaning.
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?
Description clearly states verb 'create' and resource 'Confluence page', and mentions optional parent page ID. Distinguishes from siblings like update_confluence_page, get_confluence_page, move_confluence_page.
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 on when to use this tool versus alternatives (e.g., update_confluence_page), no prerequisites (e.g., space must exist), and no mention of when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_ticketB
Create a new Jira ticket. Optionally pass custom_fields for Jira customfield_* or other fields.
| Name | Required | Description | Default |
|---|---|---|---|
| summary | Yes | ||
| assignee | No | ||
| priority | No | ||
| issue_type | Yes | ||
| parent_key | No | ||
| description | No | ||
| project_key | Yes | ||
| custom_fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the creation action without mentioning error handling, permissions, rate limits, or side effects.
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?
Two concise sentences with no redundancy or fluff. The description is front-loaded and 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?
With 8 parameters and no annotations, the description is too sparse. It does not cover required fields, output schema, or important constraints like validation rules.
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%. The description only adds context for 'custom_fields' (Jira customfield_*), leaving the other 7 parameters unexplained beyond schema names/types.
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 'Create a new Jira ticket' with a specific verb and resource. It distinguishes itself from sibling tools like update_ticket, get_ticket, etc.
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 does not mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bitbucket_pull_requestC
Fetch Bitbucket Cloud pull request details.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_slug | Yes | ||
| workspace | No | ||
| pull_request_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only says 'fetch details' but does not confirm read-only nature, authentication needs, rate limits, or any side effects. The user cannot infer behavioral traits beyond the implied idempotent read.
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 6 words, which is efficient but omits critical information. It is not verbose, but the brevity comes at the cost of clarity and completeness. The structure is front-loaded but insufficient.
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 that an output schema exists (context signal), the description does not need to explain return values. However, with 3 parameters (1 optional) and no annotations, the description is too sparse. It does not mention that workspace is optional or the ordering of required parameters. The overall context provided is inadequate for safe tool 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 0%, and the description adds no meaning to the three parameters (repo_slug, workspace, pull_request_id). It does not explain what each parameter is, acceptable formats, or defaults (e.g., workspace defaulting to empty string is undocumented). The description fails to compensate for the low 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 'Fetch Bitbucket Cloud pull request details' clearly states the verb (Fetch) and resource (pull request details), indicating a read operation for a single pull request. It effectively distinguishes from sibling tools like list_bitbucket_pull_requests, which lists PRs, though it does not explicitly differentiate in the text.
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 does not mention prerequisites, when to use get vs list, or typical use cases. Sibling tools such as list_bitbucket_pull_requests exist, but no comparison is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bitbucket_repoC
Fetch Bitbucket Cloud repository metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_slug | Yes | ||
| workspace | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey behavioral traits. It only says 'Fetch', implying read-only, but does not clarify behavior on missing repo, error handling, rate limits, or any side effects. Insufficient for an agent to understand the tool's full behavior.
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, concise sentence. However, it lacks structure; no separation of purpose, parameters, or behavior. Every word earns its place, but the overall value is low due to 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 simplicity (2 params, no annotations) and existence of an output schema, the description should still specify parameter roles and scope. It fails to mention that workspace is optional, what metadata is returned, or any limitations. Incomplete for reliable 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 2 parameters (repo_slug, workspace) with 0% description coverage. The tool description does not explain these parameters, their purpose, format, or defaults. The agent cannot infer what values to provide beyond parameter names.
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 'Fetch Bitbucket Cloud repository metadata' clearly states the action (fetch) and resource (repository metadata). It implicitly distinguishes from siblings like list_bitbucket_repos (list) and search_bitbucket_repos (search), though it could be more explicit about fetching a single repo's details.
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 on when to use this tool versus alternatives such as list_bitbucket_repos or search_bitbucket_repos. The description does not specify that it retrieves a specific repository by slug, nor does it mention prerequisites or best use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_child_issuesA
Get all child/sub-task issues for a given parent ticket.
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the read operation but lacks details on pagination, error handling, or what happens if no children exist. The description is too minimal.
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, directly stating the tool's function without any filler. It is front-loaded and 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 tool's simplicity (one parameter, output schema exists), the description is largely complete. However, it could briefly mention that it returns a list of child issues, which is implied but not explicit.
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 one parameter with 0% description coverage. The description explains that the issue_key is the 'given parent ticket', adding semantic meaning beyond the raw 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 'Get' and the resource 'child/sub-task issues', and specifies the input 'for a given parent ticket'. It is specific and distinguishes from sibling tools like get_ticket which retrieves a single ticket.
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 implies usage when a parent ticket key is available and child issues are needed. While it doesn't explicitly discuss when not to use it or mention alternatives, the context is clear enough for a narrow-purpose tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_confluence_pageA
Fetch a Confluence page by numeric ID or full URL. Returns title, space, version, and body as plain text.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It does not disclose behavioral traits such as prerequisites, permissions, error handling, or rate limits. For a read operation, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the purpose, method, and return fields with zero wasted words. Every element earns its place.
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 low complexity and existence of an output schema, the description adequately covers the primary use case and return fields. However, it omits edge cases and error conditions, leaving minor gaps.
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 0% description coverage and only defines 'page_id' as a string. The description adds crucial meaning by stating it can be a numeric ID or a full URL, significantly aiding correct parameter usage.
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 'Fetch', the resource 'Confluence page', and the method 'by numeric ID or full URL'. It also lists the return fields, distinguishing it from sibling tools like search_confluence or get_space_pages which have different purposes.
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 implies use when you have a specific page ID or URL, but does not explicitly state when not to use or suggest alternatives like search_confluence for querying. It is clear but lacks exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_create_fieldsA
List Jira fields available when creating a ticket, including IDs, names, required flags, schemas, and allowed values.
| Name | Required | Description | Default |
|---|---|---|---|
| issue_type | Yes | ||
| project_key | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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. It states what the tool returns but does not disclose behavioral traits like permission requirements, side effects, or rate limits. The read-only nature is implied but not explicit.
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 concise sentence with no extraneous information. Every part adds meaning, and it is appropriately front-loaded.
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 (two parameters, output schema exists), the description is mostly complete. It explains what the tool returns, and the output schema covers return values. However, it could explicitly mention that the parameters filter the fields for a specific project and issue type.
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%, meaning the description does not explain the parameters. While 'project_key' and 'issue_type' are somewhat self-explanatory, the description only implies they filter fields by project and issue type, adding minimal value beyond the parameter names.
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 lists Jira fields for ticket creation, specifying details like IDs, names, required flags, schemas, and allowed values. This is a specific verb+resource combination that distinguishes it from siblings which deal with pages, repos, tickets, etc.
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 implies usage when creating a ticket, but provides no explicit guidance on when to use this tool versus alternatives or when not to use it. No exclusions or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_space_pagesC
List pages in a Confluence space. Example: space_key='SECENG'
| Name | Required | Description | Default |
|---|---|---|---|
| space_key | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavior. It only mentions listing pages, but omits that it is read-only, whether pagination is supported (max_results exists), or any authentication needs. Output schema exists but the description adds no behavioral 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 extremely short (one sentence + example), which is efficient. However, it sacrifices necessary information for 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 simplicity (2 params, output schema exists), the description is minimally adequate. It lacks details on error handling, space existence, or pagination behavior, but the output schema covers return values.
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%, but the description only hints at space_key via an example. It does not explain the meaning of either parameter or the default of max_results.
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 pages') and the resource ('in a Confluence space') with an example. It is specific but does not explicitly differentiate from sibling tools like 'get_confluence_page' or 'search_confluence', though the verb distinguishes it.
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 on when to use this tool versus alternatives (e.g., search_confluence, get_confluence_page). The description lacks context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ticketA
Fetch a Jira ticket by key (e.g. INFOSEC-2239). Returns standard fields, description, and populated custom fields.
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | ||
| include_noisy_custom_fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool returns standard fields, description, and populated custom fields, which adds behavioral context beyond the schema. However, it does not mention permissions, rate limits, or side effects (though it is clearly read-only).
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, well-structured sentence that front-loads the primary action. Every word adds value, with no redundancy.
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 simple retrieval tool with an output schema present, the description sufficiently covers what the tool does and returns. The existence of sibling tools does not demand additional disambiguation here.
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 coverage is 0%, so description must compensate. It explains issue_key with an example format, but does not describe include_noisy_custom_fields or its effect. The mention of 'populated custom fields' hints at the parameter's purpose but is not explicit about when to set it.
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 'Fetch', the resource 'Jira ticket', and the identifier 'by key (e.g. INFOSEC-2239)'. It distinguishes from search_tickets and get_child_issues which are sibling tools for different purposes.
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 implies usage for retrieving a single ticket by exact key, but does not explicitly state when to use versus alternatives like search_tickets for querying or get_child_issues for subtasks. No when-not-to-use or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_ticketsA
Link two Jira tickets together. Default relationship is 'relates to'. Common types: 'relates to', 'Blocks', 'Duplicate', 'Cloners'.
| Name | Required | Description | Default |
|---|---|---|---|
| link_type | No | relates to | |
| inward_issue | Yes | ||
| outward_issue | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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. It mentions linking but does not disclose side effects (e.g., whether links can be duplicated), permissions needed, or return value behavior.
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?
Two sentences, front-loaded with the core action, no redundant 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?
Despite having an output schema, the description is minimal. It lacks details on issue key format, failure modes, or confirmation of successful linking.
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%. The description adds meaning for link_type (default and common types) but not for inward_issue or outward_issue, leaving those parameters ambiguous.
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 'Link two Jira tickets together' with a specific verb and resource. It distinguishes from sibling tools like create_ticket or update_ticket.
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 indicates when to use (to link tickets) and provides common link types, but does not explicitly state when not to use or compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_bitbucket_branchesA
List Bitbucket Cloud branches for a repository, optionally filtered by name.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| repo_slug | Yes | ||
| workspace | No | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It describes the operation as a read and mentions optional filtering, but does not disclose pagination behavior (max_results), workspace handling, or error conditions. For a simple list tool, this is adequate but not thorough.
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, concise sentence that front-loads the core purpose. While efficient, it could include more detail without becoming verbose.
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 existence of an output schema (not shown), return values may be covered there. The description is complete enough for a straightforward list operation, but lacks parameter documentation and behavioral details, leaving gaps for an agent.
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 explain parameters. It only clarifies that 'query' is used for filtering by name, leaving repo_slug, workspace, and max_results unexplained. This is insufficient for an agent to invoke correctly.
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), resource (Bitbucket Cloud branches for a repository), and optional filter (by name). It distinguishes from sibling tools like list_bitbucket_repos and list_bitbucket_pull_requests, which target different resources.
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 implies you need a repository and can optionally filter by name. However, it does not explicitly state when to use this tool over siblings or when not to use it. The context of sibling tool names provides implicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_bitbucket_pull_requestsC
List Bitbucket Cloud pull requests for a repository.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | OPEN | |
| repo_slug | Yes | ||
| workspace | No | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 'list' without disclosing behavioral traits like pagination, authentication needs, or the fact that results can be filtered by state and max_results.
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 one short sentence, which is efficient for a simple tool. However, it could be structured to front-load key parameters.
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 existence of an output schema, the description is minimally adequate for a simple list operation, but it lacks details about the four parameters and their defaults, leaving gaps for an agent.
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 description adds no meaning beyond the schema. With 0% schema description coverage, it fails to explain what parameters like state, workspace, or max_results do or how they affect the output.
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 identifies the action (list) and resource (Bitbucket Cloud pull requests for a repository). However, it does not explicitly distinguish from siblings like get_bitbucket_pull_request or list_bitbucket_repos.
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 vs alternatives, nor are there any prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_bitbucket_reposC
List Bitbucket Cloud repositories in a workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | ||
| workspace | No | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'list', implying a read operation, but lacks details on pagination, ordering, rate limits, or whether it returns all repos accessible in the workspace. The presence of a 'max_results' parameter hints at pagination, but the description does not confirm or explain it.
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, concise sentence with no wasted words. However, it lacks necessary detail, making it less informative. It is neither overly verbose nor well-structured for helpfulness.
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 0 required parameters but 3 optional ones with no descriptions, and no annotations, the description is insufficient. It does not cover the input parameters, output behavior, or any edge cases. The existence of an output schema is not leveraged.
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 explain each parameter. It does not mention 'workspace', 'role', or 'max_results' at all, leaving their meaning and usage entirely undocumented. This is a critical 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 clearly states the verb 'list' and the resource 'Bitbucket Cloud repositories in a workspace', which is specific. However, it does not explicitly clarify that the 'workspace' parameter is required to scope the listing, leaving slight ambiguity about the scope. It is clear enough to differentiate from sibling tools like search_bitbucket_repos.
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 search_bitbucket_repos or get_bitbucket_repo. There is no mention of use cases, prerequisites, or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_confluence_pageA
Move a Confluence page under a new parent page. Provide the page ID and the target parent page ID.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| target_parent_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only states the intended outcome ('move under a new parent') without covering important details such as side effects (e.g., impact on child pages), required permissions, or whether the operation is reversible. This is insufficient for a mutation tool.
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 that directly conveys the tool's purpose and required inputs. It is front-loaded with the key action and resource, with no extraneous 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 simplicity (two string parameters) and the presence of an output schema, the description provides adequate high-level context. However, it lacks detail on preconditions (e.g., user permissions, page existence), error scenarios, and the effect on the page hierarchy, which would be helpful for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no descriptions for its two parameters (0% schema_description_coverage). The description adds basic semantic meaning by identifying 'page_id' as the page to move and 'target_parent_id' as the new parent. However, it does not elaborate on how to obtain these IDs, any constraints (e.g., page must exist), or format expectations, leaving some ambiguity.
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 explicitly states the action ('move') and the resource ('Confluence page'), and specifies the required inputs. It clearly distinguishes from sibling tools like 'get_confluence_page', 'create_confluence_page', and 'update_confluence_page' which serve different purposes.
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 indicates the tool is for moving a page under a new parent, which implies usage context. However, it does not provide explicit guidance on when to use this tool versus alternatives (e.g., updating page properties), nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_bitbucket_reposC
Search Bitbucket Cloud repositories by slug, name, or description.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| workspace | No | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It fails to mention that the tool is read-only, does not describe pagination behavior, rate limits, or any side effects. The agent cannot infer safety or operational characteristics from this brief description.
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 with no redundant words, but it sacrifices necessary detail for brevity. It could include more behavioral information without becoming overly verbose.
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, no annotations, an output schema (unseen), and sibling search tools, the description is incomplete. It omits details about case sensitivity, partial matching, result format, and practical usage context that would help an agent decide when to invoke it.
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. It adds partial meaning for 'query' by noting it searches across slug, name, and description, but provides no details about 'workspace' (e.g., slug vs. UUID) or 'max_results' (e.g., default and limitation). This leaves significant ambiguity for two of three parameters.
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 ('Search'), the resource ('Bitbucket Cloud repositories'), and the searchable fields ('by slug, name, or description'). This distinguishes it from sibling tools like 'list_bitbucket_repos' (list all) and 'get_bitbucket_repo' (fetch specific repo).
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 does not mention that it should be used for text-based searches, nor does it exclude cases where 'list_bitbucket_repos' or 'get_bitbucket_repo' would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_confluenceB
Search Confluence pages using CQL. Example: 'space = SECENG AND type = page'
| Name | Required | Description | Default |
|---|---|---|---|
| cql | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only states the basic functionality and provides an example, but omits details on pagination, rate limits, error handling, or what the tool does beyond the search itself.
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 very short with one sentence and an example. It front-loads the core purpose. No redundant wording, but it could include slightly more essential information without losing 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?
An output schema exists, so return value descriptions are unnecessary. However, the description lacks context on how max_results affects results, error handling for invalid CQL, or any timeouts. It is adequate for a minimal tool but not fully complete.
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 coverage is 0%, placing the burden on the description. The description gives a CQL example but does not explain the 'cql' parameter syntax or constraints, nor does it describe 'max_results' behavior. The example partially compensates but lacks full semantics.
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 'Search', the resource 'Confluence pages', and the method 'using CQL'. It also provides a concrete example, distinguishing it from sibling search tools like search_bitbucket_repos or search_tickets.
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 such as get_space_pages or other search tools. The CQL example implies usage for specific queries, but no when-not-to-use or prerequisite information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ticketsA
Search Jira tickets using JQL. Example: 'project = INFOSEC AND status = Open'
| Name | Required | Description | Default |
|---|---|---|---|
| jql | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description implies read-only search, but doesn't explicitly state behavioral traits like side effects, rate limits, or safety. Adequate but minimal.
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?
One sentence plus an example, no waste. Information is front-loaded and 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?
Simple search tool with output schema present. Description covers the core action, but could benefit from a bit more context on output or common JQL patterns. Still fairly complete.
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 has 0% description coverage. Description gives one JQL example but doesn't explain max_results or add significant meaning beyond the schema. Poor compensation.
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?
Clearly states 'Search Jira tickets using JQL' with a concrete example, distinguishing it from sibling tools like get_ticket or search_confluence.
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?
Provides clear context (when to search tickets via JQL) but lacks explicit 'when not to use' or alternatives. Example helps, but no exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_confluence_pageC
Update an existing Confluence page's content.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| title | Yes | ||
| page_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only mentions updating content, but does not specify whether it replaces the entire page or merges, nor does it mention permissions or response behavior.
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?
Extremely concise with a single sentence, but it sacrifices necessary detail. It is not verbose, but it could include parameter explanations without being overly long.
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 that there is an output schema (not shown) and three required parameters, the description is too minimal. It does not cover how the parameters relate to the update action or what the output contains.
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%, and the tool description does not explain any of the three parameters (page_id, title, body). The agent receives no additional meaning beyond parameter names.
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 'update', the resource 'Confluence page', and the aspect 'content'. It effectively distinguishes from sibling tools like create_confluence_page and get_confluence_page.
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 on when to use this tool versus alternatives, no prerequisites or context provided. The description only states the action without any situational advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_ticketA
Update a Jira ticket. Can change standard fields, custom_fields, transition status, and/or add a comment.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | ||
| summary | No | ||
| assignee | No | ||
| priority | No | ||
| issue_key | Yes | ||
| transition | No | ||
| description | No | ||
| custom_fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states that fields, transition, and comments can be changed, but does not disclose side effects, permissions, or reversibility. Some behavioral context is 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 sentence that front-loads the core purpose and lists capabilities. Every part earns its place with no waste.
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?
With 8 parameters, 0% schema coverage, no annotations, and an output schema present, the description provides only a high-level overview. It lacks details on return value, parameter formats (e.g., custom_fields), and behaviors beyond listing capabilities.
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 0% description coverage, and the description groups parameters into categories (standard fields, custom_fields, transition, comment) but does not explain individual parameters. This adds some meaning but not detailed semantics.
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 (update) and resource (Jira ticket), and lists the capabilities (standard fields, custom_fields, transition, comment). It distinguishes from siblings like create_ticket and get_ticket.
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 implies usage (updating a ticket) and lists what can be changed, but does not explicitly state when to use vs alternatives like create_ticket or when-not to use. However, the sibling names provide 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.
20 tool updates
v1.4.2- First observed
attach_file - First observed
create_confluence_page - First observed
create_ticket - First observed
get_bitbucket_pull_request - First observed
get_bitbucket_repo - First observed
get_child_issues - First observed
get_confluence_page - First observed
get_create_fields - First observed
get_space_pages - First observed
get_ticket - First observed
link_tickets - First observed
list_bitbucket_branches - First observed
list_bitbucket_pull_requests - First observed
list_bitbucket_repos - First observed
move_confluence_page - First observed
search_bitbucket_repos - First observed
search_confluence - First observed
search_tickets - First observed
update_confluence_page - First observed
update_ticket
TDQS
Each tool targets a distinct resource and action within Confluence, Bitbucket, or Jira. No two tools have overlapping functionality, and the descriptions clearly differentiate their purposes.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_space_pages, create_ticket, list_bitbucket_repos). No mixing of conventions or unclear verbs.
20 tools cover three distinct Atlassian products, which justifies a higher count. While slightly above the ideal 3-15 range, the scope is well-defined and each tool serves a clear purpose.
The tool set covers core CRUD operations for Jira, Confluence, and Bitbucket, along with search and linking. Minor gaps exist, such as missing delete operations and no Bitbucket repo/PR creation, but the most common workflows are supported.
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
A MCP server built for developers enabling Git based project management with project and personal…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceLocal MCP server for AI agents that enables Jira issue management, Confluence Wiki page creation and editing, Git commit analysis, and diagram generation.-
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol (MCP) server that connects AI assistants to Jira and Confluence, enabling search, create, update, and comment operations with rich Markdown-to-ADF conversion.452MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for Atlassian Confluence and Jira, enabling AI assistants to search, create, and update issues and pages via natural language.MIT
- AlicenseNot gradedqualityAmaintenanceMCP servers for self-hosted Atlassian Data Center (Jira, Confluence, Bitbucket) enabling AI assistants to search, manage, and interact with issues, pages, and pull requests.3MIT
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/db3net/db3-atlassian-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server