Metadata-Version: 2.5
Name: summitai-mcp
Version: 0.1.0
Summary: MCP server for SymphonyAI SummitAI/Apex ITSM platform — Incident, Service Request, CMDB, Problem, Change, Work Order, Attachments, and User management
Project-URL: Homepage, https://github.com/your-org/summitai-mcp
Project-URL: Documentation, https://github.com/your-org/summitai-mcp#readme
Project-URL: Bug Tracker, https://github.com/your-org/summitai-mcp/issues
Author: Symphony Team
License: MIT
License-File: LICENSE
Keywords: apex,cmdb,incident-management,itsm,mcp,service-request,summitai,symphonyai
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27.0
Requires-Dist: mcp<2.0.0,>=1.0.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: pydantic>=2.0.0
Description-Content-Type: text/markdown

# summitai-mcp

**MCP Server for SymphonyAI SummitAI/Apex ITSM**

Connect any MCP-compatible AI assistant (Claude, Cursor, Antigravity, etc.) directly to your SymphonyAI SummitAI instance. Create tickets, search records, manage CIs, approve requests — all through natural language.

---

## Quick Start

### Option 1: Run directly with uvx (no install needed)
```json
{
  "mcpServers": {
    "summitai": {
      "command": "uvx",
      "args": ["summitai-mcp"],
      "env": {
        "SUMMITAI_BASE_URL": "https://your-instance.symphonysummit.com",
        "SUMMITAI_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

### Option 2: Install then run
```bash
pip install summitai-mcp
summitai-mcp
```

---

## Configuration (Environment Variables)

| Variable | Required | Description |
|---|---|---|
| `SUMMITAI_BASE_URL` | ✅ Yes | Your SummitAI instance URL, e.g. `https://yourcompany.symphonysummit.com` |
| `SUMMITAI_API_KEY` | ✅ Recommended | API key from **Admin → Users → [your user] → Access tab → Login Type = API Key** |
| `SUMMITAI_USERNAME` | Alt | Username — use if API key not available |
| `SUMMITAI_PASSWORD` | Alt | Password — paired with USERNAME |
| `SUMMITAI_ORG_ID` | No | Tenant/Org ID (default: `1`) |
| `SUMMITAI_PROXY_ID` | No | Proxy ID (default: `0`) |
| `SUMMITAI_LOG_LEVEL` | No | `DEBUG`, `INFO`, `WARNING` (default: `WARNING`) |

> **Note**: Set `SUMMITAI_API_KEY` **or** both `SUMMITAI_USERNAME` + `SUMMITAI_PASSWORD`. API Key is the recommended auth method since SummitAI Sierra HF01+.

---

## Tools Reference

### 🔴 Incident Management
| Tool | Description |
|---|---|
| `create_incident` | Log a new Incident (New status) |
| `update_incident` | Update status, assign, resolve, or close an Incident |
| `get_incident` | Get full Incident details + change history |
| `list_incidents` | Search/filter Incidents by status, workgroup, date range |

### 🟡 Service Request
| Tool | Description |
|---|---|
| `create_service_request` | Create SR from a Service Catalog item |
| `update_service_request` | Update SR status, assignment, or remarks |
| `get_service_request` | Get SR details + change history |
| `list_service_requests` | Search/filter SRs |
| `get_service_catalog` | Get catalog item details and custom fields |
| `approve_service_request` | Approve or reject an SR |
| `get_my_service_requests` | Get all SRs for a specific user |

### 🟢 CMDB
| Tool | Description |
|---|---|
| `create_or_update_ci` | Create or update a Configuration Item |
| `get_ci` | Search and retrieve CI details |
| `link_ci_relation` | Create relationships between CIs |
| `get_cmdb_masters` | Get CI types, statuses, locations lookup data |

### 🟠 Problem Management
| Tool | Description |
|---|---|
| `create_or_update_problem` | Create or update a Problem Record |
| `get_problem` | Get Problem Record details |

### 🔵 Change Management
| Tool | Description |
|---|---|
| `create_or_update_change` | Create or update a Change Record |
| `get_change_record` | Get Change Record details |

### ⚙️ Work Orders
| Tool | Description |
|---|---|
| `create_work_order` | Create a Work Order for an IM or SR ticket |
| `get_work_order` | Get Work Order details |

### 📎 Attachments
| Tool | Description |
|---|---|
| `upload_attachment` | Attach a file (base64) to any ITSM record |

### 👤 Users & Admin
| Tool | Description |
|---|---|
| `search_users` | Search users by email, employee ID, or name |
| `create_or_update_user` | Create or update a user account |

---

## Setup for Claude Desktop

Edit `%APPDATA%\Claude\claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "summitai": {
      "command": "uvx",
      "args": ["summitai-mcp"],
      "env": {
        "SUMMITAI_BASE_URL": "https://your-instance.symphonysummit.com",
        "SUMMITAI_API_KEY": "your-api-key"
      }
    }
  }
}
```

## Setup for Antigravity (AGY)

Edit your MCP config:

```json
{
  "mcpServers": {
    "summitai": {
      "command": "uvx",
      "args": ["summitai-mcp"],
      "env": {
        "SUMMITAI_BASE_URL": "https://your-instance.symphonysummit.com",
        "SUMMITAI_API_KEY": "your-api-key"
      }
    }
  }
}
```

---

## How to Get Your API Key

1. Log into your SummitAI/Apex instance as Admin
2. Go to **Admin → Basic → Users**
3. Find your user → click **Access** tab
4. Set **Login Type** to **API Key**
5. Copy the generated key

---

## API Reference

All tools connect to the single SummitAI REST endpoint:
```
POST {SUMMITAI_BASE_URL}/REST/Summit_RESTWCF.svc/RESTService/CommonWS_JsonObjCall
```

Each tool sets the `ServiceName` field to route to the correct operation. Authentication is injected automatically from your environment variables.

---

## Development

```bash
# Clone and install dev dependencies
git clone https://github.com/your-org/summitai-mcp
cd summitai-mcp
uv sync

# Test with MCP Inspector (visual tool tester)
uv run mcp dev src/summitai_mcp/server.py

# Run tests
uv run pytest tests/
```

---

## Publishing to PyPI

```bash
uv build
uvx twine upload dist/*
```

---

## License

MIT
