Files

OpenRouter MCP Server Examples

This directory contains example scripts demonstrating how to use the OpenRouter MCP Server for various tasks such as text chat, image analysis, and model searching.

Prerequisites

Before running these examples, ensure you have:

  1. Node.js 18 or later installed
  2. OpenRouter API key (get one from OpenRouter)
  3. Set up the environment variable:
    OPENROUTER_API_KEY=your_api_key_here
    
    You can create a .env file in the root directory with this variable.

JavaScript Example

The index.js file demonstrates how to use the MCP server from Node.js:

  1. Starting the MCP server
  2. Connecting to the server
  3. Simple text chat
  4. Single image analysis
  5. Multiple image analysis
  6. Model search

Running the JavaScript Example

# Install dependencies if you haven't already
npm install

# Run the example
npm run examples

Python Example

The python_example.py script demonstrates how to use the MCP server from Python:

  1. Connecting to the MCP server
  2. Converting MCP tool definitions to OpenAI format
  3. Interactive chat loop with tool calling

Running the Python Example

# Install required Python packages
pip install python-mcp openai python-dotenv

# Run the example
python examples/python_example.py

Using the MCP Server in Your Projects

To use the OpenRouter MCP Server in your own projects:

  1. Install the package:

    npm install @stabgan/openrouter-mcp-multimodal
    
  2. Create a client connection using the MCP client libraries:

    import { ClientSession, StdioServerParameters } from '@modelcontextprotocol/sdk/client/index.js';
    import { stdio_client } from '@modelcontextprotocol/sdk/client/stdio.js';
    
    // Configure server
    const serverConfig = {
      command: 'npx',
      args: ['-y', '@stabgan/openrouter-mcp-multimodal'],
      env: { OPENROUTER_API_KEY: 'your_api_key_here' }
    };
    
    // Create connection
    const serverParams = new StdioServerParameters(
      serverConfig.command,
      serverConfig.args,
      serverConfig.env
    );
    const client = await stdio_client(serverParams);
    const [stdio, write] = client;
    
    // Initialize session
    const session = new ClientSession(stdio, write);
    await session.initialize();
    
  3. Call tools:

    // Get available tools
    const response = await session.list_tools();
    console.log('Available tools:', response.tools.map(tool => tool.name).join(', '));
    
    // Call a tool
    const result = await session.call_tool('mcp_openrouter_chat_completion', {
      messages: [
        { role: 'user', content: 'Hello, what can you do?' }
      ],
      model: 'deepseek/deepseek-chat-v3-0324:free'
    });
    
    console.log('Response:', result.content[0].text);
    

Available Tools

The OpenRouter MCP Server provides the following tools:

  1. mcp_openrouter_chat_completion - Text chat with LLMs
  2. mcp_openrouter_analyze_image - Analyze a single image
  3. mcp_openrouter_multi_image_analysis - Analyze multiple images
  4. search_models - Search for available models
  5. get_model_info - Get details about a specific model
  6. validate_model - Check if a model ID is valid

For detailed information about each tool's parameters, see the main README file.