open-index/open-npm huggingface dataset:
npm package: @kljn/linear-context-server
Description: A Model Context Protocol server
Latest version: 0.3.0

# Linear MCP Server

A Model Context Protocol server for Linear.

## Tools
> [!IMPORTANT]
> * means required.

### `create_issue`
Create a new Linear issue.

**Parameters**

- `title` (string*): Title of the issue
- `description` (string): Description of the issue
- `assignee` (string): Set to 'me' to assign to self

### `create_comment`
Create a new comment on an existing Linear issue.

**Parameters**

- `id` (string*): ID of the existing Linear issue.
- `body` (string*): Body of the comment

### `list_issues`
List all Linear issues assigned to me.

**Parameters**

N/A

### `list_teams`
List all Linear teams I have access to.

**Parameters**

N/A

## Examples

### Listing issues assigned to me
![Listing assigned issues](https://github.com/user-attachments/assets/11a41e9c-10ed-4cd4-a028-969708a9e389)

### Creating an issue
![Creating an issue](https://github.com/user-attachments/assets/d898e55e-17d2-4a51-82b8-2f291746ebd9)
![Created issue](https://github.com/user-attachments/assets/05761309-f3f4-4945-a7b0-15e98df9aa9d)

## How to use

To use with Claude Desktop, add the server config.

### Linear API key

You can create a Personal API Key at [https://linear.app/your-team-name/settings/account/security](https://linear.app/<team>/settings/account/security). Remember to replace `your-team-name` with the correct value.

### Automatic

> [!TIP]
> `.env` files are supported.

```shell
LINEAR_API_KEY=<your-linear-api-key> npm run configure [--force] [--name=<server-name>]
```

### Manual

On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`

On Windows: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "linear-context-server": {
      "command": "node",
      "args": [
        "/<path-to-folder>/linear-context-server/build/server.js"
      ],
      "env": {
        "LINEAR_API_KEY": <your-linear-api-key>
      }
    }
  }
}
```

## Development

Install dependencies:
```bash
npm install
```

Build the server:
```bash
npm run build
```

For development with auto-rebuild:
```bash
npm run watch
```

### Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:

```bash
npm run inspector
```

The Inspector will provide a URL to access debugging tools in your browser.
npm package: @kll_/basic
Description: Plugin de fonctionnalités de base pour le framework KLL
Author: Kazerlelutin
Latest version: 0.1.7

# KLL Framework Plugins

This documentation provides an overview of the plugins available for the KLL Framework. Each plugin is designed to extend the functionality of the KLL Framework, providing developers with more tools to create dynamic and interactive web applications.

## Available Plugins

### 1. CreateComponentPlugin

#### Overview

The `CreateComponentPlugin` allows developers to dynamically create new components with specified parameters and automatically hydrates them.

#### Usage

To use this plugin, instantiate it with a reference to your KLL instance. You can then call its `action` method to create a new component.

#### Parameters

- `templateName`: The name of the template to use for the new component.
- `ctrlName`: The name of the controller to bind with the component.
- `id`: A unique identifier for the new component.
- `stateAttrs`: (Optional) Initial state attributes for the component.

#### Returns

- `HTMLElement`: The newly created and hydrated DOM element.

### 2. SmartRenderPlugin

#### Overview

The `SmartRenderPlugin` injects state into a component and renders it by replacing placeholders with the state object's corresponding values.

#### Usage

Instantiate the plugin with a reference to your KLL instance. Use the `action` method to inject and render the state into a specified element.

#### Parameters

- `element`: The HTML element to inject variables and render.
- `state`: The state object whose properties will be injected into the component.

#### Returns

- This method updates the innerHTML of the `element` with the injected state values.

### 3. ManageAttrsPlugin

#### Overview

The `ManageAttrsPlugin` provides a powerful way to manage the attributes of an HTML element, including custom `data-`, `kll-`, and `aria-` attributes, as well as handling element state attributes like `disabled`, `checked`, and `selected`.

#### Usage

After instantiating this plugin with your KLL instance, use its `action` method on an HTML element to manage its attributes.

#### Parameters

- `element`: The HTML element to manage attributes.

#### Returns

- A complex object containing proxies for `data`, `kll`, `aria`, and `state` attributes, allowing for dynamic management and updates of these attributes on the targeted element.

## Installation

To use these plugins, include them in your project alongside the KLL Framework. Ensure that you have a KLL instance created, and then instantiate each plugin with this instance.

```js
//main.js
import { KLL } from '@kll_/core'
import { CreateComponentPlugin, SmartRenderPlugin, ManageAttrsPlugin } from '@kll_/basic'

const config = {
  plugins: [CreateComponentPlugin, SmartRenderPlugin, ManageAttrsPlugin],
}

// Initialize KLL
const app = new KLL(config)
```