open-index/open-npm huggingface dataset:
npm package: @mcoffin/promise-utils
Description: yet another promise utility library
Author: Matt Coffin
Latest version: 0.3.0

# @mcoffin/promise-utils

![NPM](https://img.shields.io/npm/l/@mcoffin/promise-utils)
![NPM Version](https://img.shields.io/npm/v/@mcoffin/promise-utils)

(Yet another) collection of JavaScript promise utilities for both [NodeJS](https://nodejs.org) and browser platforms.
npm package: @mcoffin/side-effect
Description: Side effect functions on promises
Author: Matt Coffin
Latest version: 0.2.0

# side-effect-js

# Example

For slightly more complex examples, see [`test/test.js`](https://gitlab.com/mcoffin/side-effect-js/-/blob/master/test/test.js).

```javascript
const sideEffect = require('@mcoffin/side-effect');
const { expect } = require('chai');
Promise.resolve('foo')
    .then(sideEffect(console.log))
    .then((v) => expect(v).to.equal('foo'));
```
npm package: @mcoffin/stream-utils
Description: simple collection of commonly-written stream utilities
Author: Matt Coffin
Latest version: 0.3.0

# @mcoffin/stream-utils

![NPM](https://img.shields.io/npm/l/@mcoffin/stream-utils)
![NPM Version](https://img.shields.io/npm/v/@mcoffin/stream-utils)

(Yet another) collection of JavaScript stream utilities for [NodeJS](https://nodejs.org).
npm package: @mcombuec/maulwurf
Description: A simple CLI tool to tunnel into a database via Teleport.
Author: Maximilian Combüchen
Latest version: 0.0.1

# Maulwurf

## A simple CLI tool to tunnel into a database via Teleport.

If you are using [Teleport](https://teleport.sh/), you may find the process of creating a database tunnel somewhat tedious.

Maulwurf is a simple CLI tool that will list available databases, login in and create a tunnel for the selected database.

### Installation

```sh
$ npm install --global @mcombuec/maulwurf
```

### Usage

```sh
$ maulwurf [--port|-p <PORT_NUMBER>] [DB_NAME] [...<SEARCH_TERM>]
```
npm package: @mconf/bbb-mobile-template
Description: BBB mobile template easy to start your own mobile client
Author: BigBlueButton
Latest version: 1.6.8

#  bbb-mobile-template

## Code dependencies

### Versions

    $ node -v
    v16.x.y

### 
    $ npm install expo-cli -g

#### for android:
    $ java --version
    openjdk 11
    
You have to set the Android variables for you environment: 
 - `export ANDROID_HOME=$HOME/Android/Sdk`
 - `export PATH=$PATH:$ANDROID_HOME/tools` 



## How to run
     $ expo init my-app --template @mconf/bbb-mobile-template
     $ expo run:android  
     $ expo run:ios

## Using the sdk in your app
    import BbbMobileSdk from "bbb-mobile-sdk";
    
Pass the joinUrl of your meeting in the jUrl prop, and what to do when the user leave the meeting to the onLeaveSession callback:

    <BbbMobileSdk
      jUrl={joinUrl} 
      onLeaveSession={() => navigation.replace("Home")}
    />
    
See https://github.com/mconf/bbb-mobile-template/blob/master/src/screens/InsideConference/index.js for an example.
npm package: @mcongrove/eslint-plugin-eslint-comments
Description: Additional ESLint rules for ESLint directive comments.
Author: Toru Nagashima
Latest version: 0.0.0-semantically-released

# @mcongrove/eslint-plugin-eslint-comments

[![npm version](https://img.shields.io/npm/v/@mcongrove/eslint-plugin-eslint-comments.svg)](https://www.npmjs.com/package/@mcongrove/eslint-plugin-eslint-comments)
[![Downloads/month](https://img.shields.io/npm/dm/@mcongrove/eslint-plugin-eslint-comments.svg)](http://www.npmtrends.com/@mcongrove/eslint-plugin-eslint-comments)
[![Build Status](https://github.com/eslint-community/eslint-plugin-eslint-comments/workflows/CI/badge.svg)](https://github.com/eslint-community/eslint-plugin-eslint-comments/actions)
[![codecov](https://codecov.io/gh/eslint-community/eslint-plugin-eslint-comments/branch/main/graph/badge.svg)](https://codecov.io/gh/eslint-community/eslint-plugin-eslint-comments)

Additional ESLint rules for ESLint directive comments (e.g. `//eslint-disable-line`).

## 📖 Usage

- [Documentation](https://eslint-community.github.io/eslint-plugin-eslint-comments)

## 🚥 Semantic Versioning Policy

`@mcongrove/eslint-plugin-eslint-comments` follows [semantic versioning](http://semver.org/) and [ESLint's Semantic Versioning Policy](https://github.com/eslint/eslint#semantic-versioning-policy).

## 📰 Changelog

- [GitHub Releases](https://github.com/eslint-community/eslint-plugin-eslint-comments/releases)

## 🍻 Contributing

Welcome contributing!

Please use GitHub's Issues/PRs.

### Development Tools

- `npm test` runs tests and measures coverage.
- `npm run build` updates `README.md`, `index.js`, and the header of all rule's documents.
- `npm run clean` removes the coverage of the last `npm test` command.
- `npm run coverage` shows the coverage of the last `npm test` command.
- `npm run lint` runs ESLint for this codebase.
- `npm run watch` runs tests and measures coverage when source code are changed.
npm package: @mconnect/auditlog
Description: Transactions / audit log for data CRUD functions and access tracking
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.1.0

# @mconnect/auditlog

Transactions / audit log for data CRUD functions and access tracking.

## Installation

```sh
$ npm install @mconnect/auditlog
```

## API

```js
// Coming soon

const abc = 'test';
console.log('abc: ', abc);

```

## Example

```js
// Coming soon

const abc = 'test';
console.log('abc: ', abc);

```
npm package: @mconnect/cache
Description: Cache data operations
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.2.0

# @mconnect/cache

- Cache data operations - in memory (simple and hash cache)

## Installation

```sh
$ npm install @mconnect/cache
```

## API - Simple Cache

- Simple cache is key-value caching for any types of values (number, string and object)
- It exposes the following functions: setCache(), getCache, deleteCache and clearCache
- Simple cache API signatures:

```js
// Coming soon

const abc = 'test';
console.log('abc: ', abc);

```

## Examples - Simple Cache

```js
// Coming soon
// 
const abc = 'test';
console.log('abc: ', abc);

```

## API - Hash Cache

```js
// Coming soon

const abc = 'test';
console.log('abc: ', abc);

```

## Examples - Hash Cache

```js
// Coming soon
// 
const abc = 'test';
console.log('abc: ', abc);

```
npm package: @mconnect/crud-mg
Description: mConnect MongoDB CRUD operations, crud-mongo re-write
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.1.3

# @mconnect/crud-mg

- mConnect MongoDB CRUD operations, crud-mongo re-write

## Installation

```sh
$ npm install @mconnect/crud-mg
```

## APIs

// Classes' signatures
GetAllRecord(params : object, appDb : function, options : object = {}) : array
GetAllRecords(params : object, appDb : function, options : object = {}) : array


## Example

```js
// Coming soon
const {GetAllRecord, newGetAllRecord} = require('@mconnect/crud-mg');

// instance call
const itemInstance = new GetAllRecord({coll: 'services', }, appDb, options = {});

// instance wrapper function call
const itemFactory = newGetAllRecord({coll: 'services', }, appDb, options = {});


```
npm package: @mconnect/mc-explorer
Description: mConnect Data Explorer UI Component
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.1.0

# @mconnect/mc-explorer | mConnect Data Explorer UI Component (vue-UI component)

- Smart, Simple & Versatile UI data explorer, built using vue3 composition API
- Explorer window with infinite data display and scrolling
- Include optional datatable paging of batch records, depends on @mconnect/mc-data-table UI package

- **Development & Documentation In progress**

## Installation
```npm
npm install @mconnect/mc-explorer

```

```ts
// include the data-table style in your application
import "@mconnect/mc-explorer/dist/stye.css"

```

## Components and Features

- *screen short*
- McExplore: entry point for defining the  data view/explorer options, structure and contents


## Usage Specifications

- You may import McExplorer, McExplorerDatatable & McExplorerNoData as components into your UI view/page

```ts
import {McExplorer, McExplorerDatatable, McExplorerNoData} from "@mconnect/mc-explorer";
import type {DataField, DataFetchAlertResult} from "@mconnect/mc-explorer"

```
- activate the McExplorer component in your UI template, and provide the required and/or optional props

```vue

<template>
  <McDataTable v-if="dataItems.length > 0" data-fields="" data-items="" data-stats="" data-fetch-alert=""/>

</template>

<script setup lang="ts">
  import {McExplorer, McExplorerDatatable, McExplorerNoData,} from "@mconnect/mc-explorer"
  import {ref} from "vue"
  // McDataTable props
  const dataItems = Array<ObjectType>([])

  // McExplorerDatatable props, in addition to McDataTable
  


  // McExplorerNoData props
  
  

</script>

```
- *usage example*
npm package: @mconnect/mcauditlog
Description: mConnect Transaction and Access Audit Log Package
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.2.5

# @mconnect/mcauditlog

- Transactions / audit log for data CRUD functions and access tracking
- Includes audit/transaction logs to postgresDB | mongoDB
- See the test folder for different test cases / scenarios and usage

## Installation
```js
npm i @mconnect/mcauditlog
```
npm package: @mconnect/mccache
Description: mConnect In-Memory key and key-hash Caching Package
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.8.0

# @mconnect/mccache

- In-Memory data/information cache for CRUD and other operations
- Simple Cache: key-value pair storage
- Hash Cache: key-hash-value storage
- See the test folder for different test cases / scenarios and usage

## API - Simple Cache

- Simple Cache is key-value caching for number, string and object values
- It exposes the following functions: setCache(), getCache, deleteCache and clearCache

## API - Hash Cache

- Hash Cache: key-hash-value storage for caching number, string and object values
- It exposes the following functions: setHashCache(), getHashCache, deleteHashCache and clearHashCache

## Installation
```js
npm i @mconnect/mccache
```
npm package: @mconnect/mccrudmg
Description: mConnect CRUD Operations for MongoDB
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.2.8

# @mconnect/mccrudmg

- mConnect CRUD operations for MongoDB
- Includes standard/extendable CRUD classes/methods for mongoDB data operations
- Re-write of mc-crud-mg in ts
- See the test folder for different test cases / scenarios and usage

## Installation
```js
npm i @mconnect/mccrudmg
```
npm package: @mconnect/mcdatatable
Description: mConnect Datatable UI Component
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.1.5

# @mconnect/mcdatatable

- Datatable UI Component
- See test folder and other packages' test folders for test cases / scenarios and usage

## Installation
```js
npm i @mconnect/mcdatatable
```
npm package: @mconnect/mcdbcrud
Description: mConnect CRUD Operations for Postgres SQL DB
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.5.0

# @mconnect/mcdbcrud

- @mconnect/mcdbcrud package includes the crud operations for Postgres SQL DB
- Maybe extended to SQLite and mySQL DBs
- See the test folder for different test cases / scenarios and usage

## Installation
```js

npm i @mconnect/mcdbcrud

```
npm package: @mconnect/mcdbcrud-mg
Description: mConnect CRUD Operations for Mongo DB
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.6.0

# @mconnect/mcdbcrud-mg

- @mconnect/mcdbcrud-mg package includes the crud operations for MongoDB
- See the test folder for different test cases / scenarios and usage

## Installation
```bash

npm i @mconnect/mcdbcrud-mg

```
npm package: @mconnect/mcresponse
Description: mConnect Standardised Transaction Response Messages
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.8.0

# @mconnect/mcresponse

- @mconnect/response package includes the standard responses for various activities/operations
- It exposes the following function: getResMessage
- See the test folder for different test cases / scenarios and usage

## Installation
```js
npm i @mconnect/mcresponse
```
npm package: @mconnect/mcutils
Description: mConnect Utility Functions
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.2.5

# @mconnect/mcutils

***** Work-In-Progress *****

- Shared Utility Functions for nodejs, js and ts apps...
- See the test folder for different test cases / scenarios and usage

## Installation
```js
npm i @mconnect/mcutils
```
npm package: @mconnect/res-messages
Description: response-messages | utility functions
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.2.1

# @mconnect/res-messages

res-message package includes the standard responses for various activities/operations

## Installation

```sh
$ npm install @mconnect/res-messages
```

## API

```js
// Coming soon

const abc = 'test';
console.log('abc: ', abc);

```

## Example

```js
// Coming soon

const abc = 'test';
console.log('abc: ', abc);


```

### [MIT Licensed]
npm package: @mconnect/utils
Description: utility functions
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.2.2

# @mconnect/utils

Utility functions

## Installation

```sh
$ npm install @mconnect/utils
```

## API

```js
// Coming soon

const abc = 'test';
console.log('abc: ', abc);

```

## Example

```js
// Coming soon

const abc = 'test';
console.log('abc: ', abc);

```
npm package: @mconnect/validate-crud
Description: Create-Read-Update-Delete Data operations: input params validation
Author: Abi Akindele [abbeymart | mconnect.biz]
Latest version: 0.3.0

# @mconnect/validate-crud

Create-Read-Update-Delete Data operations: input params validation

## Installation

```sh
$ npm install @mconnect/validate-crud
```

## API

```js
// Coming soon

const abc = 'test';
console.log('abc: ', abc);

```

## Example

```js
// Coming soon

const abc = 'test';
console.log('abc: ', abc);

```
npm package: @mcopilot/starter
Description: Starter package to reserve @mcopilot scope
Latest version: 0.0.0

# @mcopilot/starter

Minimal starter package to reserve the `@mcopilot` scope.

Publish steps:

1. Login to npm (use the account that will own `@mcopilot`):

```bash
npm login
```

2. (Optional) If you prefer the scope to belong to an Organization, create the `mcopilot` Organization on https://www.npmjs.com/orgs and invite your company account as Owner.

3. Publish the package (ensures public visibility and reserves the scope):

```bash
npm publish --access public
```

4. Verify on npm: https://www.npmjs.com/package/@mcopilot/starter

Notes:
- You must have permission to publish under `@mcopilot` (organization owner or user matching scope).
- If you cannot publish due to permissions, either create the `mcopilot` org and add your account as Owner, or use a company-controlled account to publish.
npm package: @mcosti/react-timeline-editor
Description: [![npm version](https://img.shields.io/npm/v/@xzdarcy/react-timeline-editor.svg?style=flat-square)](https://www.npmjs.com/package/@xzdarcy/react-timeline-editor) [![npm downloads](https://img.shields.io/npm/dm/@xzdarcy/react-timeline-editor.svg?style=flat
Author: mcosti
Latest version: 0.1.10

# React Timeline Editor
[![npm version](https://img.shields.io/npm/v/@xzdarcy/react-timeline-editor.svg?style=flat-square)](https://www.npmjs.com/package/@xzdarcy/react-timeline-editor)
[![npm downloads](https://img.shields.io/npm/dm/@xzdarcy/react-timeline-editor.svg?style=flat-square)](https://www.npmjs.com/package/@xzdarcy/react-timeline-editor)

**[React Timeline Editor](https://zdarcy.com/)** is a react component used to quickly build a timeline animation editor.

![example](https://github.com/xzdarcy/react-timeline-editor/blob/f79d85eee8a723e5210c04232daf2c51888418c0/public/assets/timeline.gif)

## Fork differences
- Add a new prop to allow dragging while the timeline is playing
- Removed unnecessary timelineRef.current.data = newData. It was causing the timeline to stop when the data was changed


## Getting Started

```bash
npm install @xzdarcy/react-timeline-editor
```

```ts
import { Timeline, TimelineEffect, TimelineRow } from '@xzdarcy/react-timeline-editor';
import React from 'react';

const mockData: TimelineRow[] = [{
    id: "0",
    actions: [
      {
        id: "action00",
        start: 0,
        end: 2,
        effectId: "effect0",
      },
    ],
  },
  {
    id: "1",
    actions: [
      {
        id: "action10",
        start: 1.5,
        end: 5,
        effectId: "effect1",
      }
    ],
}]

const mockEffect: Record<string, TimelineEffect> = {
  effect0: {
    id: "effect0",
    name: "效果0",
  },
  effect1: {
    id: "effect1",
    name: "效果1",
  },
};

const TimelineEditor = () => {
  return (
      <Timeline
        editorData={mockData}
        effects={mockEffect}
      />
  );
};
```

## Documention
Checkout the [Docs](https://zdarcy.com/) for a demonstration of some basic and advanced features.
npm package: @mcous/create
Description: Create a new JS project with my base configurations.
Author: Michael Cousins
Latest version: 0.2.0

# @mcous/create

Create a new JS project with [my][@mcous] base configurations.

[@mcous]: https://github.com/mcous

## Usage

### Create a new project

Create a new project with ESLint, Prettier, and TypeScript configuration dependencies in a target directory:

```shell
pnpm create @mcous ./new-project
```

### Customize module name, author, and repository

```shell
pnpm create @mcous ./new-project --name="fizzbuzz" --repository="my-org/fizzbuzz" --author="Alter Ego"
```

### Update an existing project

Update/install shared configs and their peer dependencies in an existing project:

```shell
pnpm create @mcous ./existing-project
```
npm package: @mcous/eslint-config
Description: My base ESLint configuration.
Author: Michael Cousins
Latest version: 0.9.0

# @mcous/eslint-config

[My][@mcous] common [ESLint][] configuration.

[@mcous]: https://github.com/mcous
[eslint]: https://eslint.org/

## Install

```shell
pnpm add --save-dev eslint typescript @mcous/eslint-config
```

## Usage

Use the [base config](./src/base.js) for vanilla JavaScript / TypeScript projects. Be sure to add your root directory to `languageOptions.parserOptions.tsconfigRootDir`

```js
// eslint.config.js
import baseConfig from '@mcous/eslint-config'

export default [
  ...baseConfig,
  {
    languageOptions: {
      parserOptions: {
        tsconfigRootDir: import.meta.dirname,
      },
    },
  },
]
```
npm package: @mcous/prettier-config
Description: My base Prettier configuration.
Author: Michael Cousins
Latest version: 0.4.0

# @mcous/prettier-config

[My][@mcous] common [Prettier][] configuration.

[@mcous]: https://github.com/mcous
[prettier]: https://prettier.io/

## Install

```shell
pnpm add --save-dev prettier @mcous/prettier-config
```

## Usage

Use the [base config](./src/base.js) for React, Vue, and vanilla JavaScript / TypeScript projects.

```js
// prettier.config.js
import baseConfig from '@mcous/prettier-config'

export default {
  ...baseConfig,
}
```
npm package: @mcous/typescript-config
Description: My base TypeScript configuration.
Author: Michael Cousins
Latest version: 0.4.0

# @mcous/typescript-config

[My][@mcous] common [TypeScript][] configuration.

[@mcous]: https://github.com/mcous
[typescript]: https://www.typescriptlang.org/

## Install

```shell
pnpm add --save-dev typescript @mcous/typescript-config
```

## Usage

Use the [base config](./base.json) for generic TypeScript projects, including code that runs natively in Node.js or isomorphically, in both Node.js and the browser.

```jsonc
// tsconfig.json
{
  "extends": "@mcous/typescript-config/base.json",
  "compilerOptions": {
    // ...project specific options, like `module` and `target`
  },
}
```
npm package: @mcp-abap-adt/configurator
Description: MCP client configurator for mcp-abap-adt and mcp-abap-adt-proxy
Author: Oleksii Kyslytsia
Latest version: 0.2.2

# MCP ABAP ADT Configurator

Auto-configure MCP clients for `mcp-abap-adt` and `mcp-abap-adt-proxy`.

## Install

```bash
npm install -g @mcp-abap-adt/configurator
```

## Usage

```bash
mcp-conf --client cline --env-path /path/to/.env --name abap
mcp-conf --client cline --mcp TRIAL --name abap
mcp-conf --client cline --name direct-jwt-test-001 --transport http --url http://localhost:4004/mcp/stream/http --header x-sap-url=https://... --header x-sap-client=210 --header x-sap-auth-type=jwt --header x-sap-jwt-token=...
mcp-conf --client cline --name local-mcp-sse --transport sse --url http://localhost:3001/sse
mcp-conf --client codex --name abap-http --transport http --url http://localhost:3000/mcp/stream/http
mcp-conf --client codex --name abap-http --transport http --url http://localhost:3000/mcp/stream/http --header x-mcp-destination=trial
mcp-conf --client opencode --name abap --transport http --url http://localhost:3000/mcp/stream/http
mcp-conf --client kilo --name abap --transport http --url http://localhost:3000/mcp/stream/http
mcp-conf --client copilot --name abap --transport http --url http://localhost:3000/mcp/stream/http --header x-mcp-destination=trial
mcp-conf --client qwen --name abap --transport http --url http://localhost:3000/mcp/stream/http
mcp-conf --client crush --name abap --mcp TRIAL
mcp-conf --client crush --name abap --transport http --url http://localhost:3000/mcp/stream/http
mcp-conf tui
```

## TUI

`mcp-conf tui` starts an interactive wizard (`ls`/`show`/`add`/`update`/`rm`/`enable`/`disable`).
- Step order: `operation` -> `client` -> `scope` (auto-skipped if only one scope is supported).
- For `add` + `sse/http`: prompts for URL, timeout, and repeatable headers.
- For `rm`/`enable`/`disable`: server name is selected from existing servers in chosen client/scope.
- Keyboard: arrow keys + Enter, Ctrl+C to cancel.

## Docs

- See `docs/CLIENT_INSTALLERS.md` for client-specific behavior, defaults, and config paths.
npm package: @mcp-accelerator/core
Description: Core package for MCP Accelerator framework
Author: Mohamed JAMAI
Latest version: 1.0.0

# @mcp-accelerator/core

Core package for the MCP Accelerator framework. Contains the base functionality for creating MCP servers.

## Installation

```bash
npm install @mcp-accelerator/core zod
```

## Usage

```typescript
import { MCPServer, z } from '@mcp-accelerator/core';
import { StdioTransport } from '@mcp-accelerator/transport-stdio';

const server = new MCPServer({
  name: 'my-server',
  version: '1.0.0',
});

server.setTransport(new StdioTransport());

server.registerTool({
  name: 'greet',
  description: 'Greet a user',
  inputSchema: z.object({
    name: z.string(),
  }),
  handler: async (input) => {
    return { message: `Hello, ${input.name}!` };
  },
});

await server.start();
```

## Contents

- **Core Server**: Main MCP server
- **Types**: TypeScript interfaces and types
- **Tool Manager**: Tool management system
- **Error Handler**: Error handling
- **Logger**: Logging system
- **Plugins**: Plugin system
- **Base Transport**: Base class for transports

## Available Transports

Transports are in separate packages:

- `@mcp-accelerator/transport-stdio` - Stdin/stdout communication
- `@mcp-accelerator/transport-http` - HTTP server
- `@mcp-accelerator/transport-websocket` - WebSocket server
- `@mcp-accelerator/transport-sse` - Server-Sent Events

## License

MIT
npm package: @mcp-accelerator/transport-http
Description: HTTP transport for MCP Accelerator
Author: Mohamed JAMAI
Latest version: 1.0.0

# @mcp-accelerator/transport-http

HTTP transport for MCP Accelerator. Fast HTTP/REST server based on Fastify.

## Installation

```bash
npm install @mcp-accelerator/core @mcp-accelerator/transport-http zod
```

## Usage

```typescript
import { MCPServer, z } from '@mcp-accelerator/core';
import { HttpTransport } from '@mcp-accelerator/transport-http';

const server = new MCPServer({
  name: 'my-http-server',
  version: '1.0.0',
});

// Use HTTP transport
server.setTransport(new HttpTransport({
  host: '0.0.0.0',
  port: 3000,
}));

server.registerTool({
  name: 'getData',
  description: 'Get some data',
  inputSchema: z.object({
    id: z.string(),
  }),
  handler: async (input) => {
    return { data: `Data for ${input.id}` };
  },
});

await server.start();
```

## Configuration

```typescript
new HttpTransport({
  host: '127.0.0.1', // Listen address (default: '127.0.0.1')
  port: 3000,        // Listen port (default: 3000)
})
```

## Endpoints

- `POST /mcp` - Send MCP messages
- `GET /health` - Health check

## Features

- ✅ Based on Fastify (high performance)
- ✅ Standard REST support
- ✅ Built-in health check
- ⚠️ No broadcast (stateless transport)

## License

MIT
npm package: @mcp-accelerator/transport-sse
Description: Server-Sent Events (SSE) transport for MCP Accelerator
Author: Mohamed JAMAI
Latest version: 1.0.0

# @mcp-accelerator/transport-sse

Server-Sent Events (SSE) transport for MCP Accelerator. Unidirectional server-to-client streaming.

## Installation

```bash
npm install @mcp-accelerator/core @mcp-accelerator/transport-sse zod
```

## Usage

```typescript
import { MCPServer, z } from '@mcp-accelerator/core';
import { SSETransport } from '@mcp-accelerator/transport-sse';

const server = new MCPServer({
  name: 'my-sse-server',
  version: '1.0.0',
});

// Use SSE transport
server.setTransport(new SSETransport({
  host: '0.0.0.0',
  port: 3002,
}));

server.registerTool({
  name: 'stream',
  description: 'Stream data to client',
  inputSchema: z.object({
    count: z.number(),
  }),
  handler: async (input) => {
    return { streamed: input.count };
  },
});

await server.start();
```

## Configuration

```typescript
new SSETransport({
  host: '127.0.0.1', // Listen address (default: '127.0.0.1')
  port: 3002,        // Listen port (default: 3002)
})
```

## Endpoints

- `GET /mcp/events` - Subscribe to SSE stream
- `POST /mcp/message` - Send a message to the server
- `GET /health` - Health check

## Features

- ✅ Server-to-client streaming
- ✅ Broadcast support
- ✅ Automatic client-side reconnection
- ✅ Built-in keep-alive (30 seconds)
- ✅ Compatible with EventSource API

## Client Example

```javascript
const eventSource = new EventSource('http://localhost:3002/mcp/events');

eventSource.onmessage = (event) => {
  const data = JSON.parse(event.data);
  if (data.type === 'connected') {
    console.log('Connected with client ID:', data.clientId);
  } else {
    console.log('Received:', data);
  }
};

// To send messages to the server
fetch('http://localhost:3002/mcp/message', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-Client-ID': clientId,
  },
  body: JSON.stringify({
    type: 'request',
    id: '1',
    method: 'tools/list',
  }),
});
```

## License

MIT
npm package: @mcp-accelerator/transport-stdio
Description: STDIO transport for MCP Accelerator
Author: Mohamed JAMAI
Latest version: 1.0.0

# @mcp-accelerator/transport-stdio

STDIO transport for MCP Accelerator. Communication via stdin/stdout for command-line applications.

## Installation

```bash
npm install @mcp-accelerator/core @mcp-accelerator/transport-stdio zod
```

## Usage

```typescript
import { MCPServer, z } from '@mcp-accelerator/core';
import { StdioTransport } from '@mcp-accelerator/transport-stdio';

const server = new MCPServer({
  name: 'my-cli-server',
  version: '1.0.0',
});

// Use STDIO transport
server.setTransport(new StdioTransport());

server.registerTool({
  name: 'echo',
  description: 'Echo a message',
  inputSchema: z.object({
    message: z.string(),
  }),
  handler: async (input) => {
    return { echo: input.message };
  },
});

await server.start();
```

## Features

- ✅ No external dependencies (Node.js native)
- ✅ Perfect for CLI and processes
- ✅ Bidirectional communication via pipes
- ✅ Compatible with UNIX workflows

## License

MIT
npm package: @mcp-accelerator/transport-websocket
Description: WebSocket transport for MCP Accelerator
Author: Mohamed JAMAI
Latest version: 1.0.0

# @mcp-accelerator/transport-websocket

WebSocket transport for MCP Accelerator. Real-time bidirectional communication.

## Installation

```bash
npm install @mcp-accelerator/core @mcp-accelerator/transport-websocket zod
```

## Usage

```typescript
import { MCPServer, z } from '@mcp-accelerator/core';
import { WebSocketTransport } from '@mcp-accelerator/transport-websocket';

const server = new MCPServer({
  name: 'my-websocket-server',
  version: '1.0.0',
});

// Use WebSocket transport
server.setTransport(new WebSocketTransport({
  host: '0.0.0.0',
  port: 3001,
}));

server.registerTool({
  name: 'notify',
  description: 'Send a notification',
  inputSchema: z.object({
    message: z.string(),
  }),
  handler: async (input) => {
    return { notification: input.message };
  },
});

await server.start();
```

## Configuration

```typescript
new WebSocketTransport({
  host: '127.0.0.1', // Listen address (default: '127.0.0.1')
  port: 3001,        // Listen port (default: 3001)
})
```

## Features

- ✅ Real-time bidirectional communication
- ✅ Broadcast support to all clients
- ✅ Automatic reconnection handling
- ✅ Based on 'ws' library (performant and stable)

## Client Example

```javascript
const ws = new WebSocket('ws://localhost:3001');

ws.on('open', () => {
  ws.send(JSON.stringify({
    type: 'request',
    id: '1',
    method: 'tools/list',
  }));
});

ws.on('message', (data) => {
  const message = JSON.parse(data);
  console.log('Received:', message);
});
```

## License

MIT