# Available Tools & Functions

## Paste Operations

### `get_paste`
Retrieve a paste by its ID.
- **Auth Required:** Only for private pastes
- **Parameters:** `id` (string)
- **Returns:** Paste details, code snippets, metadata

### `create_paste`
Create a new paste on PasteMyst.
- **Auth Required:** For private/tagged pastes
- **Parameters:**
  - `title` (optional) - Paste title
  - `expiresIn` (optional) - never, 1h, 2h, 10h, 1d, 2d, 1w, 1m, 1y
  - `isPrivate` (optional) - Boolean
  - `isPublic` (optional) - Display on profile
  - `tags` (optional) - Array of strings
  - `pasties` (required) - Array of code snippets
- **Returns:** Paste ID and URL

### `edit_paste`
Edit an existing paste.
- **Auth Required:** Yes
- **Parameters:**
  - `id` (required) - Paste ID
  - `title` (optional) - New title
  - `isPrivate` (optional) - Update privacy
  - `isPublic` (optional) - Update profile visibility
  - `tags` (optional) - Update tags
  - `pasties` (optional) - Complete array of updated pasties
- **Returns:** Success confirmation

### `delete_paste`
Permanently delete a paste.
- **Auth Required:** Yes
- **Parameters:** `id` (string)
- **Returns:** Confirmation
- **Warning:** Irreversible!

## User Operations

### `get_current_user`
Get your own profile information.
- **Auth Required:** Yes
- **Returns:** Username, ID, stats, badges

### `get_user_pastes`
List all your paste IDs.
- **Auth Required:** Yes
- **Returns:** Array of paste URLs

### `get_user`
Get a user's public profile.
- **Auth Required:** No
- **Parameters:** `username` (string)
- **Returns:** Public profile data

### `check_user_exists`
Check if a username exists.
- **Auth Required:** No
- **Parameters:** `username` (string)
- **Returns:** Boolean

## Data & Utility Operations

### `get_language_by_name`
Get programming language info by name.
- **Auth Required:** No
- **Parameters:** `name` (e.g., "Python", "JavaScript")
- **Returns:** Mode, MIME types, extensions, color

### `get_language_by_extension`
Identify language from file extension.
- **Auth Required:** No
- **Parameters:** `extension` (e.g., "py", "js", "ts")
- **Returns:** Language information

### `convert_expires_in_to_unix_time`
Convert expiry duration to timestamp.
- **Auth Required:** No
- **Parameters:**
  - `createdAt` - Unix timestamp
  - `expiresIn` - Duration string
- **Returns:** Expiry timestamp and date