open-index/open-npm huggingface dataset:
npm package: @msghub/mcp-docs
Description: MCP server for MSGHUB docs (search + fetch markdown).
Latest version: 0.1.2

# @msghub/mcp-docs

MCP server that lets an AI client **search and fetch MSGHUB documentation**.

✅ **Default behavior**: pulls docs from the live site **`https://docs.msghub.dev`** (no local folders needed).

## What it provides

- `docs_list` — list all docs pages (id/title/url)
- `docs_search` — keyword search across docs
- `docs_get` — fetch a docs page by id + return extracted plain text (+ headings when available)

## Run locally

From the repo root:

```bash
pnpm install
pnpm --filter @msghub/mcp-docs dev
```

## Configure your MCP client

### Cursor example

If you publish `@msghub/mcp-docs` to npm, you can run it with `npx` (no pnpm):

```json
{
  "command": "npx",
  "args": ["-y", "@msghub/mcp-docs"]
}
```
npm package: @msgmorph/better-auth-plugin
Description: Better Auth plugin for MsgMorph - auto-creates contacts on user signup
Author: MsgMorph
Latest version: 0.1.6

# @msgmorph/better-auth-plugin

Better Auth plugin for MsgMorph. Automatically creates contacts when users sign up.

## Installation

```bash
npm install @msgmorph/better-auth-plugin
```

## Setup

Add the plugin to your Better Auth configuration:

```typescript
// auth.ts
import { betterAuth } from "better-auth";
import { msgMorphPlugin } from "@msgmorph/better-auth-plugin";

export const auth = betterAuth({
  // ... your config
  plugins: [
    msgMorphPlugin({
      apiKey: process.env.MSGMORPH_API_KEY!,
      organizationId: process.env.MSGMORPH_ORGANIZATION_ID!,
      projectId: process.env.MSGMORPH_PROJECT_ID!,
    }),
  ],
});
```

## Configuration

| Option           | Type     | Required | Description                      |
| ---------------- | -------- | -------- | -------------------------------- |
| `apiKey`         | `string` | Yes      | Your MsgMorph API key            |
| `organizationId` | `string` | Yes      | Your MsgMorph organization ID    |
| `projectId`      | `string` | Yes      | Project ID to create contacts in |

## Environment Variables

```bash
MSGMORPH_API_KEY=your-api-key
MSGMORPH_ORGANIZATION_ID=your-org-id
MSGMORPH_PROJECT_ID=your-project-id
```

## How It Works

The plugin hooks into Better Auth's signup flow:

1. User signs up via email or OAuth
2. After successful signup, plugin creates a contact in MsgMorph
3. Contact is linked via `externalId` (user's auth ID)

## Documentation

For more docs, check [docs.msgmorph.com](https://docs.msgmorph.com).

## License

MIT
npm package: @msgmorph/react-native
Description: MsgMorph React Native SDK - Native feedback widget and live chat for React Native apps
Author: MsgMorph
Latest version: 0.1.0

# MsgMorph React Native SDK

Official React Native SDK for [MsgMorph](https://msgmorph.com) - Native feedback widget and live chat for React Native apps.

## Quickstart

For installation instructions and usage guide, please visit our **[Documentation](https://docs.msgmorph.com)**.

## Issues

If you encounter any bugs or have feature requests, please file an issue on our [GitHub Issue Tracker](https://github.com/MHamzaAhmad/react-native-msgmorph/issues).
npm package: @msgmorph/ts-sdk
Description: Official TypeScript SDK for MsgMorph
Author: MsgMorph
Latest version: 0.1.4

# @msgmorph/ts-sdk

Official TypeScript SDK for MsgMorph.

## Installation

```bash
npm install @msgmorph/ts-sdk
```

## Usage

```typescript
import { MsgMorphClient } from "@msgmorph/ts-sdk";

const client = new MsgMorphClient({
  apiKey: process.env.MSGMORPH_API_KEY!,
  organizationId: process.env.MSGMORPH_ORGANIZATION_ID!,
});

// Create a contact
const contact = await client.contacts.create({
  externalId: "user-123",
  email: "user@example.com",
  name: "John Doe",
  projectId: "proj-456",
});

// List contacts
const contacts = await client.contacts.list({
  projectId: "proj-456",
});

// Get a contact
const contact = await client.contacts.get("contact-id");

// Update a contact
const updated = await client.contacts.update("contact-id", {
  name: "Jane Doe",
});

// Delete a contact
await client.contacts.delete("contact-id");
```

## Environment Variables

```bash
MSGMORPH_API_KEY=your-api-key
MSGMORPH_ORGANIZATION_ID=your-org-id
```

## Error Handling

```typescript
import { MsgMorphError } from "@msgmorph/ts-sdk";

try {
  await client.contacts.create({ ... });
} catch (error) {
  if (error instanceof MsgMorphError) {
    console.error(error.message, error.statusCode);
  }
}
```

## Documentation

For more docs, check [docs.msgmorph.com](https://docs.msgmorph.com).

## License

MIT