net.vybit/mcp-server
Push notifications with personalized sounds - manage and trigger your vybits via MCP
★ 0No licenseother
Install
Config snippet generator goes here (5 client tabs)
README
# Vybit SDK
Official TypeScript/JavaScript SDKs for integrating with the Vybit notification platform.
[Vybit](https://www.vybit.net) is a push notification service with personalized sounds that can be recorded or chosen from a library of thousands of searchable sounds (via [freesound.org](https://freesound.org)).
[](https://www.npmjs.com/package/@vybit/api-sdk)
[](https://www.npmjs.com/package/@vybit/oauth2-sdk)
[](https://www.npmjs.com/package/@vybit/cli)
[](https://www.npmjs.com/package/@vybit/mcp-server)
[](https://www.npmjs.com/package/@vybit/n8n-nodes-vybit)
[](https://opensource.org/licenses/MIT)
## Overview
Vybit provides multiple integration options for different use cases:
| Package | Use Case | Authentication | Best For |
|---------|----------|----------------|----------|
| **[@vybit/api-sdk](./packages/api)** | Backend/automation | API Key or OAuth2 Token | Server-to-server integrations, automation, monitoring systems |
| **[@vybit/oauth2-sdk](./packages/oauth2)** | User-facing applications | OAuth 2.0 (user authorization) | Web apps where users connect their Vybit accounts (auth flow only) |
| **[@vybit/cli](./packages/cli)** | Command line | API Key | Shell scripting, CI/CD, agent tooling, quick operations |
| **[@vybit/mcp-server](./packages/mcp-server)** | AI assistants | API Key or OAuth2 Token | Claude Desktop, Claude Code, and other MCP-compatible AI tools |
| **[@vybit/n8n-nodes-vybit](./packages/n8n-nodes)** | Workflow automation | API Key or OAuth2 | n8n workflows, no-code/low-code automation, integration platforms |
All packages share common utilities from **[@vybit/core](./packages/core)**.
---
## Developer API SDK
**For backend services, automation, and server-to-server integrations**
### Installation
```bash
npm install @vybit/api-sdk
```
### Getting Started
1. **Get Your API Key**
- Sign up at [developer.vybit.net](https://developer.vybit.net)
- Navigate to the Developer API section
- Copy your API key
2. **Initialize the Client**
```typescript
import { VybitAPIClient } from '@vybit/api-sdk';
// With API key
const client = new VybitAPIClient({
apiKey: 'your-api-key-from-developer-portal'
});
// Or with an OAuth2 access token
const client = new VybitAPIClient({
accessToken: 'your-oauth2-access-token'
});
```
### Common Operations
#### Create and Manage Vybits
```typescript
// Create a vybit (only name is required)
const vybit = await client.createVybit({
name: 'Server Alert'
});
// List vybits with search and pagination
const vybits = await client.listVybits({
search: 'alert',
limit: 10,
offset: 0
});
// Get a specific vybit
const details = await client.getVybit('vybit-id');
// Update a vybit
await client.updateVybit('vybit-id', {
name: 'Updated Server Alert',
status: 'on'
});
// Delete a vybit
await client.deleteVybit('vybit-id');
```
#### Trigger Notifications
```typescript
// Simple trigger
await client.triggerVybit('vybit-key');
// Trigger with custom content
await client.triggerVybit('vybit-key', {
message: 'Server CPU usage at 95%',
imageUrl: 'https://example.com/graph.png', // Must be a direct link to a JPG, PNG, or GIF image
linkUrl: 'https://dashboard.example.com',
log: 'CPU spike detected on web-server-01'
});
```
#### Manage Sounds
```typescript
// List available sounds
const sounds = await client.listSounds({
search: 'alert',
limit: 20
});
// Get sound details
const sound = await client.getSound('sound-key');
```
#### Discover and Subscribe to Public Vybits
```typescript
// Browse public vybits (returns PublicVybit[])
const publicVybits = await client.listPublicVybits({
search: 'weather',
limit: 10
});
// Get details about a public vybit before subscribing
const vybitDetails = await client.getPublicVybit('subscription-key-abc123');
// Subscribe to a public vybit using its subscription key
const follow = await client.createVybitFollow({
subscriptionKey: vybitDetails.key
});
// List your subscriptions
const subscriptions = await client.listVybitFollows();
// Unsubscribe from a vybit
await client.deleteVybitFollow(follow.followingKey);
```
#### Monitor Usage
```typescript
// Get current usage and limits
const meter = await client.getMeter();
console.log(`Daily: ${meter.count_daily} / ${meter.cap_daily}`);
console.log(`Monthly: ${meter.count_monthly} / ${meter.cap_monthly}`);
console.log(`Tier: ${meter.tier_id}`);
```
### API Reference
- **📖 Interactive Documentation**: [developer.vybit.net/api-reference](https://developer.vybit.net/api-reference)
- **📋 OpenAPI Spec**: [docs/openapi/developer-api.yaml](.