Skip to main content
Glama
idan19933

Clarity PPM MCP Server

by idan19933
README.md
# Clarity PPM MCP Server

A Model Context Protocol (MCP) server for CA Clarity PPM that enables AI assistants to interact with your Clarity PPM system through a standardized interface.

## Features

### šŸ” Discovery Tools
- **clarity_list_objects** - Discover all available object types (standard and custom)
- **clarity_describe_object** - Get detailed metadata about any object
- **clarity_get_lookup_values** - Retrieve dropdown/lookup values
- **clarity_search_metadata** - Search objects and fields by name (supports Hebrew!)

### šŸ“‹ CRUD Operations
- **clarity_list_records** - List records with smart filtering and pagination
- **clarity_get_record** - Get a single record with all details
- **clarity_count_records** - Count records matching criteria
- **clarity_get_children** - Get child records (e.g., tasks under a project)
- **clarity_create_record** - Create new records
- **clarity_update_record** - Update existing records
- **clarity_delete_record** - Delete records

### šŸ“Š Analytics
- **clarity_get_distribution** - Get distribution data for visualizations

### šŸ”— Deep Linking
- All records include direct links to open in Clarity UI
- Supports projects, tasks, resources, ideas, and custom objects

## Quick Start

### 1. Install Dependencies

```bash
npm install
```

### 2. Configure Environment

Copy `.env.example` to `.env` and configure:

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

Edit `.env`:
```
CLARITY_BASE_URL=https://your-clarity.com
CLARITY_USERNAME=your_username
CLARITY_PASSWORD=your_password
```

### 3. Build

```bash
npm run build
```

### 4. Run

**stdio mode (for Claude Desktop, etc.):**
```bash
npm start
```

**HTTP mode (for web integrations):**
```bash
TRANSPORT=http npm start
```

## Configuration for Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "clarity-ppm": {
      "command": "node",
      "args": ["/path/to/clarity-ppm-mcp-server/dist/index.js"],
      "env": {
        "CLARITY_BASE_URL": "https://your-clarity.com",
        "CLARITY_USERNAME": "your_username",
        "CLARITY_PASSWORD": "your_password"
      }
    }
  }
}
```

## Example Usage

Once connected, you can ask Claude:

- "What objects are available in Clarity?"
- "Show me all active projects"
- "How many tasks are in project 5001?"
- "Create a new task called 'Review Requirements' under project 5001"
- "What's the status distribution of all projects?"
- "Show me custom objects"
- "Find fields related to budget"

## Architecture

```
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│                    MCP Client                           │
│              (Claude, VS Code, etc.)                    │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                          │
                          │ MCP Protocol
                          ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│              Clarity PPM MCP Server                     │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│  Tools        │  Resources     │  Services              │
│  ─────────    │  ──────────    │  ────────              │
│  - Discovery  │  - Metadata    │  - ClarityApiClient    │
│  - Records    │  - Context     │  - MetadataService     │
│  - Analytics  │  - Links       │  - LookupService       │
│  - Workflow   │                │  - LinkGenerator       │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                          │
                          │ REST API
                          ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│                 CA Clarity PPM                          │
│        (SaaS / On-Premise / Hybrid)                     │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
```

## Supported Clarity Versions

- Clarity PPM 15.x and above
- Works with SaaS, On-Premise, and Hybrid deployments

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Run in development (with auto-reload)
npm run dev

# Run tests
npm test
```

## License

MIT

## Contributing

Contributions welcome! Please read the contributing guidelines first.

Maintenance

ActivityInactive
ResponsivenessNo issues