Metadata-Version: 2.4
Name: owlvin-tools
Version: 0.2.0
Summary: One MCP server, every tool an agent needs
Project-URL: Homepage, https://owlvin.io
Project-URL: Repository, https://github.com/whoisgloom/owlvin-tools
Author: Owlvin Industries
License-Expression: MIT
Keywords: agent,ai,llm,mcp,tools
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: certifi
Requires-Dist: ddgs>=0.1.0
Requires-Dist: mcp>=1.24.0
Provides-Extra: all
Requires-Dist: duckdb>=1.0.0; extra == 'all'
Requires-Dist: feedparser>=6.0.0; extra == 'all'
Requires-Dist: keyring>=25.0.0; extra == 'all'
Requires-Dist: ruff>=0.9.0; extra == 'all'
Requires-Dist: trafilatura>=2.0.0; extra == 'all'
Provides-Extra: cli
Requires-Dist: mcp[cli]; extra == 'cli'
Provides-Extra: data
Requires-Dist: duckdb>=1.0.0; extra == 'data'
Provides-Extra: fetch
Requires-Dist: trafilatura>=2.0.0; extra == 'fetch'
Provides-Extra: lint
Requires-Dist: ruff>=0.9.0; extra == 'lint'
Provides-Extra: podcast
Requires-Dist: feedparser>=6.0.0; extra == 'podcast'
Provides-Extra: secrets
Requires-Dist: keyring>=25.0.0; extra == 'secrets'
Description-Content-Type: text/markdown

# owlvin-tools

One MCP server, every tool an agent needs.

## Quick Start

```bash
pip install owlvin-tools
```

Add to your Claude Code config (`.mcp.json`):

```json
{
  "mcpServers": {
    "owlvin-tools": {
      "command": "owlvin-tools"
    }
  }
}
```

That's it. Your agent now has web search, URL fetching, code linting, data queries, health checks, process management, and more — through a single tool called `search`.

## Why One Tool?

Most MCP servers expose 10-100 tools, burning 10,000-60,000 context tokens before your agent does anything. owlvin-tools exposes **one tool** that routes internally. Your agent describes what it needs in natural language, and the server figures it out.

## What's Included

| Capability | Example | Requires |
|-----------|---------|----------|
| Web search | `search("latest Python release")` | ddgs (included) |
| URL fetch | `search("https://example.com")` | trafilatura (optional) |
| Twitter/X | `search("https://x.com/user/status/123")` | — |
| YouTube transcripts | `search("https://youtube.com/watch?v=xyz")` | yt-dlp |
| Code linting | `search("lint server.py")` | ruff (optional) |
| Data queries | `search("SELECT count(*) FROM data file.csv")` | duckdb (optional) |
| Health checks | `search("is drumsplit healthy")` | — |
| Process management | `search("what ports are listening")` | — |
| Secrets | `search("check STRIPE_SECRET_KEY")` | keyring (optional) |
| Document conversion | `search("convert report.pdf")` | docling (optional) |
| Cost tracking | `search("how much have I spent")` | OWLVIN_API_KEY |

Install optional extras:

```bash
pip install owlvin-tools[all]    # everything
pip install owlvin-tools[fetch]  # just URL fetching
pip install owlvin-tools[data]   # just SQL queries
```

## Zero-Config Alternative

```bash
uvx owlvin-tools
```
