semvec/pypi-packages huggingface dataset:
novelai-mcp 0.1.0
NovelAI MCP Server - 为 AI 助手提供 NovelAI 图像生成能力
Requires Python: >=3.11
Keywords: ai, image-generation, mcp, model-context-protocol, novelai

# NovelAI MCP Server

[![PyPI version](https://badge.fury.io/py/novelai-mcp.svg)](https://pypi.org/project/novelai-mcp/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

基于 [novelai-python](https://github.com/LlmKira/novelai-python) SDK 的 MCP 服务器，为 AI 助手提供 NovelAI 图像生成能力。

## ✨ 功能

| 工具 | 说明 |
|------|------|
| `generate_image` | 文生图，支持多角色定位、Vibe Transfer、Precise Reference |
| `img2img` | 图生图，基于已有图片变换 |
| `suggest_tags` | Danbooru 标签搜索/自动补全 |
| `check_subscription` | 查询订阅状态和 Anlas 余额 |

### 支持模型

| 名称 | 模型 ID | 说明 |
|------|---------|------|
| `v4.5-full` | nai-diffusion-4-5-full | 最新最完整（默认） |
| `v4.5-curated` | nai-diffusion-4-5-curated | 更干净的数据集 |
| `v4-full` | nai-diffusion-4-full | V4 Full |
| `v4-curated` | nai-diffusion-4-curated-preview | V4 预览 |
| `v3` | nai-diffusion-3 | V3（老款） |

## 🚀 快速开始

### 前置条件

- Python 3.11+
- NovelAI API Key（以 `pst-` 开头，从 [novelai.net](https://novelai.net/) 获取）

### 方式一：通过 PyPI 安装（推荐）

```bash
# 使用 uvx 直接运行（无需手动安装）
NOVELAI_API_KEY=pst-xxx uvx novelai-mcp

# 或者用 pip 安装
pip install novelai-mcp
NOVELAI_API_KEY=pst-xxx novelai-mcp
```

### 方式二：从源码安装

```bash
# 克隆项目
git clone https://github.com/hesoyamlp1/MCP-NovelAI.git
cd MCP-NovelAI

# 使用 uv 安装依赖
uv sync

# 运行
NOVELAI_API_KEY=pst-xxx uv run novelai-mcp
```

### 运行选项

```bash
# Stdio 模式（默认，Claude Desktop / Antigravity / Cursor）
NOVELAI_API_KEY=pst-xxx novelai-mcp

# HTTP 模式（LobeChat / Dify）
NOVELAI_API_KEY=pst-xxx novelai-mcp --transport streamable-http --port 3000

# 或者使用 .env 文件
cp .env.example .env
# 编辑 .env 填入你的 API Key
novelai-mcp
```

### 调试

```bash
# 使用 MCP Inspector
uvx mcp dev src/novelai_mcp/server.py
```

## 🔧 接入配置

### Claude Desktop / Antigravity / Cursor

**通过 PyPI（推荐）：**

```json
{
  "mcpServers": {
    "novelai": {
      "command": "uvx",
      "args": ["novelai-mcp"],
      "env": {
        "NOVELAI_API_KEY": "pst-xxx"
      }
    }
  }
}
```

**从源码：**

```json
{
  "mcpServers": {
    "novelai": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/MCP-NovelAI", "novelai-mcp"],
      "env": {
        "NOVELAI_API_KEY": "pst-xxx"
      }
    }
  }
}
```

### LobeChat / Dify

启动 HTTP 模式后，在客户端配置：
- **URL**: `http://localhost:3000/mcp`
- **传输**: Streamable HTTP

## 🌍 环境变量

| 变量 | 必需 | 说明 |
|------|------|------|
| `NOVELAI_API_KEY` | ✅ | NovelAI API Key |
| `NOVELAI_SAVE_DIR` | ❌ | 图片自动保存目录 |
| `HTTPS_PROXY` | ❌ | HTTPS 代理地址 |

## 📄 许可证

MIT
envfile-checker 0.1.0
Check .env files for missing variables, placeholders, and sensitive data
Requires Python: >=3.8
Keywords: check, dotenv, env, environment, validate, variables

# env-checker 🔍

检查 `.env` 文件的健康状态：缺失变量、占位符、敏感信息、格式问题。

## 痛点

- 部署时忘记更新 `.env`，服务挂了
- `.env.example` 和 `.env` 不同步，新成员 onboard 出问题
- 敏感信息误提交到 git
- 占位符忘记替换

## 安装

```bash
pip install env-checker
```

## 使用

```bash
# 分析单个文件
env-checker .env

# 比较两个文件（检查缺失变量）
env-checker .env .env.example

# 检查目录中所有 .env 文件
env-checker --dir ./myproject

# JSON 格式输出（方便脚本处理）
env-checker .env --json
```

## 示例输出

```
📊 分析: .env
============================================================
📝 总变量数: 12

⚠️  空值变量 (2):
   • DATABASE_URL
   • REDIS_URL

📌 占位符变量 (1):
   • API_KEY (your-api-key-here)

🔐 敏感变量 (3):
   • SECRET_KEY: a1b2c3d4e5f6...
   • AWS_SECRET_ACCESS_KEY: AKIA...
   • JWT_SECRET: eyJhbGciOi...

✅ 格式检查通过
```

## 比较模式

```
📊 比较: .env.example vs .env
============================================================

❌ .env 中缺失的变量:
   • NEW_FEATURE_FLAG
   • ANALYTICS_KEY

⚠️  .env.example 中缺失的变量:
   • DEBUG_MODE

🔄 值不同的变量:
   • NODE_ENV
```

## 功能

| 功能 | 说明 |
|------|------|
| 缺失检测 | 比较两个文件，找出缺失的变量 |
| 占位符检测 | 找出 `your-xxx`、`changeme`、`TODO` 等占位符 |
| 敏感信息检测 | 找出 password、secret、token 等敏感变量 |
| 空值检测 | 找出没有赋值的变量 |
| 格式检查 | 检查变量名格式、特殊字符转义 |

## CI/CD 集成

```yaml
# GitHub Actions
- name: Check env files
  run: |
    pip install env-checker
    env-checker .env.example .env.production --json > env-report.json
```

## License

MIT - Built by [IndieKit](https://indiekit.ai)
Topsis-Mehul-102317146 1.0.0
A Python package for TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution)
Requires Python: >=3.6

# Topsis-Mehul-102317146

## Description
A Python package implementing TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) method for multi-criteria decision making.

## Installation

```
pip install Topsis-Mehul-102317146
```

## Usage

### Command Line

```
topsis <InputDataFile> <Weights> <Impacts> <OutputResultFileName>
```

### Example

```
topsis data.csv "1,1,1,2" "+,+,-,+" output-result.csv
```

### Input File Format

The input file must be a CSV file with the first column as the object/variable name and the remaining columns as numeric criteria values.

| Fund Name | P1   | P2   | P3  | P4   | P5    |
|-----------|------|------|-----|------|-------|
| M1        | 0.67 | 0.45 | 6.5 | 42.6 | 12.56 |
| M2        | 0.6  | 0.36 | 3.6 | 53.3 | 14.47 |
| M3        | 0.82 | 0.67 | 3.8 | 63.1 | 17.1  |
| M4        | 0.6  | 0.36 | 3.5 | 69.2 | 18.42 |
| M5        | 0.76 | 0.58 | 4.8 | 43   | 12.29 |
| M6        | 0.69 | 0.48 | 6.6 | 48.7 | 14.12 |
| M7        | 0.79 | 0.62 | 4.8 | 59.2 | 16.35 |
| M8        | 0.84 | 0.71 | 6.5 | 34.5 | 10.64 |

### Output File Format

The output file will contain the original data along with two additional columns: **Topsis Score** and **Rank**.

| Fund Name | P1   | P2   | P3  | P4   | P5    | Topsis Score | Rank |
|-----------|------|------|-----|------|-------|--------------|------|
| M1        | 0.67 | 0.45 | 6.5 | 42.6 | 12.56 | 20.58        | 2    |
| M2        | 0.6  | 0.36 | 3.6 | 53.3 | 14.47 | 40.83        | 4    |
| M3        | 0.82 | 0.67 | 3.8 | 63.1 | 17.1  | 30.07        | 3    |
| M4        | 0.6  | 0.36 | 3.5 | 69.2 | 18.42 | 50.22        | 5    |
| M5        | 0.76 | 0.58 | 4.8 | 43   | 12.29 | 10.41        | 1    |
| M6        | 0.69 | 0.48 | 6.6 | 48.7 | 14.12 | 80.51        | 8    |
| M7        | 0.79 | 0.62 | 4.8 | 59.2 | 16.35 | 70.74        | 7    |
| M8        | 0.84 | 0.71 | 6.5 | 34.5 | 10.64 | 60.33        | 6    |

*Your input-data and output-result may be different.

## Validations

- Correct number of parameters (inputFileName, Weights, Impacts, resultFileName)
- Handling of "File not Found" exception
- The input file must contain three or more columns
- From 2nd to last columns must contain numeric values only
- The number of weights, number of impacts and number of columns (from 2nd to last columns) must be the same
- Impacts must be either +ve or -ve
- Impacts and weights must be separated by ',' (comma)

## License

MIT