steammarketmcp

coledie/steammarketmcp

3.3

If you are the rightful owner of steammarketmcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Steam Marketplace MCP server facilitates secure and efficient transactions within the Steam community, leveraging Model Context Protocol (MCP) technology to enhance user experience and system performance.

Steam Market MCP Server

A Model Context Protocol (MCP) server that provides Claude with access to Steam Community Market data. This npm package enables Claude to search for items, get pricing information, analyze market trends, and retrieve historical data from the Steam marketplace.

Features

  • šŸ” Search Market Items: Find items by name, game, or category
  • šŸ’° Price Information: Get current market prices and statistics
  • šŸ“ˆ Price History: Analyze historical price trends and patterns
  • šŸ“‹ Market Listings: View current market listings for specific items
  • šŸ”„ Popular Items: Discover trending and popular marketplace items
  • ⚔ High Performance: Built-in caching and rate limiting
  • šŸ›”ļø Error Handling: Robust error handling and retry mechanisms
  • šŸŽ® Multi-Game Support: Works with all Steam games that have marketplace items

Installation

npm install steam-market-mcp-server

Or install globally:

npm install -g steam-market-mcp-server

Quick Start

1. Configuration

Create a .env file (optional):

cp .env.example .env

Edit the .env file with your preferences. A Steam API key is optional but recommended for better rate limits.

2. Start the Server

# Using npm script
npm start

# Using the CLI
steam-market-mcp start

# Or with options
steam-market-mcp start --log-level DEBUG --verbose

3. Configure Claude

Add the server to your Claude MCP configuration:

{
  "mcpServers": {
    "steam-market": {
      "command": "steam-market-mcp",
      "args": ["start"]
    }
  }
}

CLI Usage

The package includes a powerful CLI for testing and management:

Basic Commands

# Start the MCP server
steam-market-mcp start

# Test API connectivity
steam-market-mcp test

# Validate configuration
steam-market-mcp validate

# Search for items
steam-market-mcp search "AK-47" --app-id 730

# Get item price
steam-market-mcp price "AK-47 | Redline (Field-Tested)" --app-id 730

# Show common Steam App IDs
steam-market-mcp apps

# Cache management
steam-market-mcp cache --stats
steam-market-mcp cache --clear

CLI Options

# Start with custom options
steam-market-mcp start --port 3001 --log-level DEBUG --verbose

# Test with specific parameters
steam-market-mcp test --query "knife" --app-id 730

# Search with limits
steam-market-mcp search "sticker" --app-id 730 --max 20

Available Tools for Claude

Once connected, Claude can use these tools:

1. search_market_items

Search for items in the Steam Community Market.

Parameters:

  • query (required): Search term (e.g., "AK-47", "knife", "sticker")
  • appId (optional): Steam App ID to search within
  • category (optional): Item category filter
  • maxResults (optional): Maximum results to return (1-100, default: 10)

Example:

Claude, search for CS2 knives under $100

2. get_item_price

Get current price information for a specific item.

Parameters:

  • itemName (required): Exact market hash name
  • appId (required): Steam App ID
  • currency (optional): Currency code (default: USD)

Example:

Claude, what's the current price of "AK-47 | Redline (Field-Tested)" in CS2?

3. get_price_history

Retrieve historical price data and trends.

Parameters:

  • itemName (required): Exact market hash name
  • appId (required): Steam App ID
  • days (optional): Number of days of history (1-365, default: 30)

Example:

Claude, show me the price history for this knife over the past 90 days

4. get_market_listings

Get current market listings for an item.

Parameters:

  • itemName (required): Exact market hash name
  • appId (required): Steam App ID
  • maxListings (optional): Maximum listings to return (1-50, default: 10)

5. get_popular_items

Get trending/popular items from the marketplace.

Parameters:

  • appId (optional): Steam App ID to filter by
  • category (optional): Item category filter
  • limit (optional): Maximum items to return (1-100, default: 20)

Example:

Claude, what are the most popular CS2 items right now?

Common Steam App IDs

GameApp ID
Counter-Strike 2730
Dota 2570
Team Fortress 2440
Rust252490
PUBG578080
Fall Guys1097150
Portal 2620
Left 4 Dead 2550
Garry's Mod4000
Dead by Daylight381210

Configuration Options

Environment Variables

# Steam API Configuration
STEAM_API_KEY=your_key_here          # Optional but recommended

# Server Settings
PORT=3000                            # Server port
LOG_LEVEL=INFO                       # ERROR, WARN, INFO, DEBUG

# Cache Settings
CACHE_TTL=300                        # Cache TTL in seconds
CACHE_CHECK_PERIOD=120               # Cache cleanup interval
CACHE_USE_CLONES=true                # Clone objects in cache

# Rate Limiting
RATE_LIMIT_WINDOW_MS=60000          # Rate limit window
RATE_LIMIT_MAX_REQUESTS=100         # Max requests per window

Programmatic Configuration

import { SteamMarketMCPServer } from 'steam-market-mcp-server';

const server = new SteamMarketMCPServer();
await server.start();

Example Claude Interactions

Price Analysis

User: "What's the current market for CS2 knives under $200?"

Claude: I'll search for CS2 knives and analyze the pricing for you.

[Uses search_market_items with query="knife", appId=730]
[Uses get_item_price for relevant items]

Based on the current Steam market data, here are CS2 knives under $200:

1. ā˜… Falchion Knife | Scorched (Field-Tested) - $95.32
2. ā˜… Gut Knife | Rust Coat (Well-Worn) - $87.15
3. ā˜… Shadow Daggers | Forest DDPAT (Field-Tested) - $112.45
...

Market Trends

User: "Show me the price trend for AK-47 Redline over the past month"

Claude: I'll get the price history for the AK-47 Redline.

[Uses get_price_history with itemName="AK-47 | Redline (Field-Tested)", appId=730, days=30]

Here's the 30-day price trend for AK-47 | Redline (Field-Tested):

The item has shown a steady upward trend, increasing from $18.32 to $21.45 (17% increase).
Key observations:
- Highest price: $22.10 on [date]
- Lowest price: $17.89 on [date]
- Average daily volume: 127 items
...

Development

Building from Source

# Clone the repository
git clone https://github.com/yourusername/steam-market-mcp-server
cd steam-market-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

# Run tests
npm test

Project Structure

src/
ā”œā”€ā”€ index.ts          # Main MCP server
ā”œā”€ā”€ steam-api.ts      # Steam API integration
ā”œā”€ā”€ cache.ts          # Cache management
ā”œā”€ā”€ logger.ts         # Logging system
ā”œā”€ā”€ config.ts         # Configuration
ā”œā”€ā”€ types.ts          # TypeScript types
ā”œā”€ā”€ schemas.ts        # Validation schemas
└── cli.ts           # Command line interface

Testing

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Test API connectivity
steam-market-mcp test

# Lint code
npm run lint
npm run lint:fix

Performance & Limitations

Caching

  • Search results: 5 minutes
  • Price data: 1 minute
  • Price history: 30 minutes
  • Market listings: 2 minutes
  • Popular items: 10 minutes

Rate Limiting

  • 1 request per second to Steam API
  • Exponential backoff on failures
  • Automatic retry on rate limit errors

Steam API Limits

  • Without API key: ~200 requests/day
  • With API key: 100,000 requests/day
  • Some endpoints may have additional restrictions

Troubleshooting

Common Issues

  1. "Steam API error: 503"

    • Steam API is temporarily down
    • Wait and retry
  2. "Rate limit exceeded"

    • You're making too many requests
    • Wait for rate limit to reset or get a Steam API key
  3. "No results found"

    • Check item name spelling
    • Verify the correct App ID
    • Some items may not be marketable
  4. Connection errors

    • Check internet connection
    • Verify firewall settings
    • Steam may be blocking requests

Debugging

# Enable debug logging
steam-market-mcp start --log-level DEBUG --verbose

# Check cache statistics
steam-market-mcp cache --stats

# Clear cache if needed
steam-market-mcp cache --clear

# Test specific functionality
steam-market-mcp test --query "test" --app-id 730

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Support

Changelog

See for version history and updates.