open-index/open-npm huggingface dataset:
npm package: @jagjerez-org/desktop-mcp-agent
Description: Desktop agent for remote control via WebRTC — pairs with desktop-mcp-server for AI-driven desktop automation
Latest version: 1.0.1

# desktop-mcp-agent

Desktop agent that pairs with [desktop-mcp-server](https://www.npmjs.com/package/desktop-mcp-server) for AI-driven remote desktop control via WebRTC.

## Installation

```bash
npm install -g desktop-mcp-agent
```

## Quick Start

```bash
desktop-mcp-agent
```

The agent will:
1. Start and display a **pairing code**
2. Connect to the signaling server
3. Stream your screen via WebRTC
4. Execute mouse/keyboard/shell commands from the MCP server

## What it does

The agent runs on the desktop you want to control and handles:

- 🖥️ **Screen capture** — Captures and streams screen frames
- 🖱️ **Mouse control** — Moves, clicks, drags, scrolls
- ⌨️ **Keyboard input** — Types text, presses key combos
- 📋 **Clipboard** — Read/write clipboard content
- 💻 **Shell execution** — Runs commands locally
- 🔊 **Audio** — TTS playback and microphone recording
- 📁 **File transfer** — Send/receive files

## Architecture

```
LLM → desktop-mcp-server (MCP tools) → WebRTC → desktop-mcp-agent (this) → Your PC
```

## Requirements

- Node.js 18+
- Desktop environment (for screen capture and input injection)
- On Linux: `xdotool` for input simulation

## Security

The agent only accepts connections from authenticated MCP servers via pairing codes. All communication is encrypted via WebRTC (DTLS/SRTP).

⚠️ **Warning**: This gives remote control of your desktop. Only pair with trusted MCP servers.

## Companion Packages

- [desktop-mcp-server](https://www.npmjs.com/package/desktop-mcp-server) — MCP server (runs alongside the LLM)
- [desktop-mcp-shared](https://www.npmjs.com/package/desktop-mcp-shared) — Shared protocol types

## License

MIT
npm package: @jagjerez-org/desktop-mcp-server
Description: WebRTC-based MCP server for remote desktop control — screen capture, mouse/keyboard input, shell execution, and more
Latest version: 1.0.1

# desktop-mcp-server

MCP server for remote desktop control via WebRTC. Enables LLMs to see screens, move mouse, type text, execute commands, and more on remote desktops.

## Installation

```bash
npm install -g desktop-mcp-server
```

## Quick Start

### As MCP Server (stdio)

Add to your MCP client config (Claude Desktop, Cursor, etc.):

```json
{
  "mcpServers": {
    "desktop": {
      "command": "desktop-mcp-server"
    }
  }
}
```

### Programmatic

```typescript
import { DesktopMCPServer } from 'desktop-mcp-server';

const server = new DesktopMCPServer();
await server.start();
```

## Tools

| Tool | Description |
|------|-------------|
| `desktop_connect` | Connect to a paired desktop agent |
| `desktop_disconnect` | Disconnect from current agent |
| `desktop_status` | Get connection status, latency, resolution |
| `get_frame` | Capture screen as base64 JPEG/PNG |
| `get_frames` | Capture multiple frames |
| `get_screen_info` | Get resolution and cursor position |
| `mouse_move` | Move cursor to (x, y) |
| `mouse_click` | Click at position (left/right/middle, double) |
| `mouse_drag` | Drag from A to B |
| `mouse_scroll` | Scroll wheel |
| `keyboard_type` | Type text string |
| `keyboard_press` | Press key combo (e.g. Ctrl+C) |
| `keyboard_hold` | Hold/release a key |
| `clipboard_read` | Read clipboard content |
| `clipboard_write` | Write to clipboard |
| `shell_exec` | Execute shell command |
| `audio_speak` | TTS on remote desktop |
| `audio_listen` | Record from microphone |
| `file_transfer` | Send/receive files |

## Architecture

```
LLM Client → MCP Server (stdio) → WebRTC → Desktop Agent
```

The server exposes MCP tools and connects to desktop agents via WebRTC for real-time screen streaming and input control.

## Companion Packages

- [desktop-mcp-agent](https://www.npmjs.com/package/desktop-mcp-agent) — Install on the PC you want to control
- [desktop-mcp-shared](https://www.npmjs.com/package/desktop-mcp-shared) — Shared protocol types

## License

MIT
npm package: @jagjerez-org/desktop-mcp-shared
Description: Shared types and protocol definitions for desktop MCP server
Latest version: 1.0.1

# desktop-mcp-shared

Shared types and protocol definitions for the Desktop MCP Server and Agent.

## Installation

```bash
npm install desktop-mcp-shared
```

## What's included

- **Protocol types**: Command and response message types for mouse, keyboard, clipboard, shell, screen info
- **ProtocolValidator**: Validation utilities for protocol messages
- **MessageBuilder**: Factory for creating protocol messages
- **Types**: Connection status, frame capture, device info, signaling messages

## Usage

```typescript
import {
  ProtocolValidator,
  MessageBuilder,
  CommandMessage,
  ResponseMessage,
  FrameCapture,
  ConnectionStatus
} from 'desktop-mcp-shared';

// Validate a message
if (ProtocolValidator.isCommandMessage(data)) {
  // handle command
}

// Build a mouse click message
const click = MessageBuilder.mouseClick(100, 200, 'left');
```

## Part of

- [desktop-mcp-server](https://www.npmjs.com/package/desktop-mcp-server) — MCP server for LLM desktop control
- [desktop-mcp-agent](https://www.npmjs.com/package/desktop-mcp-agent) — Desktop agent (runs on target PC)
npm package: @jagjerez/vue3-datatable
Description: DataTable component with basic pagination, search filters etc for Vue3
Author: Puncoz Nepal
Latest version: 0.1.19

# DataTable - Vue3 Component

> Basic DataTable component for Vue3 in typescript and Composition API. It has basic functionality such as Filter/Search, pagination etc.

[![NPM](https://img.shields.io/npm/v/@jobinsjp/vue3-datatable.svg)](https://www.npmjs.com/package/@jobinsjp/vue3-datatable)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
[![Build](https://img.shields.io/travis/JoBinsJP/vue3-datatable?logo=travis)](https://travis-ci.org/JoBinsJP/vue3-datatable)

## [Demo](https://vue3-datatable.netlify.app/)

![DataTable Demo](demo.png)

## Install

```bash
npm install --save @jobinsjp/vue3-datatable

or,

yarn add @jobinsjp/vue3-datatable
```

## Usage

```vue
    <data-table :rows="data"/>
```

## License

MIT © [https://github.com/JoBinsJP/vue3-datatable](https://github.com/JoBinsJP/vue3-datatable)
npm package: @jagodnikgit/boltswapuikit
Description: Set of UI components for pancake projects
Latest version: 0.0.4

# 🥞 Pancake UIkit

**This repository is not used anymore. See the [https://github.com/pancakeswap/pancake-toolkit](Pancake toolkit) instead**

[![Version](https://img.shields.io/npm/v/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit)

Pancake UIkit is a set of React components and hooks used to build pages on Pancake's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @pancakeswap-libs/uikit`

## Setup

### Theme

Before using Pancake UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@pancakeswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@pancakeswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://pancakeswap.github.io/pancake-uikit/)
npm package: @jagodnikgit/jagodaswap
Description: 🛠 An SDK for building applications on top of Pancakeswap.
Latest version: 2.4.1

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @jagodnikgit/sdk
Description: 🛠 An SDK for building applications on top of Jagoda Swap.
Author: jagodnikgit
Latest version: 1.0.0

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @jagodnikgit/ui
Description: Set of UI components for pancake projects
Latest version: 0.19.0

# 🥞 Pancake UIkit

**This repository is not used anymore. See the [https://github.com/pancakeswap/pancake-toolkit](Pancake toolkit) instead**

[![Version](https://img.shields.io/npm/v/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit)

Pancake UIkit is a set of React components and hooks used to build pages on Pancake's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @pancakeswap-libs/uikit`

## Setup

### Theme

Before using Pancake UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@pancakeswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@pancakeswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://pancakeswap.github.io/pancake-uikit/)
npm package: @jagodnikgit/uikit
Description: Set of UI components for pancake projects
Latest version: 0.0.1

# 🥞 Pancake UIkit

**This repository is not used anymore. See the [https://github.com/pancakeswap/pancake-toolkit](Pancake toolkit) instead**

[![Version](https://img.shields.io/npm/v/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit)

Pancake UIkit is a set of React components and hooks used to build pages on Pancake's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @pancakeswap-libs/uikit`

## Setup

### Theme

Before using Pancake UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@pancakeswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@pancakeswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://pancakeswap.github.io/pancake-uikit/)
npm package: @jagodnikgit/userinterface
Description: Set of UI components for pancake projects
Latest version: 0.0.4

# 🥞 Pancake UIkit

**This repository is not used anymore. See the [https://github.com/pancakeswap/pancake-toolkit](Pancake toolkit) instead**

[![Version](https://img.shields.io/npm/v/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit)

Pancake UIkit is a set of React components and hooks used to build pages on Pancake's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @pancakeswap-libs/uikit`

## Setup

### Theme

Before using Pancake UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@pancakeswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@pancakeswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://pancakeswap.github.io/pancake-uikit/)
npm package: @jagomf/countrieslist
Description: Sovereign countries' names in many languages with their ISO-3166-1 alpha-2.
Author: Jago
Latest version: 4.1.0

# countrieslist

[![npm version](https://badge.fury.io/js/%40jagomf%2Fcountrieslist.svg)](https://badge.fury.io/js/%40jagomf%2Fcountrieslist)

Get all **sovereign countries**' names in several languages associated to their [ISO 3166-1 (alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.

## Install

Via [npm](npmjs.org):

```shell
npm install @jagomf/countrieslist
```

## Supported languages

* English (`en`)
* Spanish (`es`)
* German (`de`)
* French (`fr`)
* Portuguese (`pt`)
* Italian (`it`)

## Usage

Import some or all of the language pieces:

```javascript
import { en, es as langES, fr as countriesFR } from '@jagomf/countrieslist';

console.log(en.SM); // 'San Marino'
console.log(langES.NL); // 'Países Bajos'
console.log(countriesFR['GR']); // 'Grèce'
```
```javascript
import * as COUNTRIES from '@jagomf/countrieslist';

console.log(COUNTRIES.en.TT); // 'Trinidad and Tobago'
console.log(COUNTRIES.es.CI); // 'Costa de Marfil'
```
npm package: @jagomf/flag-icon-css
Description: > A curated collection of all country flags in SVG — plus the CSS for easier integration.
Author: Jago Mf
Latest version: 7.3.2

# flag-icons

> A curated collection of all country flags in SVG — plus the CSS for easier integration.

Forked from [flag-icon-css](https://github.com/lipis/flag-icon-css) by Panayiotis Lipiridis.

## Install

You can either [download](http://github.com/jagomf/flag-icon-css/archive/main.zip) the whole project as is or install it via npm or Yarn:

```bash
npm install flag-icons
# or
yarn add flag-icons
```

## Usage

First, you need to import css:

```js
import "/node_modules/flag-icons/css/flag-icons.min.css";
```

or use CDN:

```html
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/gh/jagomf/flag-icon-css@7.2.3/css/flag-icons.min.css"
/>
```

For using the flags inline with text add the classes `.fi` and `.fi-xx` (where `xx` is the [ISO 3166-1-alpha-2 code](https://www.iso.org/obp/ui/#search/code/) of a country) to an empty `<span>`. If you want to have a squared version flag then add the class `fis` as well. Example:

```html
<span class="fi fi-gr"></span> <span class="fi fi-gr fis"></span>
```

You could also apply this to any element, but in that case you'll have to use the `fib` instead of `fi` and you're set. This will add the correct background with the following CSS properties:

```css
background-size: contain;
background-position: 50%;
background-repeat: no-repeat;
```

Which means that the flag is just going to appear in the middle of an element, so you will have to set manually the correct size of 4 by 3 ratio or if it's squared add also the `flag-icon-squared` class.

## Development

Run the `yarn` to install the dependencies after cloning the project and you'll be able to:

To build `*.scss` files

```bash
$ yarn build
```

To serve it on `localhost:8000`

```bash
$ yarn start
```

To have only specific countries in the css file, remove the ones that you don't need from the [`_flag-icons-list.scss`](sass/_flag-icons-list.scss) file and build it again.

## Credits

- This project wouldn't exist without the awesome and now deleted collection of SVG flags by [koppi](https://github.com/koppi).
- Thank you [Andrejs Abrickis](https://twitter.com/andrejsabrickis) for providing the `flag-icons` name on [npm](https://www.npmjs.com/package/flag-icons).
npm package: @jagoncalves14/pixelmatters-zsh-unit-testing
Description: Useful zsh functions for unit testing
Author: João Gonçalves
Latest version: 1.0.1

<h1 align="center">
  pixelmatters-zsh-unit-testing
</h1>

<h3 align="center">
  CLI that adds useful custom ZSH functions for your unit testing
</h3>

<p align="center">
  It adds functions to only run unit tests on files that are different between two branches or on changed files that haven't yet been commited; 
</p>

<p align="center">
  <a href="https://github.com/Pixelmatters/pixelmatters-zsh-unit-testing/blob/main/LICENSE">
    <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="pixelmatters-zsh-unit-testing is released under the MIT license." />
  </a>
  <a href="https://www.npmjs.com/package/@jagoncalves14/jagoncalves14-zsh-unit-testing">
    <img src="https://img.shields.io/npm/v/@pixelmatters/pixelmatters-zsh-unit-testing.svg" alt="Current npm package version." />
  </a>
  <a href="https://github.com/Pixelmatters/pixelmatters-zsh-unit-testing/blob/main/CONTRIBUTING.md">
    <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs welcome!" />
  </a>
  <a href="https://twitter.com/intent/follow?screen_name=pixelmatters_">
    <img src="https://img.shields.io/twitter/follow/pixelmatters_.svg?label=Follow%20@pixelmatters_" alt="Follow @pixelmatters_" />
  </a>
</p>

## 🚀 Get Up and Running

You can install this package using either **npm** or **yarn**.

### **Yarn**

If using Yarn:

1. Install the package globally

```shell
yarn global add @jagoncalves14/pixelmatters-zsh-unit-testing
```

### **NPM**

If using NPM:

1. Install the package as a development dependency::

```shell
npm install -g @jagoncalves14/pixelmatters-zsh-unit-testing
```

At this point you should be good to go 👍

## 🤝 Usage

1. After installing, run the package's CLI command and answer to the questions in the prompt:

```shell
pixelmatters-zsh-unit-testing
```

2. Now you're all set and done!

After the CLI command is complete, the following functions are added to you .zshrc config:

- testchanges
- testbranch

## Examples

### testchanges

- Run unit tests on changed files:

```shell
testchanges
```

- Run unit tests on changed files and update its snapshots:

```shell
testchanges -u
```

### testbranch

- Run unit tests on different files between current and target branch:

```shell
testbranch
```

- Run unit tests on different files between current and target branch and update its snapshots:

```shell
testbranch -u
```

- Run unit tests on different files between current and custom target branch:

```shell
testbranch fix/some-branch-name
```

- Run unit tests on different files between current and custom target branch:

```shell
testbranch -u fix/some-branch-name
```

## 🤝 How to Contribute

Whether you're helping us fix bugs, improve the docs, or spread the word, thank you! 💪 🧡

Check out our [**Contributing Guide**](https://github.com/Pixelmatters/pixelmatters-zsh-unit-testing/blob/main/CONTRIBUTING.md) for ideas on contributing and setup steps.

## :memo: License

Licensed under the [MIT License](./LICENSE).