IT Asset Tracker MCP Server
README.md
# IT Asset Tracker MCP Server
An MCP (Model Context Protocol) server that connects Claude Desktop to the IT Asset Tracker backend, giving Claude access to 70+ tools for managing assets, users, requests, and reports.
## What it does
Lets you talk to your IT management system in plain English through Claude Desktop. For example:
- "Show me all pending electronics requests"
- "List all assets assigned to a user"
- "Give me a summary report of all assets"
- "Approve the laptop request from John"
## Project structure
```
itassettracker/
├── server.py # MCP server entry point
├── openapi_tools.py # Auto-generates tools from the backend's OpenAPI schema
├── requirements.txt # Python dependencies
├── .env # Your credentials (not committed)
└── .env.template # Template showing what goes in .env
```
## Setup
### 1. Prerequisites
- Python 3.10 or higher
- Claude Desktop installed
### 2. Install dependencies
```bash
pip install -r requirements.txt
```
### 3. Configure credentials
Copy `.env.template` to `.env` and fill in your details:
```bash
cp .env.template .env
```
Edit `.env`:
```
BACKEND_BASE_URL=https://qk1ytdyqxb.execute-api.us-east-1.amazonaws.com
BACKEND_EMAIL=your_email@company.com
BACKEND_PASSWORD=your_password
```
Or if you prefer to use a bearer token directly:
```
BACKEND_BASE_URL=https://qk1ytdyqxb.execute-api.us-east-1.amazonaws.com
BACKEND_ACCESS_TOKEN=your_jwt_token_here
```
### 4. Test the server
```bash
python server.py
```
You should see:
```
BASE_URL = https://qk1ytdyqxb.execute-api.us-east-1.amazonaws.com
TOKEN EXISTS = True
INFO: Loaded 70 tools from .../openapi.json
```
### 5. Connect to Claude Desktop
Add this to your Claude Desktop config file:
**Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"it-asset-tracker": {
"command": "python",
"args": ["/full/path/to/server.py"],
"env": {
"BACKEND_BASE_URL": "https://qk1ytdyqxb.execute-api.us-east-1.amazonaws.com",
"BACKEND_ACCESS_TOKEN": ""
}
}
}
}
```
Quit and relaunch Claude Desktop. You should see a 🔨 hammer icon in the chat input.
## Authentication
The server supports three auth methods (in order of priority):
1. **Bearer token in `.env`** — set `BACKEND_ACCESS_TOKEN`
2. **Email + password in `.env`** — set `BACKEND_EMAIL` and `BACKEND_PASSWORD`, server auto-logs in on startup
3. **Set token at runtime** — tell Claude: *"Set auth token to eyJhbGci..."*
Tokens expire after ~24 hours. Using email + password in `.env` is recommended so login happens automatically.
## How it works
On startup, the server fetches the backend's OpenAPI schema and automatically generates an MCP tool for every API endpoint. No manual tool definitions needed — adding a new endpoint to the backend automatically makes it available to Claude.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues