semvec/pypi-packages huggingface dataset:
company-mcp 0.1.0
MCP server for extracting AI companies and funding information from articles
Requires Python: >=3.12
Keywords: ai, company, extraction, funding, mcp

# Company MCP

一个用于从文章中提取公司信息的 MCP (Model Context Protocol) 服务器，可识别 AI 领域公司及其融资信息。

## 功能

- 从给定的文章 URL 中提取所有公司名称
- 判断每个公司是否为 AI 领域公司
- 判断每个公司是否有融资信息
- 使用 OpenRouter 对接 xiaomi/mimo-v2-flash 模型进行分析

## 安装

```bash
pip install company-mcp
```

或者从源码安装：

```bash
git clone https://github.com/yourusername/company-mcp.git
cd company-mcp
pip install -e .
```

## 配置

创建 `.env` 文件或设置环境变量：

```bash
OPENROUTER_API_KEY="your-openrouter-api-key"
OPENROUTER_BASE_URL="https://openrouter.ai/api/v1"
```

## 使用方式

### 1. Stdio 模式（推荐用于 Claude Desktop）

```bash
company-mcp
```

在 Claude Desktop 的配置文件中添加：

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

```json
{
  "mcpServers": {
    "company-mcp": {
      "command": "company-mcp",
      "env": {
        "OPENROUTER_API_KEY": "your-api-key"
      }
    }
  }
}
```

### 2. SSE 模式（HTTP 服务器）

```bash
company-mcp-sse
```

服务器将在 `http://localhost:8000` 启动。

端点：
- `GET /health` - 健康检查
- `GET /sse` - SSE 连接端点
- `POST /messages/` - 消息处理端点

配置客户端连接到 SSE 端点：

```json
{
  "mcpServers": {
    "company-mcp": {
      "url": "http://localhost:8000/sse"
    }
  }
}
```

## 工具说明

### extract_companies

从文章 URL 中提取公司信息。

**输入参数：**
- `url` (string, 必需): 文章的 URL 地址

**输出示例：**

```json
{
  "url": "https://example.com/article",
  "companies": [
    {
      "company": "DeepWisdom（深度赋智）",
      "reason": "是AI领域的，且官宣连续完成 A 轮及 A + 轮融资，累计金额达 3100 万美元",
      "match": true
    },
    {
      "company": "OpenAI",
      "reason": "本文中没涉及到融资",
      "match": false
    }
  ],
  "total_count": 2,
  "match_count": 1
}
```

## 发布到 PyPI

1. 注册 PyPI 账号: https://pypi.org/account/register/

2. 安装构建工具：
```bash
pip install build twine
```

3. 构建包：
```bash
python -m build
```

4. 上传到 PyPI：
```bash
twine upload dist/*
```

5. 上传到 TestPyPI（测试）：
```bash
twine upload --repository testpypi dist/*
```

## 开发

```bash
# 安装依赖
uv sync

# 运行 stdio 服务器
uv run company-mcp

# 运行 SSE 服务器
uv run company-mcp-sse

# 使用 MCP Inspector 测试
npx @modelcontextprotocol/inspector company-mcp
```

## License

MIT
my-data-toolkit 0.0.22
Face the engineering of data preprocessing.
Requires Python: >=3.10

# My Data Toolkit: DToolKit

[![PyPI Project Version](https://img.shields.io/pypi/v/my-data-toolkit.svg)](https://pypi.org/project/my-data-toolkit/)
[![PyPI Python Versions](https://img.shields.io/pypi/pyversions/my-data-toolkit)](https://pypi.org/project/my-data-toolkit/)
[![Test Status](https://github.com/Zeroto521/my-data-toolkit/actions/workflows/test.yaml/badge.svg)](https://github.com/Zeroto521/my-data-toolkit/actions/workflows/test.yaml)
[![Coverage Status](https://codecov.io/gh/Zeroto521/my-data-toolkit/branch/main/graph/badge.svg)](https://codecov.io/gh/Zeroto521/my-data-toolkit)
[![Documentation Status](https://readthedocs.org/projects/my-data-toolkit/badge/?version=latest)](https://my-data-toolkit.readthedocs.io/en/latest/?badge=latest)

Face the engineering of data preprocessing.

See [documentation](https://my-data-toolkit.readthedocs.io/) for more information.
xm-agent 0.1.13
HTTP API agent for remote model management
Requires Python: >=3.12

# XM Agent

HTTP API agent for remote model management. Runs on RunPod or Linux servers and exposes endpoints for model listing, hashing, downloading, and CivitAI metadata lookup.

## Installation

```bash
# Using uv
uv pip install xm-agent

# Or from git
pip install git+https://github.com/user/xm-agent.git

# Or install locally for development
cd xm-agent
uv sync --dev
```

## Usage

```bash
# Start the server (default port 8765)
xm-agent serve

# With custom port and host
xm-agent serve --port 9000 --host 0.0.0.0
```

## Configuration

Configuration via environment variables:

| Variable | Default | Description |
|----------|---------|-------------|
| `XM_AGENT_HOST` | `0.0.0.0` | Server bind address |
| `XM_AGENT_PORT` | `8765` | Server port |
| `XM_AGENT_MODELS_PATH` | `/workspace/ComfyUI/models` | Base path for model directories |
| `CIVITAI_API_KEY` | - | CivitAI API key for gated models |

### RunPod

On RunPod, the agent auto-detects the environment via `RUNPOD_POD_ID` and prints the proxy URL on startup:

```
XM Agent v0.1.0 starting...
Listening on 0.0.0.0:8765
Models path: /workspace/ComfyUI/models
RunPod detected: abc123xyz
Proxy URL: https://abc123xyz-8765.proxy.runpod.net
```

## API Endpoints

### Health

```
GET /health
```

Returns server status and version.

```json
{"status": "ok", "version": "0.1.0", "runpod_url": null}
```

### Models

```
GET /models
```

List all models across all types.

```
GET /models/{type}
```

List models of a specific type. Types: `checkpoints`, `loras`, `embeddings`, `vae`, `controlnet`.

```
GET /models/{type}/{filename}/hash
```

Compute SHA256 hash of a model file.

```json
{"hash": "ABC123...", "filename": "my_lora.safetensors"}
```

```
DELETE /models/{type}/{filename}
```

Delete a model file.

### Download

```
POST /download
```

Start a model download as a background task.

Request body:
```json
{
  "url": "https://civitai.com/api/download/models/12345",
  "type": "loras",
  "filename": "my_lora.safetensors",
  "expected_hash": "ABC123..."
}
```

Response:
```json
{"task_id": "abc123def456"}
```

```
GET /download/{task_id}
```

Get download progress.

```json
{
  "task_id": "abc123def456",
  "status": "running",
  "progress": 45,
  "speed": "5.2 MB/s",
  "error": null,
  "result": null
}
```

```
DELETE /download/{task_id}
```

Cancel a download.

### Metadata

```
GET /metadata/{hash}
```

Look up model metadata on CivitAI by SHA256 hash.

```
POST /metadata/sync
```

Sync metadata for all models. Computes hashes and fetches CivitAI metadata. Returns a task ID for progress tracking.

## Development

```bash
# Install dev dependencies
uv sync --dev

# Run tests
uv run pytest

# Run server in development
uv run xm-agent serve --port 8765
```

## Security

- Only downloads from allowed domains (CivitAI, HuggingFace)
- Path traversal protection for model file operations
- No authentication by default (assumes trusted network/RunPod proxy)