semvec/pypi-packages huggingface dataset:
data-wise-location-mcp-server 1.0.12
Location MCP Server - 提供银行、身份证、IP、手机号归属地查询的 MCP 服务
License: MIT
Requires Python: >=3.8
Keywords: attribution, bank, fastmcp, id, ip, location, mcp, mobile

# Location MCP Server

提供银行、身份证、IP、手机号归属地查询的 MCP (Model Context Protocol) 服务，基于 FastMCP 框架构建。

## 功能特性

- **银行卡归属地查询**: 根据银行卡号查询银行名称、卡类型等信息
- **身份证归属地查询**: 根据身份证号查询地区归属信息
- **IP归属地查询**: 根据IP地址查询地理位置和ISP信息
- **手机号归属地查询**: 根据手机号查询省份、城市和运营商信息

支持批量查询，每次最多可查询1000条记录。

## 安装和使用

### 方式 1: uvx 运行（推荐）

```bash
uvx data-wise-location-mcp-server
```

### 方式 2: 安装后运行

```bash
pip install data-wise-location-mcp-server
data-wise-location-mcp-server
```

### 方式 3: Python 模块运行

```bash
python -m location.main
```

## IDE 配置

### Windsurf/Codeium 配置

在 `~/.codeium/windsurf/mcp_config.json` 中添加以下配置：

```json
{
  "mcpServers": {
    "data-wise-location": {
      "command": "uvx",
      "args": [
        "data-wise-location-mcp-server"
      ],
      "disabled": false,
      "env": {}
    }
  }
}
```

### Cursor 配置

在 Cursor 的 MCP 设置中添加：

```json
{
  "mcpServers": {
    "data-wise-location": {
      "command": "uvx",
      "args": [
        "data-wise-location-mcp-server"
      ],
      "disabled": false,
      "env": {}
    }
  }
}
```

### Claude Desktop 配置

在 `~/Library/Application Support/Claude/claude_desktop_config.json` 中添加：

```json
{
  "mcpServers": {
    "data-wise-location": {
      "command": "uvx",
      "args": [
        "data-wise-location-mcp-server"
      ],
      "disabled": false,
      "env": {}
    }
  }
}
```

### 可用工具

1. **bank_attribution_batch**
   - 描述: 批量查询银行卡归属地信息
   - 参数: `card_numbers` (string[]) - 银行卡号列表

2. **id_attribution_batch**
   - 描述: 批量查询身份证归属地信息
   - 参数: `id_numbers` (string[]) - 身份证号列表

3. **ip_attribution_batch**
   - 描述: 批量查询IP地址归属地信息
   - 参数: `ip_addresses` (string[]) - IP地址列表

4. **mobile_attribution_batch**
   - 描述: 批量查询手机号归属地信息
   - 参数: `phone_numbers` (string[]) - 手机号列表

## 技术架构

- **FastMCP**: 基于 FastAPI 的 MCP 框架，提供类型安全的工具定义
- **Pydantic**: 用于请求验证和数据模型定义
- **DuckDB**: 高性能嵌入式数据库，存储归属地数据

## 数据来源

服务使用 DuckDB 数据库存储归属地数据，数据库文件位于：
- `bank_card_bin_data.duckdb` - 银行卡BIN数据
- `id_location.duckdb` - 身份证地区代码数据
- `ip_location.duckdb` - IP地址归属地数据
- `mobile_location.duckdb` - 手机号归属地数据

## 返回格式

所有工具返回统一的JSON格式：

```json
{
  "success": true,
  "data": [
    {
      // 具体的归属地信息字段
    }
  ],
  "count": 10
}
```

## 错误处理

当查询失败时，返回：

```json
{
  "success": false,
  "error": "错误信息",
  "data": null
}
```

## 开发说明

本项目从 DataWiseCenter 主项目的 location 数据集模块独立出来，适配 MCP 协议标准。

### 项目结构

```
location/
├── __init__.py          # 包初始化
├── main.py              # FastMCP 服务主程序
├── query.py             # 查询引擎
├── requirements.txt     # 依赖包
└── README.md           # 说明文档
```

### FastMCP 优势

- **类型安全**: 使用 Pydantic 模型进行参数验证
- **自动文档**: 自动生成工具文档和schema
- **FastAPI 集成**: 与 FastAPI 生态系统无缝集成
- **简化开发**: 减少样板代码，提高开发效率
tech-discriptor 2025.12.21161904
A new package designed to transform technical descriptions of hardware or software solutions into structured summaries and feature lists. It takes detailed textual inputs about various systems like Ro
License: MIT
Requires Python: >=3.9

# Tech-Discriptor
[![PyPI version](https://badge.fury.io/py/tech-discriptor.svg)](https://badge.fury.io/py/tech-discriptor)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![Downloads](https://static.pepy.tech/badge/tech-discriptor)](https://pepy.tech/project/tech-discriptor)
[![LinkedIn](https://img.shields.io/badge/LinkedIn-blue)](https://www.linkedin.com/in/eugene-evstafev-716669181/)

Transform technical descriptions into structured summaries and feature lists

## Overview
A new package designed to transform technical descriptions of hardware or software solutions into structured summaries and feature lists.

## Installation
```bash
pip install tech_discriptor
```
## Example Usage
```python
from tech_discriptor import tech_discriptor

user_input = "Romforth—an ultra-portable, small, bare-metal Forth implementation for multiple processors—"
response = tech_discriptor(user_input)

print(response)
```
## Input Parameters
* `user_input`: `str` - the user input text to process
* `llm`: `Optional[BaseChatModel]` - the langchain llm instance to use, if not provided the default ChatLLM7 will be used.
* `api_key`: `Optional[str]` - the api key for llm7, if not provided the default ChatLLM7 will be used.

## Supported LLMs
You can safely pass your own llm instance (based on <https://docs.langchain.io/docs/guides/get-started-with-a-model>) if you want to use another LLM, via passing it like `tech_discriptor(user_input, llm=their_llm_instance)`.

### Examples
#### OpenAI
```python
from langchain_openai import ChatOpenAI
from tech_discriptor import tech_discriptor

llm = ChatOpenAI()
response = tech_discriptor(user_input, llm=llm)
```
#### Anthropic
```python
from langchain_anthropic import ChatAnthropic
from tech_discriptor import tech_discriptor

llm = ChatAnthropic()
response = tech_discriptor(user_input, llm=llm)
```
#### Google Generative AI
```python
from langchain_google_genai import ChatGoogleGenerativeAI
from tech_discriptor import tech_discriptor

llm = ChatGoogleGenerativeAI()
response = tech_discriptor(user_input, llm=llm)
```
## API Key for LLM7
The default `ChatLLM7` LLM is used if no custom LLM is provided. The free tier rate limits are generally sufficient. For higher rate limits with `ChatLLM7`, you can:
* Set the `LLM7_API_KEY` environment variable.
* Pass the API key directly: `tech_discriptor(user_input, api_key="your_api_key")`
You can obtain a free API key by registering at [https://token.llm7.io/](https://token.llm7.io/)

## Contributing
Contributions are welcome! Please refer to the GitHub repository for details.

## License
This project is licensed under the [MIT License](LICENSE).

## Author
* Eugene Evstafev (hi@eugene.plus)

## Contact
For issues or questions, please visit the GitHub issues page: [https://github.com/chigwell/tech-discriptor/](https://github.com/chigwell/tech-discriptor/)
buslytics 2025.12.21154840
A new package that processes text input to monitor and analyze the health and performance of a message bus system. It uses natural language queries to return structured insights about message throughp
License: MIT
Requires Python: >=3.9

# Buslytics
[![PyPI version](https://badge.fury.io/py/buslytics.svg)](https://badge.fury.io/py/buslytics)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![Downloads](https://static.pepy.tech/badge/buslytics)](https://pepy.tech/project/buslytics)
[![LinkedIn](https://img.shields.io/badge/LinkedIn-blue)](https://www.linkedin.com/in/eugene-evstafev-716669181/)


Buslytics is a Python package designed to process natural language user input to monitor and analyze the health and performance of message bus systems. It leverages language models to interpret queries related to message throughput, error rates, queue statuses, and system alerts, delivering structured insights that help developers and operators maintain system reliability without requiring deep technical expertise.

## Installation

Install the package via pip:

```bash
pip install buslytics
```

## Usage

Here's a basic example of how to use Buslytics:

```python
from buslytics import buslytics

response = buslytics(user_input="What is the current error rate?", api_key="your_api_key")
print(response)
```

### Parameters:
- **user_input** *(str)*: The text query input by the user for system analysis.
- **llm** *(Optional[BaseChatModel])*: An optional LangChain LLM instance. If not provided, the default ChatLLM7 from `langchain_llm7` will be used.
- **api_key** *(Optional[str])*: Your LLM7 API key. If not provided, it will be fetched from the environment variable `LLM7_API_KEY`.

### Custom LLM Usage:
You can pass your own language model instance to suit your preferred provider:

```python
from langchain_openai import ChatOpenAI
from buslytics import buslytics

llm = ChatOpenAI()
response = buslytics(user_input="Check message throughput", llm=llm)
```

Other supported models include:

```python
from langchain_anthropic import ChatAnthropic
llm = ChatAnthropic()
response = buslytics(user_input="Check queue status", llm=llm)
```

```python
from langchain_google_genai import ChatGoogleGenerativeAI
llm = ChatGoogleGenerativeAI()
response = buslytics(user_input="Identify system alerts", llm=llm)
```

### Notes:
- The package uses `ChatLLM7` from `langchain_llm7` by default.
- The default rate limits for the free tier of LLM7 are usually sufficient. For higher limits, supply your API key via the environment variable `LLM7_API_KEY` or directly as a parameter.
- Obtain a free API key at [https://token.llm7.io/](https://token.llm7.io/).

## Support and Issues

Please report issues or feature requests at: [https://github.com/chigwell/buslytics/issues](https://github.com/chigwell/buslytics/issues)

## Author

**Eugene Evstafev**  
Email: hi@eugene.plus  
GitHub: [chigwell](https://github.com/chigwell)

## License

This project is licensed under the MIT License.