semvec/pypi-packages huggingface dataset:
aivk_qq 0.1.3.0
AIVK-QQ：一个强大的QQ机器人框架，集成MCP服务器、CLI工具、Napcat.Shell启动器和Napcat API SDK于一体，为AI驱动的QQ交互提供全方位支持
Requires Python: >=3.13

# AIVK-QQ

<div align="center">
  
![AIVK-QQ Logo](https://img.shields.io/badge/AIVK--QQ-智能QQ框架-blue?style=for-the-badge&logo=tencent-qq)

[![Python Version](https://img.shields.io/badge/Python-3.13+-blue.svg)](https://www.python.org/)
[![License](https://img.shields.io/github/license/LIghtJUNction/aivk-qq)](LICENSE)

**aivk-qq 是pypi包 / uv project / aivk module / mcp server / cli tool /Napcat launcher
**集成MCP服务器、CLI工具、Napcat.Shell启动器和Napcat API SDK于一体**

</div>

## ✨ 特性

- 🤖 **全功能QQ机器人框架** - 基于AIVK生态系统构建
- 🌐 **MCP服务器集成** - 支持Model Context Protocol，轻松连接大语言模型
- 🛠️ **便捷CLI工具** - 简化配置和部署流程
- 🚀 **Napcat.Shell启动器** - 无缝启动和管理QQ客户端
- 📚 **强大的API SDK** - 简化QQ机器人开发过程

## 🚀 快速开始

### 安装

使用 uv 包管理器安装：

```bash
uv tool install aivk_qq
```

### 配置AIVK环境

设置AIVK根目录（以下三种方式任选其一）：
aivk-qq help <command>

```bash

1. 通过命令行指定：
   ```bash
   aivk init --path /path/to/aivk/root/
   ```

2. 设置环境变量：
   ```bash
   AIVK_ROOT=/path/to/aivk/root/
   ```

3. 使用默认路径：`~/.aivk`

### 启动应用

启动AIVK-QQ（可选择指定AIVK根目录）：

```bash
aivk-qq --path /path/to/aivk/root/
```

### 配置机器人

配置机器人账号信息（配置将保存至`AIVK_ROOT/etc/qq/config.toml`）：

```bash
aivk-qq config --bot_uid <机器人QQ号> --root <超级管理员QQ号>
```

## 💼 MCP服务器配置

### 默认（stdio）模式启动

```bash
aivk-qq mcp
```

### SSE传输模式启动

```bash
aivk-qq mcp --transport sse --port 10141 --host 127.0.0.1
```

启动后，可通过以下地址访问SSE服务：
```
http://localhost:10141/sse/
```

## 📱 Napcat.Shell 启动

启动Napcat.Shell实现QQ客户端功能增强：

```bash
aivk-qq nc
```

支持以下选项：
- `-p, --path` - 指定AIVK根目录（可选）
- `-d, --debug` - 启用调试模式（可选）

## 🔧 常见问题解决

如果遇到启动问题，请尝试：
1. 确认QQ客户端已正确安装
2. 确保以管理员权限运行
3. 检查AIVK环境配置是否正确

## 🤝 参与贡献

欢迎提交Pull Request或创建Issue来改进项目！请确保遵循项目的代码规范。

## 📄 开源协议

本项目基于 [MIT 许可证](LICENSE) 开源。

## 🙏 致谢

本项目基于以下开源项目：

- [AIVK](https://github.com/LIghtJUNction/aivk) - AI虚拟内核框架
- [MCP](https://github.com/modelcontextprotocol/python-sdk) - Model Context Protocol
- [Napcat](https://github.com/RockChinQ/NapCat) - QQ客户端增强工具

感谢所有这些项目的贡献者，使本项目成为可能。
science-museum-mcp 1.0.0
MCP Server for the British Science Museum
Requires Python: >=3.13

# A Model Context Protocol Server for the UK Science Museum Group API

This project is a Python MCP (https://modelcontextprotocol.io/introduction) server that allows your LLM to fetch data
from the UK Science Museum Group. Info is available at https://github.com/TheScienceMuseum/collectionsonline/wiki/Collections-Online-API#get-search.

It is currently supported by Claude Desktop for MacOS and Windows.

# Integrate with Claude Desktop

All you need is to install UV, a Python package/ project manager, then change your Claude Desktop settings to add this MCP.

For MacOS:

```shell
brew install uv
```

For Windows:

```shell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
OR with winget:

```shell
winget install --id=astral-sh.uv  -e
```

Other installation options are available at https://docs.astral.sh/uv/getting-started/installation.

To configure Claude Desktop, go to Claude Desktop's settings -> Developer, edit config.

This will create a configuration file at:

    macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    Windows: %APPDATA%\Claude\claude_desktop_config.json

Open this file and change it to:

```json
{
  "mcpServers": {
    "scienceMuseum": {
      "command": "uvx",
      "args": [
        "science-museum-mcp"
      ]
    }
  }
}
```
Opening Claude Desktop should now start the MCP server, and Claude can be queried. As an example:

![image](https://github.com/user-attachments/assets/f934d6fb-4938-4ad5-969c-18d060e20134)


Anthropic's own instructions for this step are here - https://modelcontextprotocol.info/docs/quickstart/user/.

# Developing

This section is for anyone who wants to contribute to the codebase.

## Setup and Install Dependencies

Clone the repository.

The project is configured to use uv (Install link: https://docs.astral.sh/uv/#installation) for dependency management 
and building.
It uses npx (Install link: https://www.npmjs.com/package/npx) to run the MCP inspector.  

Create a virtual env with

```shell
uv venv
```

And install dependencies with

```shell
uv pip install -r pyproject.toml
```

Run the inspector with
```shell
./inspector.sh
```
The inspector should output the localhost URL for accessing its UI.
## Running Unit Tests

```shell
source .venv/bin/activate
pytest
```
Notipyer 0.4.0
Notification Triggers for Python
Requires Python: >=3.6

# Notipyer
#### Notification Triggers for Python
Send async email and slack notifications via Python. Get updates/crashlogs from your scripts with ease. 

## Installation
```bash
python -m venv env
source env/bin/activate
pip install notipyer
```

## Email Notifications
Notipyer currently supports Gmail accounts as senders. To allow the library to use your Gmail account, make the following changes:
   
1. Turn on 2-Step authentication. [Ref](https://support.google.com/accounts/answer/185839)
2. Create an app password. [Ref](https://support.google.com/mail/answer/185833)
3. While creating an app password, select app as "Other (Custom name)" and enter a name of your choice. 
4. Use the password obtained from app password for the configuration step below.
5. More information can be obtained on the wiki page [here](https://github.com/chirag-jn/notipyer/wiki/Notifications-via-Email)

### Configuration
```python
from notipyer.email_notify import set_email_config

SENDER_EMAIL = 'myemail@gmail.com'
SENDER_PASS = 'my_app_password'
SENDER_NAME = 'my name'
set_email_config(SENDER_EMAIL, SENDER_PASS, SENDER_NAME)
```
### Sending Email
```python
from notipyer.email_notify import send_email

subject = 'My Email Subject'
body = 'My Email Body'
reply_to_recipient = 'reply-to-email@domain.com' # Can be None
to_recipients = ['to-email-1@domain.com', 'toemail2@domain.com'] # Can be None
cc_recipients = ['cc-email-1@domain.com', 'cc-email-2@domain.com'] # Can be None
bcc_recipients = ['bcc-email-1@domain.com', 'bcc-email-2@domain.com'] # Can be None
attachment_path = 'path_to_my_file' # Can be None
html = """\
<html>
  <head></head>
  <body>
    <p>Hi!<br>
       How are you?<br>
    </p>
  </body>
</html>
""" # Can be None
is_async = True # Sent as an async email only if this parameter is True

send_email(subject, body, to_recipients, reply_to_recipient, cc_recipients, bcc_recipients, attachment_path, html_text, is_async)
```

## Slack Notifications
Notipyer currently supports running a single workplace install only. 
   
For setting up token keys for using slack notifications, follow the wiki page [here](https://github.com/chirag-jn/notipyer/wiki/Notifications-via-Slack)
   
### Configuration
```python
from notipyer.slack_notify import set_slack_token_config

# Follow the wiki for getting the bot token
BOT_TOKEN = 'xoxb-12345678990123-1234567890123-abcdefghijklmnopqrstuvwx' 
set_slack_token_config(BOT_TOKEN)
```
### Sending Message
```python
from notipyer.slack_notify import send_message

# the bot should be added to the channel
channel = 'my-channel-name'
message = 'my-message'

set_slack_token_config(SLACK_TOKEN)
send_message(channel, message)
```

## Contact
[Chirag Jain](https://github.com/chirag-jn)