alphavantage-mcp


Namealphavantage-mcp JSON
Version 0.3.24 PyPI version JSON
download
home_pageNone
SummaryAlphaVantage MCP server - Financial data tools for Model Context Protocol
upload_time2025-09-13 16:45:00
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseMIT
keywords alphavantage api financial mcp server stocks
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ✅ Official Alpha Vantage MCP Server

[![smithery badge](https://smithery.ai/badge/@calvernaz/alphavantage)](https://smithery.ai/server/@calvernaz/alphavantage)
[![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/b76d0966-edd1-46fd-9cfb-b29a6d8cb563)

A MCP server for the stock market data API, Alphavantage API.

**MCP Server URL**: https://mcp.alphavantage.co

## Configuration

### Getting an API Key
1. Sign up for a [Free Alphavantage API key](https://www.alphavantage.co/support/#api-key)
2. Add the API key to your environment variables as `ALPHAVANTAGE_API_KEY`


## Installation

### Option 1: Using uvx (Recommended)

The easiest way to use the AlphaVantage MCP server is with `uvx`:

```bash
# Run directly without installation
uvx alphavantage-mcp

# Or with specific arguments
uvx alphavantage-mcp --server http --port 8080
```

### Option 2: Using pip

```bash
pip install alphavantage-mcp
alphavantage-mcp
```

### Option 3: From source

```bash
git clone https://github.com/calvernaz/alphavantage.git
cd alphavantage
uv run alphavantage
```

## Server Modes

The AlphaVantage server can run in two different modes:

### Stdio Server (Default)
This is the standard MCP server mode used for tools like Claude Desktop.

```bash
alphavantage
# or explicitly:
alphavantage --server stdio
```

### Streamable HTTP Server
This mode provides real-time updates via HTTP streaming.

```bash
alphavantage --server http --port 8080
```

### Streamable HTTP Server with OAuth 2.1 Authentication
This mode adds OAuth 2.1 authentication to the HTTP server, following the MCP specification for secure access.

```bash
alphavantage --server http --port 8080 --oauth
```

#### OAuth Configuration

When using the `--oauth` flag, the server requires OAuth 2.1 configuration via environment variables:

**Required Environment Variables:**
```bash
export OAUTH_AUTHORIZATION_SERVER_URL="https://your-auth-server.com/realms/your-realm"
export OAUTH_RESOURCE_SERVER_URI="https://your-mcp-server.com"
```

**Optional Environment Variables:**
```bash
# Token validation method (default: jwt)
export OAUTH_TOKEN_VALIDATION_METHOD="jwt"  # or "introspection"

# For JWT validation
export OAUTH_JWT_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
export OAUTH_JWT_ALGORITHM="RS256"  # default

# For token introspection validation
export OAUTH_INTROSPECTION_ENDPOINT="https://your-auth-server.com/realms/your-realm/protocol/openid-connect/token/introspect"
export OAUTH_INTROSPECTION_CLIENT_ID="your-client-id"
export OAUTH_INTROSPECTION_CLIENT_SECRET="your-client-secret"

# Optional: Required scopes (space-separated)
export OAUTH_REQUIRED_SCOPES="mcp:access mcp:read"

# Optional: Enable session binding for additional security (default: true)
export OAUTH_SESSION_BINDING_ENABLED="true"
```

#### OAuth Features

The OAuth implementation provides:

- **OAuth 2.0 Protected Resource Metadata** endpoint (`/.well-known/oauth-protected-resource`)
- **Bearer token authentication** for all MCP requests
- **JWT and Token Introspection** validation methods
- **MCP Security Best Practices** compliance:
  - Token audience validation (prevents token passthrough attacks)
  - Session hijacking prevention with secure session IDs
  - User-bound sessions for additional security
  - Proper WWW-Authenticate headers for 401 responses

#### Example: Keycloak Configuration

For testing with Keycloak:

```bash
# Keycloak OAuth configuration
export OAUTH_AUTHORIZATION_SERVER_URL="https://keycloak.example.com/realms/mcp-realm"
export OAUTH_RESOURCE_SERVER_URI="https://mcp.example.com"
export OAUTH_TOKEN_VALIDATION_METHOD="introspection"
export OAUTH_INTROSPECTION_ENDPOINT="https://keycloak.example.com/realms/mcp-realm/protocol/openid-connect/token/introspect"
export OAUTH_INTROSPECTION_CLIENT_ID="mcp-server"
export OAUTH_INTROSPECTION_CLIENT_SECRET="your-keycloak-client-secret"
export OAUTH_REQUIRED_SCOPES="mcp:access"

# Start server with OAuth
alphavantage --server http --port 8080 --oauth
```

#### OAuth Client Flow

When OAuth is enabled, MCP clients must:

1. **Discover** the authorization server via `GET /.well-known/oauth-protected-resource`
2. **Register** with the authorization server (if using Dynamic Client Registration)
3. **Obtain access tokens** from the authorization server
4. **Include tokens** in requests: `Authorization: Bearer <access-token>`
5. **Handle 401/403 responses** and refresh tokens as needed

Options:
- `--server`: Choose between `stdio` (default) or `http` server mode
- `--port`: Specify the port for the Streamable HTTP server (default: 8080)
- `--oauth`: Enable OAuth 2.1 authentication (requires `--server http`)

## 📊 Telemetry

The AlphaVantage MCP server includes optional Prometheus metrics for monitoring and observability.

### Enabling Telemetry

Set the following environment variables to enable telemetry:

```bash
# Enable telemetry (default: true)
export MCP_TELEMETRY_ENABLED=true

# Server identification (optional)
export MCP_SERVER_NAME=alphavantage
export MCP_SERVER_VERSION=1.0.0

# Metrics server port (default: 9464)
export MCP_METRICS_PORT=9464
```

### Metrics Endpoint

When telemetry is enabled, Prometheus metrics are available at:

```
http://localhost:9464/metrics
```

### Available Metrics

The server collects the following metrics for each tool call:

- **`mcp_tool_calls_total`** - Total number of tool calls (labeled by tool and outcome)
- **`mcp_tool_latency_seconds`** - Tool execution latency histogram
- **`mcp_tool_request_bytes`** - Request payload size histogram
- **`mcp_tool_response_bytes`** - Response payload size histogram
- **`mcp_tool_active_concurrency`** - Active concurrent tool calls gauge
- **`mcp_tool_errors_total`** - Total errors by type (timeout, bad_input, connection, unknown)

### Example Usage with Telemetry

```bash
# Start server with telemetry enabled
export MCP_TELEMETRY_ENABLED=true
export MCP_SERVER_NAME=alphavantage-prod
export ALPHAVANTAGE_API_KEY=your_api_key
alphavantage --server http --port 8080

# View metrics
curl http://localhost:9464/metrics
```

## 🚀 AWS Serverless Deployment

Deploy the AlphaVantage MCP Server on AWS Lambda using the stateless MCP pattern for production-ready, scalable deployment.

### Quick AWS Deployment

```bash
cd deploy/aws-stateless-mcp-lambda
export ALPHAVANTAGE_API_KEY=your_api_key_here
./deploy.sh
```

**Features:**
- ✅ **Stateless MCP pattern** - Perfect for Lambda's execution model
- ✅ **Auto-scaling** - Handles any load with AWS Lambda + API Gateway
- ✅ **Cost-effective** - Pay only for requests (~$1-5/month for typical usage)
- ✅ **Production-ready** - Based on AWS official sample patterns
- ✅ **OAuth 2.1 support** - Optional authentication for secure access

**📖 Full Documentation:** See [AWS Deployment Guide](deploy/aws-stateless-mcp-lambda/README.md) for complete setup instructions, testing, monitoring, and troubleshooting.

### Usage with Claude Desktop

#### Option 1: Using uvx (Recommended)
Add this to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "alphavantage": {
      "command": "uvx",
      "args": ["alphavantage-mcp"],
      "env": {
        "ALPHAVANTAGE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
```

#### Option 2: From source
If you cloned the repository, use this configuration:

```json
{
  "mcpServers": {
    "alphavantage": {
      "command": "uv",
      "args": [
        "--directory",
        "<DIRECTORY-OF-CLONED-PROJECT>/alphavantage",
        "run",
        "alphavantage"
      ],
      "env": {
        "ALPHAVANTAGE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
```
#### Running the Server in Streamable HTTP Mode

**Using uvx:**
```json
{
  "mcpServers": {
    "alphavantage": {
      "command": "uvx",
      "args": ["alphavantage-mcp", "--server", "http", "--port", "8080"],
      "env": {
        "ALPHAVANTAGE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
```

**From source:**
```json
{
  "mcpServers": {
    "alphavantage": {
      "command": "uv",
      "args": [
        "--directory",
        "<DIRECTORY-OF-CLONED-PROJECT>/alphavantage",
        "run",
        "alphavantage",
        "--server",
        "http",
        "--port",
        "8080"
      ],
      "env": {
        "ALPHAVANTAGE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
```


## 📺 Demo Video

Watch a quick demonstration of the Alpha Vantage MCP Server in action:

[![Alpha Vantage MCP Server Demo](https://github.com/user-attachments/assets/bc9ecffb-eab6-4a4d-bbf6-9fc8178f15c3)](https://github.com/user-attachments/assets/bc9ecffb-eab6-4a4d-bbf6-9fc8178f15c3)


## 🔧 Development & Publishing

### Publishing to PyPI

This project includes scripts for publishing to PyPI and TestPyPI:

```bash
# Publish to TestPyPI (for testing)
python scripts/publish.py --test

# Publish to PyPI (production)
python scripts/publish.py

# Use uv publish instead of twine
python scripts/publish.py --test --use-uv
```

The script uses `twine` by default (recommended) but can also use `uv publish` with the `--use-uv` flag.

### GitHub Actions

The repository includes a GitHub Actions workflow for automated publishing:

- **Trusted Publishing**: Uses PyPA's official publish action with OpenID Connect
- **Manual Trigger**: Can be triggered manually with options for TestPyPI vs PyPI
- **Twine Fallback**: Supports both trusted publishing and twine-based publishing

To set up publishing:

1. **For Trusted Publishing** (recommended):
   - Configure trusted publishing on PyPI/TestPyPI with your GitHub repository
   - No secrets needed - uses OpenID Connect

2. **For Token-based Publishing**:
   - Add `PYPI_API_TOKEN` and `TEST_PYPI_API_TOKEN` secrets to your repository
   - Use the "Use twine" option in the workflow dispatch

## 🤝 Contributing

We welcome contributions from the community! To get started, check out our [contribution](CONTRIBUTING.md) guide for setup instructions,
development tips, and guidelines.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "alphavantage-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "alphavantage, api, financial, mcp, server, stocks",
    "author": null,
    "author_email": "Cesar Alvernaz <cesar.alvernaz@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/39/1f/4bc7ba5db933fac466519c3fe610894d470845882344a957b2756bac9cd5/alphavantage_mcp-0.3.24.tar.gz",
    "platform": null,
    "description": "# \u2705 Official Alpha Vantage MCP Server\n\n[![smithery badge](https://smithery.ai/badge/@calvernaz/alphavantage)](https://smithery.ai/server/@calvernaz/alphavantage)\n[![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/b76d0966-edd1-46fd-9cfb-b29a6d8cb563)\n\nA MCP server for the stock market data API, Alphavantage API.\n\n**MCP Server URL**: https://mcp.alphavantage.co\n\n## Configuration\n\n### Getting an API Key\n1. Sign up for a [Free Alphavantage API key](https://www.alphavantage.co/support/#api-key)\n2. Add the API key to your environment variables as `ALPHAVANTAGE_API_KEY`\n\n\n## Installation\n\n### Option 1: Using uvx (Recommended)\n\nThe easiest way to use the AlphaVantage MCP server is with `uvx`:\n\n```bash\n# Run directly without installation\nuvx alphavantage-mcp\n\n# Or with specific arguments\nuvx alphavantage-mcp --server http --port 8080\n```\n\n### Option 2: Using pip\n\n```bash\npip install alphavantage-mcp\nalphavantage-mcp\n```\n\n### Option 3: From source\n\n```bash\ngit clone https://github.com/calvernaz/alphavantage.git\ncd alphavantage\nuv run alphavantage\n```\n\n## Server Modes\n\nThe AlphaVantage server can run in two different modes:\n\n### Stdio Server (Default)\nThis is the standard MCP server mode used for tools like Claude Desktop.\n\n```bash\nalphavantage\n# or explicitly:\nalphavantage --server stdio\n```\n\n### Streamable HTTP Server\nThis mode provides real-time updates via HTTP streaming.\n\n```bash\nalphavantage --server http --port 8080\n```\n\n### Streamable HTTP Server with OAuth 2.1 Authentication\nThis mode adds OAuth 2.1 authentication to the HTTP server, following the MCP specification for secure access.\n\n```bash\nalphavantage --server http --port 8080 --oauth\n```\n\n#### OAuth Configuration\n\nWhen using the `--oauth` flag, the server requires OAuth 2.1 configuration via environment variables:\n\n**Required Environment Variables:**\n```bash\nexport OAUTH_AUTHORIZATION_SERVER_URL=\"https://your-auth-server.com/realms/your-realm\"\nexport OAUTH_RESOURCE_SERVER_URI=\"https://your-mcp-server.com\"\n```\n\n**Optional Environment Variables:**\n```bash\n# Token validation method (default: jwt)\nexport OAUTH_TOKEN_VALIDATION_METHOD=\"jwt\"  # or \"introspection\"\n\n# For JWT validation\nexport OAUTH_JWT_PUBLIC_KEY=\"-----BEGIN PUBLIC KEY-----\\n...\\n-----END PUBLIC KEY-----\"\nexport OAUTH_JWT_ALGORITHM=\"RS256\"  # default\n\n# For token introspection validation\nexport OAUTH_INTROSPECTION_ENDPOINT=\"https://your-auth-server.com/realms/your-realm/protocol/openid-connect/token/introspect\"\nexport OAUTH_INTROSPECTION_CLIENT_ID=\"your-client-id\"\nexport OAUTH_INTROSPECTION_CLIENT_SECRET=\"your-client-secret\"\n\n# Optional: Required scopes (space-separated)\nexport OAUTH_REQUIRED_SCOPES=\"mcp:access mcp:read\"\n\n# Optional: Enable session binding for additional security (default: true)\nexport OAUTH_SESSION_BINDING_ENABLED=\"true\"\n```\n\n#### OAuth Features\n\nThe OAuth implementation provides:\n\n- **OAuth 2.0 Protected Resource Metadata** endpoint (`/.well-known/oauth-protected-resource`)\n- **Bearer token authentication** for all MCP requests\n- **JWT and Token Introspection** validation methods\n- **MCP Security Best Practices** compliance:\n  - Token audience validation (prevents token passthrough attacks)\n  - Session hijacking prevention with secure session IDs\n  - User-bound sessions for additional security\n  - Proper WWW-Authenticate headers for 401 responses\n\n#### Example: Keycloak Configuration\n\nFor testing with Keycloak:\n\n```bash\n# Keycloak OAuth configuration\nexport OAUTH_AUTHORIZATION_SERVER_URL=\"https://keycloak.example.com/realms/mcp-realm\"\nexport OAUTH_RESOURCE_SERVER_URI=\"https://mcp.example.com\"\nexport OAUTH_TOKEN_VALIDATION_METHOD=\"introspection\"\nexport OAUTH_INTROSPECTION_ENDPOINT=\"https://keycloak.example.com/realms/mcp-realm/protocol/openid-connect/token/introspect\"\nexport OAUTH_INTROSPECTION_CLIENT_ID=\"mcp-server\"\nexport OAUTH_INTROSPECTION_CLIENT_SECRET=\"your-keycloak-client-secret\"\nexport OAUTH_REQUIRED_SCOPES=\"mcp:access\"\n\n# Start server with OAuth\nalphavantage --server http --port 8080 --oauth\n```\n\n#### OAuth Client Flow\n\nWhen OAuth is enabled, MCP clients must:\n\n1. **Discover** the authorization server via `GET /.well-known/oauth-protected-resource`\n2. **Register** with the authorization server (if using Dynamic Client Registration)\n3. **Obtain access tokens** from the authorization server\n4. **Include tokens** in requests: `Authorization: Bearer <access-token>`\n5. **Handle 401/403 responses** and refresh tokens as needed\n\nOptions:\n- `--server`: Choose between `stdio` (default) or `http` server mode\n- `--port`: Specify the port for the Streamable HTTP server (default: 8080)\n- `--oauth`: Enable OAuth 2.1 authentication (requires `--server http`)\n\n## \ud83d\udcca Telemetry\n\nThe AlphaVantage MCP server includes optional Prometheus metrics for monitoring and observability.\n\n### Enabling Telemetry\n\nSet the following environment variables to enable telemetry:\n\n```bash\n# Enable telemetry (default: true)\nexport MCP_TELEMETRY_ENABLED=true\n\n# Server identification (optional)\nexport MCP_SERVER_NAME=alphavantage\nexport MCP_SERVER_VERSION=1.0.0\n\n# Metrics server port (default: 9464)\nexport MCP_METRICS_PORT=9464\n```\n\n### Metrics Endpoint\n\nWhen telemetry is enabled, Prometheus metrics are available at:\n\n```\nhttp://localhost:9464/metrics\n```\n\n### Available Metrics\n\nThe server collects the following metrics for each tool call:\n\n- **`mcp_tool_calls_total`** - Total number of tool calls (labeled by tool and outcome)\n- **`mcp_tool_latency_seconds`** - Tool execution latency histogram\n- **`mcp_tool_request_bytes`** - Request payload size histogram\n- **`mcp_tool_response_bytes`** - Response payload size histogram\n- **`mcp_tool_active_concurrency`** - Active concurrent tool calls gauge\n- **`mcp_tool_errors_total`** - Total errors by type (timeout, bad_input, connection, unknown)\n\n### Example Usage with Telemetry\n\n```bash\n# Start server with telemetry enabled\nexport MCP_TELEMETRY_ENABLED=true\nexport MCP_SERVER_NAME=alphavantage-prod\nexport ALPHAVANTAGE_API_KEY=your_api_key\nalphavantage --server http --port 8080\n\n# View metrics\ncurl http://localhost:9464/metrics\n```\n\n## \ud83d\ude80 AWS Serverless Deployment\n\nDeploy the AlphaVantage MCP Server on AWS Lambda using the stateless MCP pattern for production-ready, scalable deployment.\n\n### Quick AWS Deployment\n\n```bash\ncd deploy/aws-stateless-mcp-lambda\nexport ALPHAVANTAGE_API_KEY=your_api_key_here\n./deploy.sh\n```\n\n**Features:**\n- \u2705 **Stateless MCP pattern** - Perfect for Lambda's execution model\n- \u2705 **Auto-scaling** - Handles any load with AWS Lambda + API Gateway\n- \u2705 **Cost-effective** - Pay only for requests (~$1-5/month for typical usage)\n- \u2705 **Production-ready** - Based on AWS official sample patterns\n- \u2705 **OAuth 2.1 support** - Optional authentication for secure access\n\n**\ud83d\udcd6 Full Documentation:** See [AWS Deployment Guide](deploy/aws-stateless-mcp-lambda/README.md) for complete setup instructions, testing, monitoring, and troubleshooting.\n\n### Usage with Claude Desktop\n\n#### Option 1: Using uvx (Recommended)\nAdd this to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"alphavantage\": {\n      \"command\": \"uvx\",\n      \"args\": [\"alphavantage-mcp\"],\n      \"env\": {\n        \"ALPHAVANTAGE_API_KEY\": \"YOUR_API_KEY_HERE\"\n      }\n    }\n  }\n}\n```\n\n#### Option 2: From source\nIf you cloned the repository, use this configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"alphavantage\": {\n      \"command\": \"uv\",\n      \"args\": [\n        \"--directory\",\n        \"<DIRECTORY-OF-CLONED-PROJECT>/alphavantage\",\n        \"run\",\n        \"alphavantage\"\n      ],\n      \"env\": {\n        \"ALPHAVANTAGE_API_KEY\": \"YOUR_API_KEY_HERE\"\n      }\n    }\n  }\n}\n```\n#### Running the Server in Streamable HTTP Mode\n\n**Using uvx:**\n```json\n{\n  \"mcpServers\": {\n    \"alphavantage\": {\n      \"command\": \"uvx\",\n      \"args\": [\"alphavantage-mcp\", \"--server\", \"http\", \"--port\", \"8080\"],\n      \"env\": {\n        \"ALPHAVANTAGE_API_KEY\": \"YOUR_API_KEY_HERE\"\n      }\n    }\n  }\n}\n```\n\n**From source:**\n```json\n{\n  \"mcpServers\": {\n    \"alphavantage\": {\n      \"command\": \"uv\",\n      \"args\": [\n        \"--directory\",\n        \"<DIRECTORY-OF-CLONED-PROJECT>/alphavantage\",\n        \"run\",\n        \"alphavantage\",\n        \"--server\",\n        \"http\",\n        \"--port\",\n        \"8080\"\n      ],\n      \"env\": {\n        \"ALPHAVANTAGE_API_KEY\": \"YOUR_API_KEY_HERE\"\n      }\n    }\n  }\n}\n```\n\n\n## \ud83d\udcfa Demo Video\n\nWatch a quick demonstration of the Alpha Vantage MCP Server in action:\n\n[![Alpha Vantage MCP Server Demo](https://github.com/user-attachments/assets/bc9ecffb-eab6-4a4d-bbf6-9fc8178f15c3)](https://github.com/user-attachments/assets/bc9ecffb-eab6-4a4d-bbf6-9fc8178f15c3)\n\n\n## \ud83d\udd27 Development & Publishing\n\n### Publishing to PyPI\n\nThis project includes scripts for publishing to PyPI and TestPyPI:\n\n```bash\n# Publish to TestPyPI (for testing)\npython scripts/publish.py --test\n\n# Publish to PyPI (production)\npython scripts/publish.py\n\n# Use uv publish instead of twine\npython scripts/publish.py --test --use-uv\n```\n\nThe script uses `twine` by default (recommended) but can also use `uv publish` with the `--use-uv` flag.\n\n### GitHub Actions\n\nThe repository includes a GitHub Actions workflow for automated publishing:\n\n- **Trusted Publishing**: Uses PyPA's official publish action with OpenID Connect\n- **Manual Trigger**: Can be triggered manually with options for TestPyPI vs PyPI\n- **Twine Fallback**: Supports both trusted publishing and twine-based publishing\n\nTo set up publishing:\n\n1. **For Trusted Publishing** (recommended):\n   - Configure trusted publishing on PyPI/TestPyPI with your GitHub repository\n   - No secrets needed - uses OpenID Connect\n\n2. **For Token-based Publishing**:\n   - Add `PYPI_API_TOKEN` and `TEST_PYPI_API_TOKEN` secrets to your repository\n   - Use the \"Use twine\" option in the workflow dispatch\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions from the community! To get started, check out our [contribution](CONTRIBUTING.md) guide for setup instructions,\ndevelopment tips, and guidelines.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "AlphaVantage MCP server - Financial data tools for Model Context Protocol",
    "version": "0.3.24",
    "project_urls": {
        "Documentation": "https://github.com/calvernaz/alphavantage#readme",
        "Homepage": "https://github.com/calvernaz/alphavantage",
        "Issues": "https://github.com/calvernaz/alphavantage/issues",
        "Repository": "https://github.com/calvernaz/alphavantage"
    },
    "split_keywords": [
        "alphavantage",
        " api",
        " financial",
        " mcp",
        " server",
        " stocks"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dceff094644cde0ee7d7fe0b3c21e0431b1202a63ea5d9775fe156e05f527ed1",
                "md5": "8b24300f8715539b51ae09bf856d674a",
                "sha256": "fe6ac686902b15a4cbcfdc38f55dc3dab72d2f7ba6cb057a340b81dcb1cc42b7"
            },
            "downloads": -1,
            "filename": "alphavantage_mcp-0.3.24-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8b24300f8715539b51ae09bf856d674a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 44544,
            "upload_time": "2025-09-13T16:44:58",
            "upload_time_iso_8601": "2025-09-13T16:44:58.894463Z",
            "url": "https://files.pythonhosted.org/packages/dc/ef/f094644cde0ee7d7fe0b3c21e0431b1202a63ea5d9775fe156e05f527ed1/alphavantage_mcp-0.3.24-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "391f4bc7ba5db933fac466519c3fe610894d470845882344a957b2756bac9cd5",
                "md5": "eba4fd4d8b266e40be1e9d70c98730a9",
                "sha256": "dde0e4ef7a7f2797b1bc729cf48c4416d79fad692df6b520cf9ffcd1c6e50853"
            },
            "downloads": -1,
            "filename": "alphavantage_mcp-0.3.24.tar.gz",
            "has_sig": false,
            "md5_digest": "eba4fd4d8b266e40be1e9d70c98730a9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 101456,
            "upload_time": "2025-09-13T16:45:00",
            "upload_time_iso_8601": "2025-09-13T16:45:00.518016Z",
            "url": "https://files.pythonhosted.org/packages/39/1f/4bc7ba5db933fac466519c3fe610894d470845882344a957b2756bac9cd5/alphavantage_mcp-0.3.24.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-13 16:45:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "calvernaz",
    "github_project": "alphavantage#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "alphavantage-mcp"
}
        
Elapsed time: 1.82788s