codebeamer-mcp
The codebeamer-mcp server provides an MCP interface for natural language interaction with Codebeamer ALM, enabling you to manage projects, trackers, and work items via Claude and other MCP clients (Claude Desktop, Cursor, Windsurf, VS Code Copilot, Gemini CLI).
Read Operations
List/retrieve projects, trackers, and work items (with pagination)
Get tracker details including field schema, statuses, and priorities
Search items via full-text or structured cbQL queries (filter by status, priority, assignee, date, etc.)
Get item details: custom fields, status, priority, assignees
Get item relations (associations), traceability references (upstream/downstream), and comments
Look up user profiles
Write Operations
Create items – with support for folders, item types, parent nesting, assignees, status, priority, story points, and descriptions
Update items – modify name, description, status, priority, assignees, and story points
Add comments – in plain text or wiki markup
Create associations – link items with typed relations (e.g., depends on, blocks, related to)
Create traceability references – add downstream references between items
Create harm entries – specialized creation in RM Harms List trackers with IMDRF codes and severity ratings (1–5)
Supports integration with Codeium's Windsurf editor through MCP configuration, allowing developers to access Codebeamer ALM data directly within their development environment for requirements management and traceability.
codebeamer-mcp
An MCP (Model Context Protocol) server for Codebeamer ALM. Allows Claude and other MCP clients to read and write projects, trackers, and items in Codebeamer using natural language.
Tools (19)
Read
Tool | Description |
| List all projects |
| Get project details |
| List trackers in a project |
| Get tracker details |
| List items in a tracker |
| Full-text / cbQL search |
| Get item summary: ID, name, tracker, status and description. Lightweight — use when you only need to identify the item and read its content |
| Get full structured detail of an item: project, priority, assignees, timestamps, story points, custom fields and test steps. Description omitted — fetch it via |
| Get outgoing/incoming associations (depends on, blocks, …) |
| Get upstream/downstream traceability references (derived from, covers, …) |
| Get item comments |
| Get Review Hub reviews for an item (result, reviewers, votes) |
| Get user details |
Write
Tool | Description |
| Create a new item in a tracker. Supports folders, item type, and parent nesting |
| Update an existing item (name, description, status, priority, assignee, custom fields) |
| Add a comment to an item |
| Create an association between two items (e.g. depends on, blocks) |
| Add a downstream traceability reference between two items |
| Create a harm entry in an RM Harms List tracker with IMDRF code and severity (1–5) |
Related MCP server: Redmine MCP Server
Installation
Requirements
Node.js 20+
Access to a Codebeamer instance (URL, username, password)
Claude Code (CLI)
The fastest way — run this command in your terminal:
claude mcp add codebeamer -e CB_URL=https://your-instance.example.com/cb/api \
-e CB_USERNAME=your_username -e CB_PASSWORD=your_password \
-- npx -y codebeamer-mcpOr add it manually to .mcp.json in the project root (or ~/.claude/mcp.json for global scope):
{
"mcpServers": {
"codebeamer": {
"type": "stdio",
"command": "npx",
"args": ["-y", "codebeamer-mcp"],
"env": {
"CB_URL": "https://your-instance.example.com/cb/api",
"CB_USERNAME": "your_username",
"CB_PASSWORD": "your_password"
}
}
}
}Claude Desktop
Edit the config file for your platform:
Platform | Path |
macOS |
|
Windows |
|
Linux |
|
{
"mcpServers": {
"codebeamer": {
"command": "npx",
"args": ["-y", "codebeamer-mcp"],
"env": {
"CB_URL": "https://your-instance.example.com/cb/api",
"CB_USERNAME": "your_username",
"CB_PASSWORD": "your_password"
}
}
}
}Restart Claude Desktop after saving.
Cursor
Add to .cursor/mcp.json in the project root (project scope) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"codebeamer": {
"command": "npx",
"args": ["-y", "codebeamer-mcp"],
"env": {
"CB_URL": "https://your-instance.example.com/cb/api",
"CB_USERNAME": "your_username",
"CB_PASSWORD": "your_password"
}
}
}
}Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"codebeamer": {
"command": "npx",
"args": ["-y", "codebeamer-mcp"],
"env": {
"CB_URL": "https://your-instance.example.com/cb/api",
"CB_USERNAME": "your_username",
"CB_PASSWORD": "your_password"
}
}
}
}VS Code (Copilot)
Add to .vscode/mcp.json in the project root:
{
"servers": {
"codebeamer": {
"type": "stdio",
"command": "npx",
"args": ["-y", "codebeamer-mcp"],
"env": {
"CB_URL": "https://your-instance.example.com/cb/api",
"CB_USERNAME": "your_username",
"CB_PASSWORD": "your_password"
}
}
}
}Gemini CLI
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"codebeamer": {
"command": "npx",
"args": ["-y", "codebeamer-mcp"],
"env": {
"CB_URL": "https://your-instance.example.com/cb/api",
"CB_USERNAME": "your_username",
"CB_PASSWORD": "your_password"
}
}
}
}Alternative: global install
npm install -g codebeamer-mcpThen use "command": "codebeamer-mcp" (no args) instead of npx in any config above.
Pinning a specific version
"args": ["-y", "codebeamer-mcp@0.2.0"]Updates
Method | Update behavior |
| Always fetches the latest version |
| Stays on installed version. Run |
Pinned version ( | Never auto-updates; change the version string manually |
⚠️ Never commit
.mcp.jsonwith real credentials — it is listed in.gitignore.
From source (development)
git clone https://github.com/3KniGHtcZ/codebeamer-mcp.git
cd codebeamer-mcp
npm install
npm run buildThen use "command": "node" with "args": ["dist/index.js"] in your .mcp.json.
Development & Testing
# Run tests (no real Codebeamer instance needed)
npm test
# Start the mock API server (port 3001)
node mock-server.mjs
# Interactive testing via MCP Inspector
CB_URL=http://localhost:3001 CB_USERNAME=mock CB_PASSWORD=mock \
npx @modelcontextprotocol/inspector node dist/index.jsConfiguration
Variable | Description | Default |
| Codebeamer API URL, e.g. | (required) |
| Login username | (required) |
| Password | (required) |
| Set to |
|
| API version |
|
| Request timeout (ms) |
|
| Max items per page |
|
Available Tools
19 toolsadd_commentAdd CommentA
Add a comment to a Codebeamer work item. Supports plain text and wiki markup formats. Returns the created comment.
Inputs: itemId (required), comment (required), format.
create_associationCreate AssociationA
Create an association (link) between two Codebeamer work items. Common association types: 'depends on', 'blocks', 'related to', 'derived from'. Use get_item_relations on an existing item to discover valid association type IDs.
Inputs: fromItemId (required), toItemId (required), typeId (required), description.
create_harmCreate HarmA
Create a new item in a Codebeamer RM Harms List tracker. Supports setting the IMDRF code (text) and Severity (integer 1–5). Use list_trackers to find the Harms List tracker ID for your project.
Inputs: trackerId (required), name (required), description, imdrfCode, +2 more.
create_itemCreate ItemA
Create a new work item in a Codebeamer tracker. Use get_tracker to discover available fields, statuses, and priorities. Returns the created item with all fields.
Inputs: trackerId (required), name (required), description, statusId, +6 more.
create_referenceCreate Downstream ReferenceA
Add a downstream reference from one Codebeamer item to another. Downstream references represent derivation/traceability links (e.g. a requirement derived from another). The 'from' item gets the downstream reference pointing to the 'to' item.
Inputs: fromItemId (required), toItemId (required).
get_itemGet ItemA
Get a lightweight summary of a Codebeamer work item: ID, name, tracker, status and description. Use this when you only need to identify the item and read its description. For priority, assignees, dates, story points, custom fields and test steps, call get_item_details.
Inputs: itemId (required).
get_item_commentsGet Item CommentsA
Get all comments (discussion thread) for a Codebeamer item.
Inputs: itemId (required).
get_item_detailsGet Item DetailsA
Get the full structured detail of a Codebeamer work item: project, priority, assignees, created/updated timestamps, story points, custom fields and test steps. Description is intentionally omitted — fetch it via get_item.
Inputs: itemId (required).
get_item_referencesGet Item ReferencesA
Get upstream and downstream traceability references for a Codebeamer item. Upstream references point to items this one is derived from (e.g. requirements). Downstream references point to items derived from this one (e.g. test cases).
Inputs: itemId (required).
get_item_relationsGet Item RelationsB
Get all relations (associations) for a Codebeamer item. Shows incoming and outgoing links like 'depends on', 'blocks', 'derived from', etc.
Inputs: itemId (required).
get_item_reviewsGet Item ReviewsA
Get all Review Hub reviews for a Codebeamer tracker item. Shows the overall review result (APPROVED/REJECTED/UNDECIDED), individual reviewer votes, and review configuration (required approvals/rejections).
Inputs: itemId (required).
get_projectGet ProjectA
Get full details for a single Codebeamer project by its numeric ID.
Inputs: projectId (required).
get_trackerGet TrackerA
Get details of a Codebeamer tracker including its field schema. The field list shows what fields are available for items in this tracker, useful for constructing cbQL queries.
Inputs: trackerId (required).
get_userGet UserA
Get profile details for a Codebeamer user by their numeric ID. User IDs appear in item fields like assignedTo and createdBy.
Inputs: userId (required).
list_projectsList ProjectsA
List all Codebeamer projects the authenticated user can access. Returns a summary table with project IDs, names, and keys. Use the returned IDs to fetch trackers or items.
Inputs: page, pageSize.
list_tracker_itemsList Tracker ItemsA
List all items in a specific Codebeamer tracker with pagination. Returns a table with item IDs, summaries, statuses, and priorities.
Inputs: trackerId (required), page, pageSize.
list_trackersList TrackersA
List all trackers (Requirements, Bugs, Test Cases, etc.) in a Codebeamer project. Use the returned tracker IDs to list items or get tracker details.
Inputs: projectId (required), page, pageSize.
search_itemsSearch Items (cbQL)A
Search Codebeamer items using cbQL query language. Examples: 'tracker.id IN (42) AND status.name = "Open"', 'summary LIKE "login bug"', 'priority.name = "High" AND assignedTo.name = "john.doe"', 'project.id IN (1) AND modifiedAt >= -1w'. Use get_tracker to see available fields for a tracker.
Inputs: query (required), page, pageSize.
update_itemUpdate ItemA
Update fields on an existing Codebeamer work item. Only provide the fields you want to change. Returns the updated item with all fields.
Inputs: itemId (required), name, description, statusId, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 19 tools
Each tool targets a distinct operation (e.g., get_item vs get_item_details vs get_item_comments), with clear descriptions preventing confusion. No overlapping purposes.
All tool names follow a consistent verb_noun snake_case pattern (e.g., create_item, get_item_comments, list_projects). No deviations or mixed conventions.
19 tools cover a broad ALM domain comprehensively, though slightly above the typical sweet spot. Each tool has a clear purpose, but the set could be streamlined slightly without loss.
Covers CRUD for items, associations, references, comments, reviews, and metadata. Missing delete operations (e.g., delete_item, delete_association) and update for associations/comments, leaving minor but noticeable gaps.
Maintenance
Related MCP Connectors
Official Fibery MCP server: query and update your workspace from any AI client via OAuth.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseAqualityBmaintenanceA Model Context Protocol (MCP) server for Polarion ALM. Lets AI assistants read documents, work items, and traceability links — and create, update, and reorganize work items — directly from your Polarion instance.46226 PyPI17MIT
- AlicenseCqualityDmaintenanceModel Context Protocol (MCP) server for Redmine that provides comprehensive access to the Redmine REST API, enabling users to operate Redmine from MCP clients such as Claude Desktop.9014 npmMIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that lets Claude and any other MCP-compatible client work with an OpenText AppWorks Platform tenant in plain English.MIT
- AlicenseCqualityBmaintenanceModel Context Protocol (MCP) server for Redmine that provides comprehensive access to the Redmine REST API. It allows you to operate Redmine from MCP clients such as Claude Desktop.901,256 npm30MIT