semvec/pypi-packages huggingface dataset:
duckduckgo-mcp-server 0.1.1
MCP Server for searching via DuckDuckGo
Requires Python: >=3.10

# DuckDuckGo Search MCP Server

A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.

## Features

- **Web Search**: Search DuckDuckGo with advanced rate limiting and result formatting
- **Content Fetching**: Retrieve and parse webpage content with intelligent text extraction
- **Rate Limiting**: Built-in protection against rate limits for both search and content fetching
- **Error Handling**: Comprehensive error handling and logging
- **LLM-Friendly Output**: Results formatted specifically for large language model consumption

## Installation

This server requires Python 3.10 or higher. Install dependencies using `uv` (recommended) or `pip`:

```bash
# Using uv (recommended)
uv add "mcp[cli]" httpx beautifulsoup4

# Using pip
pip install "mcp[cli]" httpx beautifulsoup4
```

## Usage

### Running with Claude Desktop

1. Download [Claude Desktop](https://claude.ai/download)
2. Create or edit `claude_desktop_config.json`:

```json
{
    "mcpServers": {
        "ddg-search": {
            "command": "python",
            "args": ["path/to/ddg_search_server.py"]
        }
    }
}
```

3. Restart Claude Desktop

### Direct Usage

Run the server directly:

```bash
python ddg_search_server.py
```

Or use the MCP CLI for development:

```bash
mcp dev ddg_search_server.py
```

## Available Tools

### 1. Search Tool

```python
async def search(query: str, max_results: int = 10) -> str
```

Performs a web search on DuckDuckGo and returns formatted results.

**Parameters:**
- `query`: Search query string
- `max_results`: Maximum number of results to return (default: 10)

**Returns:**
Formatted string containing search results with titles, URLs, and snippets.

### 2. Content Fetching Tool

```python
async def fetch_content(url: str) -> str
```

Fetches and parses content from a webpage.

**Parameters:**
- `url`: The webpage URL to fetch content from

**Returns:**
Cleaned and formatted text content from the webpage.

## Features in Detail

### Rate Limiting

- Search: Limited to 30 requests per minute
- Content Fetching: Limited to 20 requests per minute
- Automatic queue management and wait times

### Result Processing

- Removes ads and irrelevant content
- Cleans up DuckDuckGo redirect URLs
- Formats results for optimal LLM consumption
- Truncates long content appropriately

### Error Handling

- Comprehensive error catching and reporting
- Detailed logging through MCP context
- Graceful degradation on rate limits or timeouts

## Contributing

Issues and pull requests are welcome! Some areas for potential improvement:

- Additional search parameters (region, language, etc.)
- Enhanced content parsing options
- Caching layer for frequently accessed content
- Additional rate limiting strategies

## License

This project is licensed under the MIT License.
yoix-pi 1.0.0
BBEdit-style persistent includes for Python
Requires Python: >=3.8

# Yoix Persistent Includes

BBEdit-style persistent includes for Python.

## Installation

You can install Yoix Persistent Includes using pip:

```bash
pip install yoix-pi
```

## Usage

### Python API

```python
from yoix_pi.processor import process_persistent_includes

config = {
    'partials_dir': 'path/to/partials',
    'public_dir': 'path/to/public'
}

process_persistent_includes(config)
```

### Command Line

You can also use the command-line interface:

```bash
# Using default directories (includes/partials and public)
yoixpi

# Specify custom directories
yoixpi --partials path/to/partials --public path/to/public

# Using short options
yoixpi -p path/to/partials -b path/to/public

# Show help
yoixpi --help
```

## Development

To set up for development:

```bash
# Clone the repository
git clone https://github.com/crock/yoix-pi
cd yoix-pi

# Install in development mode with test dependencies
pip install -e ".[dev]"

# Run tests
pytest
```

## License

This project is licensed under the MIT License - see the [LICENSE](https://github.com/crock/yoix-pi/blob/main/LICENSE) file for details.
django-find-view 0.1.0
A small CLI tool that locates the file containing a Django view function for a given named URL
Requires Python: >=3.12

================
django-find-view
================

A small utility that finds the view function for a given named URL. The main
purpose of this is as a helper that can be called from an IDE/editor to provide
“jump to definition” from things like ``{% url %}`` tags.

Install into your venv::

  pip install django-find-view

Or with uv::

  uv add --dev django-find-view


See ``django-find-view --help`` for usage instructions.