MCP DeepInfra AI Tools Server

MCP DeepInfra AI Tools Server

Provides various AI capabilities through DeepInfra's OpenAI-compatible API including image generation, text processing, embeddings, speech recognition, object detection, and classification tasks. Enables users to access multiple AI models for diverse tasks like generating images from prompts, transcribing audio, analyzing text sentiment, and performing computer vision operations.

Category
Visit Server

README

MCP DeepInfra AI Tools Server

This is a Model Context Protocol (MCP) server that provides various AI capabilities using the DeepInfra OpenAI-compatible API, including image generation, text processing, embeddings, speech recognition, and more.

Project Structure

mcp-deepinfra/
├── src/
│   └── mcp_deepinfra/
│       ├── __init__.py      # Package initialization
│       └── server.py        # Main MCP server implementation
├── tests/
│   ├── conftest.py          # Pytest fixtures and configuration
│   ├── test_server.py      # Server initialization tests
│   └── test_tools.py        # Individual tool tests
├── pyproject.toml           # Project configuration and dependencies
├── uv.lock                  # Lock file for uv package manager
├── run_tests.sh             # Convenience script for running tests
└── README.md               # This file

Setup

  1. Install uv if not already installed:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Clone or download this repository.

  3. Install dependencies:

    uv sync
    
  4. Set up your DeepInfra API key: Create a .env file in the project root:

    DEEPINFRA_API_KEY=your_api_key_here
    

Configuration

You can configure which tools are enabled and set default models for each tool using environment variables in your .env file:

  • ENABLED_TOOLS: Comma-separated list of tools to enable. Use "all" to enable all tools (default: "all"). Example: ENABLED_TOOLS=generate_image,text_generation,embeddings

  • MODEL_GENERATE_IMAGE: Default model for image generation (default: "Bria/Bria-3.2")

  • MODEL_TEXT_GENERATION: Default model for text generation (default: "meta-llama/Llama-2-7b-chat-hf")

  • MODEL_EMBEDDINGS: Default model for embeddings (default: "sentence-transformers/all-MiniLM-L6-v2")

  • MODEL_SPEECH_RECOGNITION: Default model for speech recognition (default: "openai/whisper-large-v3")

  • MODEL_ZERO_SHOT_IMAGE_CLASSIFICATION: Default model for zero-shot image classification (default: "openai/gpt-4o-mini")

  • MODEL_OBJECT_DETECTION: Default model for object detection (default: "openai/gpt-4o-mini")

  • MODEL_IMAGE_CLASSIFICATION: Default model for image classification (default: "openai/gpt-4o-mini")

  • MODEL_TEXT_CLASSIFICATION: Default model for text classification (default: "microsoft/DialoGPT-medium")

  • MODEL_TOKEN_CLASSIFICATION: Default model for token classification (default: "microsoft/DialoGPT-medium")

  • MODEL_FILL_MASK: Default model for fill mask (default: "microsoft/DialoGPT-medium")

The tools always use the models specified via environment variables. Model selection is configured at startup time through the environment variables listed above.

Running the Server

To run the server locally:

uv run mcp_deepinfra

Or directly with Python:

python -m mcp_deepinfra.server

Using with MCP Clients

Configure your MCP client (e.g., Claude Desktop) to use this server.

For Claude Desktop, add to your claude_desktop_config.json:

{
  "mcpServers": {
    "deepinfra": {
      "command": "uv",
      "args": ["run", "mcp_deepinfra"],
      "env": {
        "DEEPINFRA_API_KEY": "your_api_key_here"
      }
    }
  }
}

Tools Provided

This server provides the following MCP tools:

  • generate_image: Generate an image from a text prompt. Returns the URL of the generated image.
  • text_generation: Generate text completion from a prompt.
  • embeddings: Generate embeddings for a list of input texts.
  • speech_recognition: Transcribe audio from a URL to text using Whisper model.
  • zero_shot_image_classification: Classify an image into provided candidate labels using vision model.
  • object_detection: Detect and describe objects in an image using multimodal model.
  • image_classification: Classify and describe contents of an image using multimodal model.
  • text_classification: Analyze text for sentiment and category.
  • token_classification: Perform named entity recognition (NER) on text.
  • fill_mask: Fill masked tokens in text with appropriate words.

Testing

To test the server locally, run the pytest test suite:

# Install test dependencies
uv sync --extra test

# Run all tests
pytest

# Run with verbose output
pytest -v

# Run specific test file
pytest tests/test_tools.py

# Use the convenience script
./run_tests.sh

The tests include:

  • Server initialization and tool listing
  • Individual tool functionality tests via JSON-RPC protocol
  • All tests run synchronously without async/await complexity

Running with uvx

uvx is designed for running published Python packages from PyPI or GitHub. For local development, use the uv run command as described above.

If you publish this package to PyPI (e.g., as mcp-deepinfra), you can run it with:

uvx mcp-deepinfra

And configure your MCP client to use:

{
  "mcpServers": {
    "deepinfra": {
      "command": "uvx",
      "args": ["mcp-deepinfra"],
      "env": {
        "DEEPINFRA_API_KEY": "your_api_key_here"
      }
    }
  }
}

For local development, stick with the uv run approach.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured