open-index/open-npm huggingface dataset:
npm package: @ivanherula/google-chat-mcp
Description: MCP server for Google Chat – list spaces, read/send messages, search
Author: ivanherula
Latest version: 1.0.0

# @ivanherula/google-chat-mcp

MCP server for Google Chat. Provides tools to list spaces, read and send messages, and search — for use with Claude Code and other MCP clients.

## Tools

| Tool | Description |
|------|-------------|
| `list_spaces` | List Google Chat spaces the user belongs to |
| `list_messages` | List messages in a space (with optional filter/ordering) |
| `send_message` | Send a message to a space or reply to a thread |
| `get_message` | Get a specific message by resource name |
| `search_messages` | Search messages by text (client-side filtering) |

## Requirements

- Node.js >= 18
- A Google Cloud project with the **Google Chat API** enabled
- OAuth 2.0 credentials (Desktop app type)

## Google Cloud Console Setup

1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create or select a project
3. Enable the **Google Chat API**
4. Go to **APIs & Services → Credentials → Create Credentials → OAuth client ID**
5. Choose **Desktop app**, give it a name, click Create
6. Copy the **Client ID** and **Client Secret**

## MCP Client Configuration

Add to your Claude Code MCP config (`~/.claude.json`):

```json
{
  "mcpServers": {
    "google-chat": {
      "type": "stdio",
      "command": "npx",
      "args": ["@ivanherula/google-chat-mcp@latest"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}
```

## First-Run OAuth Flow

On first use, the server will:
1. Open your browser to Google's OAuth consent screen
2. Ask you to sign in and grant Chat permissions
3. Redirect to `localhost` to capture the auth code
4. Save tokens to `~/.config/google-chat-mcp/tokens.json`

Subsequent runs load the saved tokens automatically (with silent refresh).

To force re-authentication (e.g. after revoking access), delete the token file:
```bash
rm ~/.config/google-chat-mcp/tokens.json
```

## Usage Examples

```
# List all spaces
list_spaces

# List recent messages in a space
list_messages spaceName="spaces/AAAA" pageSize=20 orderBy="createTime desc"

# Send a message
send_message spaceName="spaces/AAAA" text="Hello from Claude!"

# Reply to a thread
send_message spaceName="spaces/AAAA" text="Reply here" threadName="spaces/AAAA/threads/BBBB"

# Search messages
search_messages spaceName="spaces/AAAA" query="deploy" afterTime="2024-01-01T00:00:00Z"
```

## License

MIT
npm package: @ivanholiak/easy-email-editor
Description: Email editor
Author: m-Ryan
Latest version: 4.17.3

# Easy-email-editor

## Introduction

Email render and preview container.

## usage

```sh
$ npm install --save easy-email-editor
```

or

```sh
$ yarn add easy-email-editor
```

```js
import React from 'react';
import { BlockManager } from 'easy-email-core';
import { EmailEditor, EmailEditorProvider } from 'easy-email-editor';
import 'easy-email-editor/lib/style.css';

const initialValues = {
  subject: 'Welcome to Easy-email',
  subTitle: 'Nice to meet you!',
  content: BlockManager.getBlockByType(BasicType.PAGE).create({}),
};

export function App() {
  return (
    <EmailEditorProvider
      data={initialValues}
      height={'calc(100vh - 72px)'}
    >
      {({ values }) => {
        return <EmailEditor />;
      }}
    </EmailEditorProvider>
  );
}
```
npm package: @ivanholiak/easy-email-extensions
Description: Email editor
Author: m-Ryan
Latest version: 4.16.34

# Easy-email-extensions

## usage

```sh
$ npm install --save easy-email-extensions
```

or

```sh
$ yarn add easy-email-extensions
```

```js
import React from 'react';
import { BlockManager, BasicType, AdvancedType } from 'easy-email-core';
import { EmailEditor, EmailEditorProvider } from 'easy-email-editor';
import { ExtensionProps, StandardLayout } from 'easy-email-extensions';

import 'easy-email-editor/lib/style.css';
import 'easy-email-extensions/lib/style.css';

const categories: ExtensionProps['categories'] = [
  {
    label: 'Content',
    active: true,
    blocks: [
      {
        type: AdvancedType.TEXT,
      },
      {
        type: AdvancedType.IMAGE,
        payload: { attributes: { padding: '0px 0px 0px 0px' } },
      },
      {
        type: AdvancedType.BUTTON,
      },
      {
        type: AdvancedType.SOCIAL,
      },
      {
        type: AdvancedType.DIVIDER,
      },
      {
        type: AdvancedType.SPACER,
      },
      {
        type: AdvancedType.HERO,
      },
      {
        type: AdvancedType.WRAPPER,
      },
    ],
  },
  {
    label: 'Layout',
    active: true,
    displayType: 'column',
    blocks: [
      {
        title: '2 columns',
        payload: [
          ['50%', '50%'],
          ['33%', '67%'],
          ['67%', '33%'],
          ['25%', '75%'],
          ['75%', '25%'],
        ],
      },
      {
        title: '3 columns',
        payload: [
          ['33.33%', '33.33%', '33.33%'],
          ['25%', '25%', '50%'],
          ['50%', '25%', '25%'],
        ],
      },
      {
        title: '4 columns',
        payload: [['25%', '25%', '25%', '25%']],
      },
    ],
  },
];

const initialValues = {
  subject: 'Welcome to Easy-email',
  subTitle: 'Nice to meet you!',
  content: BlockManager.getBlockByType(BasicType.PAGE)!.create({}),
};

export default function App() {

  return (
    <EmailEditorProvider
      data={initialValues}
      height={'calc(100vh - 72px)'}
      autoComplete
      dashed={false}
    >
      {({ values }) => {
        return (
          <StandardLayout
            categories={categories}
            showSourceCode={true}
          >
            <EmailEditor />
          </StandardLayout>
        );
      }}
    </EmailEditorProvider>
  );
}

```
npm package: @ivanhvc/hvc-aws-deploy
Description: HVC AWS deploy is a library that will help you deploy front end applications to Amazon Web Services quickly and easily.
Latest version: 1.4.4

# HVC AWS Deploy

HVC AWS deploy is a library that will help you deploy front end applications to Amazon Web Services quickly and easily.

## Installing HVC AWS Deploy

```bash
yarn global add @ivanhvc/hvc-aws-deploy
```

# How To Deploy

First, make sure you have your AWS credentials set up on your machine. There are various ways to do this; for steps on how to set up your AWS credentials, please check the AWS documentation:

[Loading Credentials in Node.js from the Shared Credentials File](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html)

Once you have your credentials set up, go to the root of your Vue, React, etc. application and run `yarn build`. Once the build is complete and your `build` or `dist` folder is created, just run the following command:

```bash
hvc-aws-deploy start -name bucket-name-here
```

![https://hvc-aws-doc-images.s3.amazonaws.com/hvc-deploy.png](https://hvc-aws-doc-images.s3.amazonaws.com/hvc-deploy.png)

If you want to deploy to a different profile in your AWS configuration you should add the `--profile` or `-p` command:

```bash
hvc-aws-deploy start --name bucket-name-here --profile other-profile-here
```

Once the deployment is complete, you should be able to see your website after about 30 seconds -1 minute. A new JSON file should also appear with information regarding your deployed website. (**_Make sure to add this file to your .gitignore file!_**)

```json
{
  "bucket": "hvc-example-deploy",
  "distribution": "XXXXXXXXXXXX",
  "domain": "XXXXXXXXXXXX.cloudfront.net",
  "createdAt": "2020-10-13T04:12:13.914Z"
}
```
npm package: @ivanilic/flatten
Description: Flatten an array
Author: ivanilic
Latest version: 1.0.1

# flatten

`flatten` - flattens a nested array.


DESCRIPTION
-----------

This utility takes a nested, multi-dimensional array and returns a new, flattened array. The second argument to `flatten` can be given as an integer and it will determine the depth by which to flatten the array. This argument is optional and it defaults to `Infinity` i.e. the array will be flattened down to one dimension.


SYNOPSIS
--------

`flatten(ARR, [DEPTH])`

*PARAMETERS:*    <br>
- `ARR`    Array to flatten.     
- `DEPTH`  If integer is specified, the array will be flattened only by the given depth. This argument is optional and it defaults to `Infinity` (i.e. flattens the array to one dimension).

*RETURN VALUE:*    <br>
New, flattened, array; original array is left unchanged.



INSTALLATION
------------
Installation with [npm](https://www.npmjs.com/package/@ilicivan/flatten)

```shell
$ npm install @ilicivan/flatten
```

USAGE
-----

```js
var flatten = require('@ilicivan/flatten');

flatten([[1, 2], [3, 4], [5, 6]]);
//=> [1, 2, 3, 4, 5, 6]

flatten([1, [2, [3]], 4, [5]]);
//=> [1, 2, 3, 4, 5, 6]

flatten([1, [2, [3, [4, [5, [6, [7]]]]]]], 1);
//=> [1, 2, [3, [4, [5, [6, [7]]]]]]
```
npm package: @ivanilic/is-array
Description: Determine if value is an array.
Author: ivanilic
Latest version: 0.0.3

# isArray


## DESCRIPTION

`isArray` - Determine if value is an array.


**SYNOPSIS:**    
`isArray(value)`

*PARAMETERS:*    
- `value` Any value.

**RETURN VALUE:**    
Boolean: `true` if value is an array, `false` otherwise.


## INSTALL

[npm](https://www.npmjs.com/)

```shell
$ npm i @ivanilic/is-array
```


# USAGE

```js
const isArray = require('@ivanilic/is-array');

isArray([]);
//=> true
```
npm package: @ivaniuk/md-to-quill-delta
Description: Convert markdown to quill delta ops
Author: Igor Ivaniuk
Latest version: 0.1.3

<p align="center">
  <img src="https://user-images.githubusercontent.com/1223799/50992071-73562500-1516-11e9-99fa-9f73b0f0eee2.png" width="597" alt="md-to-quill-delta">
</p>

# md-to-quill-delta

> Convert markdown to quill delta ops

[![Build Status](https://travis-ci.org/igorivaniuk/md-to-quill-delta.svg?branch=master)](https://travis-ci.org/igorivaniuk/md-to-quill-delta)
[![NPM version](https://img.shields.io/npm/v/@ivaniuk/md-to-quill-delta.svg)](https://www.npmjs.com/package/@ivaniuk/md-to-quill-delta)
![Downloads](https://img.shields.io/npm/dm/@ivaniuk/md-to-quill-delta.svg)
[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)

---

## ✨ Features

- feature one
- feature two

## 🔧 Installation

```sh
yarn add @ivaniuk/md-to-quill-delta
```

## 🎬 Getting started

Let's demonstrate simple usage with ... example:

```ts
// your code example
```

## 🎭 Examples

Go checkout [examples](./examples) !

## 📜 API

> Document your API here

### `publicMethodOne(value:string): string`

This methods does foo bar moo...

**Example:**

```ts
// example
```

## 🎓 Guides

<details>
<summary>How to do Foo</summary>
Today we're gonna build Foo....
</details>

### 🕵️ Troubleshooting

## 🥂 License

[MIT](./LICENSE.md) as always