Skip to main content
Glama
zaber-dev

Free-AI Gateway MCP Server

by zaber-dev

⚡ Free-AI Gateway

Монорепозиторий корпоративного уровня с маршрутизацией на основе возможностей, объединяющий бесплатные AI API в многократно используемые библиотеки, серверы Model Context Protocol (MCP) и HTTP-прокси, совместимые с OpenAI.

Лицензия: MIT TypeScript Node.js Fastify Docker Учебное руководство Приветствуются PR

📚 Новичок в Free-AI Gateway? Ознакомьтесь с подробным Руководством по архитектуре и разработке (LEARN.md) — здесь вы найдете глубокие разборы, учебные пособия и шаблоны интеграции.


📖 Обзор архитектуры и монорепозитория

free-ai-gateway организован как корпоративный монорепозиторий, разделяющий чистую инфраструктуру оркестрации AI от протокол-специфичных механизмов доставки (HTTP-прокси на Fastify и MCP-сервер):

flowchart TD
    subgraph CoreLayer ["@free-ai-gateway/core (Standalone npm package)"]
        Router["CapabilityRouter & Strategy Engine"]
        Providers["19 Provider Adapters & Dynamic Registry"]
        Resilience["QuotaTracker & CircuitBreaker"]
        Observability["EventBus & MetricsTracker"]
        Transport["HttpClient with Exponential Backoff"]
    end

    subgraph Consumers ["Consumer Applications"]
        GatewayApp["apps/gateway (@free-ai-gateway/gateway)<br/>Fastify HTTP OpenAI Proxy"]
        McpApp["packages/mcp (@free-ai-gateway/mcp)<br/>Model Context Protocol Server"]
        SkillsPkg["packages/skills (@free-ai-gateway/skills)<br/>Agentic IDE Skills & CLI"]
        CliApp["packages/cli (@free-ai-gateway/cli)<br/>Terminal Assistant & Diagnostics"]
        ClientApp["Custom Node.js / TypeScript App<br/>Direct Library Import"]
    end

    GatewayApp -->|consumes| CoreLayer
    McpApp -->|consumes| CoreLayer
    SkillsPkg -->|integrates with| CoreLayer
    CliApp -->|consumes| CoreLayer
    ClientApp -->|consumes| CoreLayer

Матрица рабочих областей монорепозитория

Пакет / Приложение

Расположение

Назначение

Зависимости

@free-ai-gateway/core

packages/core

Протокол-нейтральный маршрутизатор возможностей, механизм отказоустойчивости и 19 адаптеров провайдеров.

ajv, dotenv (Нет HTTP-сервера)

@free-ai-gateway/mcp

packages/mcp

Сервер Model Context Protocol, предоставляющий инструменты возможностей AI-агентам (Claude Desktop, Cursor).

@free-ai-gateway/core

@free-ai-gateway/skills

packages/skills

Навыки для IDE-агентов (SKILL.md) и CLI-установщик для Antigravity, Claude, Cursor и Copilot.

Автономный CLI и API

@free-ai-gateway/cli

packages/cli

Терминальный AI-ассистент, интерактивный REPL-чат, каталог моделей и диагностический инструмент.

@free-ai-gateway/core, @free-ai-gateway/skills

@free-ai-gateway/gateway

apps/gateway

Высокопроизводительный HTTP-прокси на Fastify, предоставляющий конечные точки, совместимые с OpenAI, с автоматическим обнаружением.

@free-ai-gateway/core, fastify


✨ Ключевые возможности

  • 🎯 Маршрутизация на основе возможностей: Запрашивайте то, что нужно (model: "auto:tool_calling+structured_output"), а маршрутизатор выберет самого быстрого здорового бесплатного провайдера.

  • 📐 Движок стратегий с шаблонами: Подключаемые стратегии балансировки нагрузки (AdaptiveHealthStrategy, LowestLatencyStrategy или пользовательская IRoutingStrategy).

  • 🔄 Автономное переключение при сбоях: Прозрачно перебирает ранжированных кандидатов-провайдеров до успешного ответа при возникновении ошибок 429 (превышение лимита) или 5xx.

  • 🛡️ Автоматический выключатель: Обнаруживает сбойных провайдеров и переходит в экспоненциальный режим ожидания для предотвращения каскадных сбоев.

  • ⏱️ Отслеживание квот скользящим окном: Учет RPM, TPM и RPD в памяти с упреждающей защитой лимитов.

  • 🔌 Динамическая автозагрузка провайдеров: Добавляйте новых провайдеров, поместив класс, наследующий BaseProvider, в packages/core/src/providers/.

  • 📡 Типизированная шина событий: События жизненного цикла (request:start, request:success, request:fallback, provider:rate_limited) для наблюдаемости через OpenTelemetry и Prometheus.

  • 🤖 Готовность к Model Context Protocol (MCP): Используйте напрямую в Claude Desktop, Cursor или агентских рабочих процессах.


🧩 Матрица поддерживаемых провайдеров (19 адаптеров)

Провайдер

Модальности / Возможности

Аутентификация

Область лимита

Google AI Studio

text, tool_calling, vision, structured_output, embedding, tts

GOOGLE_API_KEY

На модель

Groq

text, tool_calling, structured_output, reasoning, speech_to_text

GROQ_API_KEY

Аккаунт

SambaNova Cloud

text, tool_calling, reasoning, vision

SAMBANOVA_API_KEY

Аккаунт

NVIDIA NIM

text, tool_calling, reasoning, vision, embedding, rerank, moderation

NVIDIA_API_KEY

Аккаунт

Cohere

text, tool_calling, structured_output, reasoning, embedding, rerank

COHERE_API_KEY

Аккаунт

OpenRouter

text, tool_calling, vision, reasoning, embedding, tts, moderation

OPENROUTER_API_KEY

Аккаунт

OpenCode Zen

code, tool_calling, reasoning, text

OPENCODE_API_KEY

Аккаунт

Bazaarlink.ai

text, code

BAZAARLINK_API_KEY

Аккаунт

aimlapi.com

text

AIMLAPI_API_KEY

Аккаунт

OVHcloud AI

text

OVHCLOUD_API_KEY

На модель

Voyage AI

embedding

VOYAGE_API_KEY

Аккаунт

Jina AI

embedding, rerank

JINA_API_KEY

Аккаунт

Hugging Face

text, tool_calling, image_gen

HUGGINGFACE_API_KEY

Общий пул

Cloudflare Workers AI

image_gen, embedding

CLOUDFLARE_API_TOKEN

Общий пул

Google Cloud Platform

translation, speech_to_text, text_to_speech, vision

GCP_API_KEY

Аккаунт

MyMemory

translation

MYMEMORY_API_KEY

Аккаунт

Unstructured.io

document_processing

UNSTRUCTURED_API_KEY

Аккаунт

Exa AI

web_search

EXA_API_KEY

Аккаунт

Tavily

web_search

TAVILY_API_KEY

Аккаунт


🚀 Быстрый старт

1. Установка

# Clone the repository
git clone https://github.com/zaber-dev/free-ai-gateway.git
cd free-ai-gateway

# Install dependencies across all monorepo workspaces
npm install

2. Настройка окружения

Скопируйте .env.example в .env и укажите ключи для провайдеров, которые вы хотите использовать:

cp .env.example .env
PORT=3000
GROQ_API_KEY=gsk_...
GOOGLE_API_KEY=AIza...
NVIDIA_API_KEY=nvapi-...
COHERE_API_KEY=...

3. Сборка и запуск

# Compile all workspace packages
npm run build

# Run all 31 automated tests across all packages
npm test

# Start the Fastify HTTP Gateway (Dev mode)
npm run dev

# Start the Gateway in Production
npm start

💻 Варианты использования

Вариант A: HTTP-шлюз (совместимый с OpenAI)

Вызывайте локальный прокси с помощью любого OpenAI SDK или curl:

curl http://localhost:3000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto:tool_calling+structured_output",
    "messages": [
      { "role": "user", "content": "Extract name and age from: Alice is 30 years old." }
    ]
  }'
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "http://localhost:3000/v1",
  apiKey: "not-needed",
});

const completion = await client.chat.completions.create({
  model: "auto:reasoning",
  messages: [{ role: "user", content: "Solve: How many r's in strawberry?" }],
});

console.log(completion.choices[0].message.content);

Вариант B: Встраивание @free-ai-gateway/core как библиотеки TypeScript

Встраивайте маршрутизатор возможностей напрямую в своё приложение без запуска HTTP-сервера:

import {
  CapabilityRouter,
  Registry,
  QuotaTracker,
  CircuitBreaker,
  EventBus,
  LowestLatencyStrategy,
} from "@free-ai-gateway/core";

const registry = new Registry();
const quota = new QuotaTracker();
const breaker = new CircuitBreaker();
const eventBus = new EventBus();

// Listen to lifecycle telemetry
eventBus.on("request:fallback", (evt) => {
  console.warn(`[Fallback] Failed on ${evt.attemptedProvider}: ${evt.error}`);
});

const router = new CapabilityRouter(
  registry,
  quota,
  breaker,
  undefined,
  eventBus,
  new LowestLatencyStrategy()
);

const response = await router.route({
  capabilities: ["text", "tool_calling"],
  payload: {
    messages: [{ role: "user", content: "Hello AI!" }],
  },
});

console.log("Served by:", response.servedBy);
console.log("Data:", response.data);

Вариант C: Сервер Model Context Protocol (MCP)

Подключите Free-AI Gateway к Claude Desktop или Cursor:

{
  "mcpServers": {
    "free-ai-gateway": {
      "command": "node",
      "args": ["/path/to/free-ai-gateway/packages/mcp/dist/index.js"],
      "env": {
        "GROQ_API_KEY": "gsk_...",
        "GOOGLE_API_KEY": "AIza..."
      }
    }
  }
}

Предоставляемые MCP-инструменты:

  • freeai_generate: Генерация текста, рассуждений или кода с автоматическим переключением при сбоях.

  • freeai_search: Поисковые запросы в интернете через Exa / Tavily.

  • freeai_embed: Генерация векторных эмбеддингов через Voyage, Jina, Gemini.

  • freeai_rerank: Переранжирование документов для генерации с дополненным поиском (RAG).

  • freeai_analyze_image: Мультимодальный анализ изображений.


Вариант D: Навыки для IDE-агентов (@free-ai-gateway/skills)

Установите навыки Free-AI Gateway непосредственно в вашу IDE или автономного ассистента кодирования:

# Install to Google Antigravity (.agents/skills)
npx @free-ai-gateway/skills install --target=antigravity

# Install to Cursor (.cursor/skills)
npx @free-ai-gateway/skills install --target=cursor

# Install to Claude Code (.claude/skills)
npx @free-ai-gateway/skills install --target=claude

# Install to all supported AI assistants
npx @free-ai-gateway/skills install --target=all

Вариант E: Терминальный CLI-инструмент (@free-ai-gateway/cli)

Используйте Free-AI прямо из терминала или скриптов командной строки:

# One-off prompt execution with auto-routing
npx @free-ai-gateway/cli "Explain MapReduce in simple terms"

# Interactive chat REPL in terminal
npx @free-ai-gateway/cli chat --capability=reasoning

# Check model catalog across all 19 providers
npx @free-ai-gateway/cli models

# Run system diagnostics
npx @free-ai-gateway/cli doctor

🏛️ Структура монорепозитория

free-ai-gateway/
├── packages/
│   ├── core/                        # @free-ai-gateway/core
│   │   ├── AGENTS.md                # Agentic guidelines for @free-ai-gateway/core
│   │   ├── src/
│   │   │   ├── capabilities/        # Capability definitions & parsing
│   │   │   ├── config/              # providers.json, schema, config sources
│   │   │   ├── errors/              # ProviderError, NoProviderAvailableError
│   │   │   ├── observability/       # EventBus, MetricsTracker
│   │   │   ├── providers/           # 19 Provider Adapters + Registry + Loader
│   │   │   ├── resilience/          # QuotaTracker, CircuitBreaker
│   │   │   ├── router/              # CapabilityRouter & Strategy Pattern
│   │   │   ├── transport/           # HttpClient with exponential backoff
│   │   │   ├── types/               # Unified contracts & response schemas
│   │   │   └── index.ts             # Public Core API
│   │   ├── tests/                   # 20 Core unit tests
│   │   └── package.json
│   │
│   ├── mcp/                         # @free-ai-gateway/mcp
│   │   ├── AGENTS.md                # Agentic guidelines for @free-ai-gateway/mcp
│   │   ├── src/
│   │   │   ├── tools/               # generate, search, embed, rerank, analyze-image
│   │   │   ├── resources/           # capabilities, models catalog
│   │   │   ├── server.ts            # FreeAiMcpServer handler
│   │   │   └── index.ts
│   │   ├── tests/                   # 3 MCP server tests
│   │   └── package.json
│   │
│   ├── skills/                      # @free-ai-gateway/skills
│   │   ├── AGENTS.md                # Agentic guidelines for @free-ai-gateway/skills
│   │   ├── src/
│   │   │   ├── skills/              # Built-in skills (free-ai-gateway, scaffolding, mcp)
│   │   │   ├── installer.ts         # Multi-target installer
│   │   │   ├── cli.ts               # CLI executable (free-ai-skills)
│   │   │   └── index.ts
│   │   ├── tests/                   # 4 Skills tests
│   │   └── package.json
│   │
│   └── cli/                         # @free-ai-gateway/cli
│       ├── AGENTS.md                # Agentic guidelines for @free-ai-gateway/cli
│       ├── src/
│       │   ├── commands/            # prompt, chat, models, doctor, skills
│       │   ├── cli.ts               # Argument parsing & dispatcher
│       │   ├── bin.ts               # CLI executable (free-ai, freeai)
│       │   └── index.ts
│       ├── tests/                   # 4 CLI tests
│       └── package.json
│
├── apps/
│   └── gateway/                     # @free-ai-gateway/gateway (HTTP App)
│       ├── AGENTS.md                # Agentic guidelines for @free-ai-gateway/gateway
│       ├── src/
│       │   ├── adapters/            # OpenAI chat response normalizer
│       │   ├── api/
│       │   │   ├── routes/          # Fastify route modules & RouteLoader
│       │   │   └── server.ts        # Server factory, timing hooks, 404 handler
│       │   ├── jobs/                # Background JobScheduler & reverify worker
│       │   └── index.ts
│       ├── tests/                   # 5 Gateway HTTP tests
│       ├── Dockerfile               # Monorepo container builder
│       └── package.json
│
├── tests/
│   └── e2e/                         # 5 Cross-package E2E integration tests
│
├── AGENTS.md                        # Monorepo Root Agentic Guidelines
├── CLAUDE.md                        # Claude Code Instructions
├── .agents/                         # Workspace Skills Directory
├── .github/workflows/ci.yml         # Matrix CI workflow
├── docker-compose.yml
├── package.json                     # Root workspace definition
├── tsconfig.base.json               # Shared TypeScript compiler settings
└── README.md


🤝 Сообщество и управление


👤 Автор

Создано и поддерживается с ❤️ Md. Mahedi Zaman Zaber.


📄 Лицензия

Этот проект является открытым и доступен под лицензией MIT.

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zaber-dev/free-ai-gateway'

If you have feedback or need assistance with the MCP directory API, please join our Discord server