semvec/pypi-packages huggingface dataset:
mcp-yahoo-finance 0.1.3
A Model Context Protol (MCP) server providing tools to interact with Yahoo Finance for LLMs
License: MIT
Requires Python: >=3.10
Keywords: automation, finance, llm, mcp, yahoo finance

# MCP Yahoo Finance

A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server for Yahoo Finance interaction. This server provides tools to get pricing, company information and more.

> Please note that `mcp-yahoo-finance` is currently in early development. The functionality and available tools are subject to change and expansion as I continue to develop and improve the server.

## Installation

You don't need to manually install `mcp-yahoo-finance` if you use [`uv`](https://docs.astral.sh/uv/). We'll use [`uvx`](https://docs.astral.sh/uv/guides/tools/) to directly run `mcp-yahoo-finance`.

I would recommend using this method if you simply want to use the MCP server.

### Using pip

Using `pip`.

```sh
pip install mcp-yahoo-finance
```

### Using Git

You can also install the package after cloning the repository to your machine.

```sh
git clone git@github.com:maxscheijen/mcp-yahoo-finance.git
cd mcp-yahoo-finance
uv sync
```

## Configuration

### Claude Desktop

Add this to your `claude_desktop_config.json`:

```json
{
    "mcpServers": {
        "yahoo-finance": {
            "command": "uvx",
            "args": ["mcp-yahoo-finance"]
        }
    }
}
```
You can also use docker:

```json
{
    "mcpServers": {
        "yahoo-finance": {
            "command": "docker",
            "args": ["run", "-i", "--rm", "IMAGE"]
        }
    }
}
```

### VSCode

Add this to your `.vscode/mcp.json`:

```json
{
    "servers": {
        "yahoo-finance": {
            "command": "uvx",
            "args": ["mcp-yahoo-finance"]
        }
    }
}
```

## Examples of Questions

1. "What is the stock price of Apple?"
2. "What is the difference in stock price between Apple and Google?"
3. "How much did the stock price of Apple change between 2024-01-01 and 2025-01-01?"

## Build

Docker:

```sh
docker build -t [IMAGE] .
```

## Test with MCP Inspector

```sh
npx @modelcontextprotocol/inspector uv run mcp-yahoo-finance
```
s3async 1.0.0
Helper functions for interacting with s3.
License: MIT
Requires Python: <4.0,>=3.9

# s3async

Helper functions for interacting with s3. Provides synchronous and asynchronous functions and CLI-entrypoints.

Public asynchronous functions are differentiated from synchronous ones with the suffix `_async`.
Typically one can find a non-suffixed version of the same function which wraps the async call in a sync function (e.g. for CLI usage).

Batch operations such as sync, listing keys, and recursive copy/delete operations will always do the bulk of their work asynchronously.


## Command line interface

```
Commands:
  cp    Copy S3 object
  hash  Computes a MD5 digest of a file
  ls    List s3 object paths
  meta  Get object metadata information
  rm    Delete S3 object
  sync  Sync objects between local and S3 path or two S3 paths
  tag   Set and get object tags
```

## Notes on syncing

Default sync is non-recursive, i.e. it only copies the current folder to the provided prefix or vice-versa.
For recursive behaviour one needs to use option `--recursive` which will then compare paths relative to working directory/prefix and sync to matching relative path.

There are three options for comparing whether a file should be synced or not:

- `etag` - Automatically computed ETag which is "usually" a MD5 hash of the content will be compared against local file content MD5 hash
- `hash` - Comparison will be made against a custom tag called `hash`, which should contain the MD5 hash of the content. Use this if you can't trust ETag to be correct for your files. If selected, the tag will be set automatically by sync.
- `timestamp` - Last modified timestamp; will sync if `target_timestamp < source_timestamp` with the resolution of one second. Local timestamps will be set to match the S3 timestamps but the opposite is not possible.

## Testing

Tests are ran against [minio](https://github.com/minio/minio) which implements the S3 specification.

Minio is automatically ran in a docker container by pytest-docker.
The docker-compose file that sets up the minio is located in `./tests/docker-compose.yml`.