open-index/open-npm huggingface dataset:
npm package: @lweight/inblog-mcp
Description: MCP server for the inblog.ai blogging platform API
Author: Lightweight Inc.
Latest version: 1.0.1

# @lweight/inblog-mcp

MCP (Model Context Protocol) server for the [inblog.ai](https://inblog.ai) blogging platform API.

Manage your inblog blog directly from AI tools like [Claude Code](https://claude.ai/claude-code) — list, create, update, publish, and delete posts and tags without leaving your workflow.

## Quick Start

Add to your Claude Code MCP configuration:

```json
{
  "mcpServers": {
    "inblog": {
      "command": "npx",
      "args": ["-y", "@lweight/inblog-mcp"],
      "env": {
        "INBLOG_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

Get your API key from: **inblog dashboard > Settings > API Keys**

## Tools (11)

### Posts
| Tool | Description |
|------|-------------|
| `inblog_list_posts` | List posts with filtering (published/drafts), sorting, and pagination |
| `inblog_get_post` | Get a post by ID with full content and metadata |
| `inblog_create_post` | Create a new draft post |
| `inblog_update_post` | Update post fields (title, content, SEO metadata, etc.) |
| `inblog_publish_post` | Publish a draft post |
| `inblog_delete_post` | Delete a post permanently |

### Tags
| Tool | Description |
|------|-------------|
| `inblog_list_tags` | List all tags with pagination |
| `inblog_create_tag` | Create a new tag |
| `inblog_assign_tags` | Assign tags to a post |
| `inblog_delete_tag` | Delete a tag permanently |

### Blog
| Tool | Description |
|------|-------------|
| `inblog_get_blog` | Get blog settings (title, domain, GA, etc.) |

## Features

- **Two output formats**: `markdown` (human-readable) and `json` (structured data) for all read tools
- **Pagination**: Page-based pagination with `has_more` indicator
- **Error handling**: Specific error messages with actionable suggestions for each HTTP status
- **Input validation**: Zod schemas with strict mode — rejects unknown fields, validates ID formats
- **Response truncation**: Large responses are automatically truncated with notice (25,000 char limit)
- **Tool annotations**: `readOnlyHint`, `destructiveHint`, `idempotentHint` for safe AI behavior

## Configuration

### Environment Variable (recommended)

Set `INBLOG_API_KEY` in your MCP server configuration's `env` field.

### .env File (fallback)

The server also checks for a `.env` file in the working directory:

```
INBLOG_API_KEY=your-api-key-here
```

## Requirements

- Node.js >= 18
- inblog.ai account with API access (Team plan or higher)

## License

MIT
npm package: @lweight/xbrush-api-mcp
Description: MCP server for the XBrush AI media generation API
Author: Lightweight Inc.
Latest version: 1.1.0

# @lweight/xbrush-api-mcp

MCP server for the [XBrush](https://xbrush.ai) AI media generation API. Generate images, edit photos, upscale, remove backgrounds, and more — directly from Claude Code.

## Quick Start

### 1. Get an API Key

Sign up at [xbrush.ai](https://xbrush.ai) and create an API key in Dashboard > API Keys.

### 2. Configure Claude Code

Add to your MCP settings:

```json
{
  "mcpServers": {
    "xbrush": {
      "command": "npx",
      "args": ["-y", "@lweight/xbrush-api-mcp"],
      "env": {
        "XBRUSH_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

### 3. Use It

```
"Generate an image of a cat sitting on a desk"
"Remove the background from this image"
"Upscale this image to 2x"
```

## Available Tools

### Image

| Tool | Description |
|------|-------------|
| `xbrush_image_generate` | Generate images from text prompts (sync) |
| `xbrush_image_edit` | Edit images with text instructions (async) |
| `xbrush_image_upscale` | Upscale images to higher resolution (async) |
| `xbrush_image_remove_bg` | Remove background from images (sync) |

### Utility

| Tool | Description |
|------|-------------|
| `xbrush_list_models` | List available AI models with pricing |
| `xbrush_get_request` | Check status/result of async operations |
| `xbrush_list_requests` | List recent API requests |
| `xbrush_file_upload` | Upload local file to XBrush CDN |
| `xbrush_check_health` | Check API server status |

## Sync vs Async

- **Sync tools** (`image_generate`, `image_remove_bg`): Return results immediately.
- **Async tools** (`image_edit`, `image_upscale`): Return a request ID. Use `xbrush_get_request` to check the result.

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `XBRUSH_API_KEY` | Yes | Your XBrush API key |
| `XBRUSH_BASE_URL` | No | API base URL (defaults to `https://api.xbrush.run`) |

## License

MIT
npm package: @lweller/leaflet-areaselect
Description: A fixed positioned, resizable rectangle for selecting an area on the map.
Author: Jonatan Heyman
Latest version: 1.3.0

# Leaflet AreaSelect

AreaSelect is a leaflet plugin for letting users select a square area (bounding box), 
using a resizable centered box on top of the map. 

![longitude.me](https://s3-eu-west-1.amazonaws.com/heyman.info/screenshots/leaflet-areaselect.jpg)

Another similar plugin is [leaflet-locationfilter](https://github.com/kajic/leaflet-locationfilter), 
which solves the same problem but provides a rectangle that is movable and not fixed to the center, 
but doesn't support keeping the aspect ratio.

## Example Code
```javascript
    // Add it to the map
    var areaSelect = L.areaSelect({width:200, height:300, minWidth:40, minHeight:40, minHorizontalSpacing:40, minVerticalSpacing:100});
    areaSelect.addTo(map);
    
    // Read the bouding box
    var bounds = areaSelect.getBounds();
    
    // Get a callback when the bounds change
    areaSelect.on("change", function() {
        console.log("Bounds:", this.getBounds());
    });
    
    // Set the dimensions of the box
    areaSelect.setDimensions({width: 500, height: 500})

    // And to remove it do:
    //areaSelect.remove();
```

**You can also make it keep the aspect ratio:**

```javascript
    var areaSelect = L.areaSelect({width:200, height:300, keepAspectRatio:true});
```

**If you need the coordinates for all four corners of the bounding box:**

```javascript
    var bboxCoordinates = areaSelect.getBBoxCoordinates();
```

## See it in action

Check out the [bundled example](http://heyman.github.com/leaflet-areaselect/example/), 
or this [JSFiddle](http://jsfiddle.net/heyman/3N2DN/) where I've set *keepAspectRatio:true*.

## Author

AreaSelect is developed by [Jonatan Heyman](http://heyman.info).

Further improvements made by Lucien Weller. 

## Change Log

### 1.2.1
* Initial Version published to npmjs under spoce _lweller_

### 1.3.0
* Feature: added events to cover the complete resizing cycle (resizsestart, resize, resizeend)
* Feature: exposed in type definition current dimension of area with getDimensions
* Fix: extending AreaSelect form Evented in type definition
* Fix: rendering when area select dimension are bigger than map
* Fix: position of handles when a scrollbar is display on page

## License

MIT License
npm package: @lwjjs/theme
Description: #### 设置主题
Author: lwj1426282929
Latest version: 0.0.1

# theme-js

#### 设置主题

#### 安装

##### npm

```bash
npm i @lwjjs/theme
```

##### browser

```js
<script src="https://unpkg.com/@lwjjs/theme/dist/index.umd.js"></script>
```

#### 使用

```js
import Theme from "@lwjjs/theme";

new Theme();
```

#### 自定义主题配置项

在初始化阶段可以通过传入参数来配置主题唯一标识

```js
new Theme({ name: "themeName", code: "themeCode" });
```

#### Methods

| 方法名      | 说明               | 参数      | 返回值   |
| ----------- | ------------------ | --------- | -------- |
| getTheme    | 获取当前主题       | -         | 当前主题 |
| setTheme    | 设置主题为当前主题 | theme     | -        |
| setThemes   | 设置所有主题列表   | themes    | -        |
| addTheme    | 添加主题           | theme     | -        |
| removeTheme | 删除主题           | themeCode | -        |
npm package: @lwmacct/251220-npm-pkg-monorepo-cli
Description: Command line utilities
Latest version: 0.5.0

# @lwmacct/251220-npm-pkg-monorepo-cli

<!--TOC-->

- [安装](#安装) `:14+6`
- [使用](#使用) `:20+22`
- [命令](#命令) `:42+9`
- [License](#license) `:51+3`

<!--TOC-->

命令行工具，基于 @lwmacct/251220-npm-pkg-monorepo-utils。

## 安装

```shell
npm install -g @lwmacct/251220-npm-pkg-monorepo-cli
```

## 使用

```shell
# 问候
lwm greet World
# => Hello, World!

# 生成随机 ID
lwm id
# => a1b2c3d4

lwm id 16
# => a1b2c3d4e5f6g7h8

# 显示当前日期
lwm date
# => 2025-12-20

# 帮助
lwm help
```

## 命令

| 命令               | 参数              | 说明         |
| ------------------ | ----------------- | ------------ |
| `lwm greet [name]` | 名字 (默认 World) | 输出问候语   |
| `lwm id [length]`  | 长度 (默认 8)     | 生成随机 ID  |
| `lwm date`         | 无                | 输出当前日期 |
| `lwm help`         | 无                | 显示帮助信息 |

## License

MIT
npm package: @lwmacct/251220-npm-pkg-monorepo-utils
Description: Utility functions library
Latest version: 0.5.0

# @lwmacct/251220-npm-pkg-monorepo-utils

<!--TOC-->

- [安装](#安装) `:14+6`
- [使用](#使用) `:20+20`
- [API](#api) `:40+9`
- [License](#license) `:49+3`

<!--TOC-->

一个简单的工具函数库。

## 安装

```shell
npm install @lwmacct/251220-npm-pkg-monorepo-utils
```

## 使用

```javascript
import { greet, randomId, formatDate, sleep } from "@lwmacct/251220-npm-pkg-monorepo-utils";

// 问候
greet("World"); // => "Hello, World!"

// 生成随机 ID
randomId(); // => "a1b2c3d4"
randomId(12); // => "a1b2c3d4e5f6"

// 格式化日期
formatDate(); // => "2025-12-20"
formatDate(new Date("2024-01-01")); // => "2024-01-01"

// 异步等待
await sleep(1000); // 等待 1 秒
```

## API

| 函数                | 参数              | 返回值          | 说明                |
| ------------------- | ----------------- | --------------- | ------------------- |
| `greet(name)`       | `string`          | `string`        | 返回问候语          |
| `randomId(length?)` | `number` (默认 8) | `string`        | 生成随机 ID         |
| `formatDate(date?)` | `Date` (默认当前) | `string`        | 格式化为 YYYY-MM-DD |
| `sleep(ms)`         | `number`          | `Promise<void>` | 异步等待指定毫秒    |

## License

MIT
npm package: @lwmqn/smartbase
Description: Create a smartobject by using plugins.
Author: Simen Li
Latest version: 0.2.1

smartbase
========================
smartbase is a base board for you to create a smartobject with plugins.

[![NPM](https://nodei.co/npm/smartbase.png?downloads=true)](https://nodei.co/npm/smartbase/)

[![Travis branch](https://img.shields.io/travis/lwmqn/smartbase/master.svg?maxAge=2592000)](https://travis-ci.org/lwmqn/smartbase)
[![npm](https://img.shields.io/npm/v/smartbase.svg?maxAge=2592000)](https://www.npmjs.com/package/smartbase)
[![PyPI](https://img.shields.io/pypi/status/Django.svg?maxAge=2592000)](https://www.npmjs.com/package/smartbase)
[![npm](https://img.shields.io/npm/l/smartbase.svg?maxAge=2592000)](https://www.npmjs.com/package/smartbase)
[![Greenkeeper badge](https://badges.greenkeeper.io/lwmqn/smartbase.svg)](https://greenkeeper.io/)
[![Coverage Status](https://coveralls.io/repos/github/lwmqn/smartbase/badge.svg?branch=master)](https://coveralls.io/github/lwmqn/smartbase?branch=master)

<br />

## 1. Overview

This module helps developers integrate plugins into a smartobject. **smartbase** is like a carrier and plugins are various peripherals such as a LED, a temperature sensor, a switch to be put into the smartobject. In addition, **smartbase ** makes the smartobject listenable as well.

<br />

## 2. Installation

> $ npm install smartbase --save

<br />

## 3. Basic Usage

```js
var SmartObject = require('smartobject'),
    smartbase = require('smartbase');

// Plugin of a LED on LinkIt Smart 7688
var ledPlugin = require('linkit-smart-7688-led');
var so = new SmartObject();

so = smartbase(so, {
    led0: ledPlugin({ iid: 0, pin: 10, active: 'high' }),
    led1: ledPlugin({ iid: 1, pin: 11, active: 'low' })
});

// attach a listener to receive the change from resource 'lightCtrl/0/onOff'
so.onChange('lightCtrl/0/onOff', function (cVal, pVal) {
    console.log('A listener to this resource');
    console.log(cVal);  // current value
    console.log(pVal);  // previous value
});

so.onChange('temperature/0/sensorValue', function (cVal, pVal) {
    console.log('Another listener to this resource');
});

// Modify the sensorValue of the temperature sensor and the listener will be triggered
so.write('temperature', 0, 'sensorValue', 80, function (err, data) {
    if (err)
        console.log(err);
});
```

<br />
npm package: @lwmqn/util
Description: Utility for LwMQN shepherd server and qnode client libraries.
Author: Simen Li
Latest version: 0.6.2

![LwMQN Network](https://raw.githubusercontent.com/lwmqn/documents/master/media/lwmqn_net.png)

<div align="center">

**lwmqn-util** is an utility for LwMQN lwmqn-shepherd server and lwmqn-node client libraries.

[![NPM version](https://img.shields.io/npm/v/@lwmqn/util.svg?style=flat-square)](https://www.npmjs.com/package/@lwmqn/util)
[![NPM downloads](https://img.shields.io/npm/dm/@lwmqn/util.svg?style=flat-square)](https://www.npmjs.com/package/@lwmqn/util)
[![Travis branch](https://img.shields.io/travis/lwmqn/util/master.svg?maxAge=2592000&style=flat-square)](https://travis-ci.org/lwmqn/util)
[![Gitter](https://img.shields.io/gitter/room/lwmqn/Lobby.svg?style=flat-square)](https://gitter.im/lwmqn/Lobby)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](http://standardjs.com/)
![pr-welcoming-image](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)

</div>

-------

## What is LWMQN

Lightweight Message Queuing Network ([**LwMQN**](http://lwmqn.github.io)) is an open source project that follows part of [**OMA LwM2M v1.0**](http://technical.openmobilealliance.org/Technical/technical-information/release-program/current-releases/oma-lightweightm2m-v1-0) specification to meet the minimum requirements of machine network management.

### Server-side and Client-side Libraries:
   - LwMQN project provides you with this machine-side **@lwmqn/qnode** library and a server-side [**@lwmqn/shepherd**](https://github.com/lwmqn/shepherd) library to build your machine network with JavaScript and node.js easily.

* Server-side library: [**lwmqn-shepherd**](https://github.com/lwmqn/shepherd)
* Client-side library: [**lwmqn-node**](https://github.com/lwmqn/qnode)
* [**A simple demo webapp**](https://github.com/lwmqn/demo)

**lwmqn-util** is a utility for Lightweight Message Queuing Network ([@lwmqn/shepherd](https://github.com/lwmqn/shepherd)) and Client([@lwmqn/qnode](https://github.com/lwmqn/qnode))  modules. This utility provides some common methods of getting identifiers in string or in number, getting command ids, getting response codes, and tackling the path of resource alloaction.

-------

## Installation

Currently [Node.js 8.x LTS](https://nodejs.org/en/about/releases/) or higher is required.

```bash
$ npm install @lwmqn/util
```

-------

## Documentation

Please visit the <a href="https://github.com/lwmqn/util/blob/master/docs/API.md"><code><b>API</b></code></a>.

-------

## License

Licensed under [MIT](https://github.com/lwmqn/util/blob/master/LICENSE).