Skip to main content
Glama
README.md
# Rally MCP Server 

A [Model Context Protocol](https://modelcontextprotocol.io/) server that lets AI assistants interact with Rally (CA Agile Central).

## Available Tools

| Tool | Description |
|---|---|
| `get_work_item` | Retrieve a Rally work item by FormattedID (US, DE, TA, TC, DS) |

## Setup

### 1. Install dependencies

```bash
cd rally-mcp-server
python -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate
pip install -r requirements.txt
```

### 2. Configure credentials

Copy `.env.example` to `.env` and fill in your Rally credentials:

```bash
cp .env.example .env
```

```env
RALLY_BASE_URL=https://rally1.rallydev.com
RALLY_USERNAME=you@company.com
RALLY_PASSWORD=your-password
```

### 3. Run the server

```bash
python rally_mcp/main.py
```

## Integration with Cursor / Claude Desktop

Add to your `~/.cursor/mcp.json` (or `claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "rally": {
      "command": "/full/path/to/rally-mcp-server/venv/bin/python",
      "args": ["/full/path/to/rally-mcp-server/rally_mcp/main.py"]
    }
  }
}
```

## Authentication

Uses **HTTP Basic Authentication** — your Rally username (email) and password are Base64-encoded and sent in the `Authorization` header on every request. Credentials are loaded from the `.env` file and never hard-coded.

## Supported FormattedID Prefixes

| Prefix | Artifact Type |
|---|---|
| `US` | User Story (HierarchicalRequirement) |
| `DE` | Defect |
| `TA` | Task |
| `TC` | Test Case |
| `DS` | Defect Suite |