# 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