Free-AI Gateway MCP Server
⚡ Free-AI Gateway
企业级能力路由 AI 网关单体仓库,将免费层 AI API 聚合为可复用库、模型上下文协议(MCP)服务器和兼容 OpenAI 的 HTTP 代理。
📚 初次接触 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单体仓库工作区矩阵
包 / 应用 | 位置 | 用途 | 依赖项 |
|
| 协议无关的能力路由器、弹性引擎和 19 个提供商适配器。 |
|
|
| 模型上下文协议服务器,向 AI 代理(Claude Desktop、Cursor)暴露能力工具。 |
|
|
| 代理 IDE 技能( | 独立 CLI 和 API |
|
| 终端 AI 助手、交互式聊天 REPL、模型目录和诊断工具。 |
|
|
| 高吞吐量 Fastify HTTP 代理,提供兼容 OpenAI 的端点并支持自动发现。 |
|
✨ 关键能力
🎯 基于能力的路由:请求所需内容(
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 可观测性。🤖 模型上下文协议(MCP)就绪:可直接在 Claude Desktop、Cursor 或代理工作流中使用。
🧩 支持的提供商矩阵(19 个适配器)
提供商 | 模态 / 能力 | 认证方式 | 限制范围 |
Google AI Studio |
|
| 按模型 |
Groq |
|
| 账户 |
SambaNova Cloud |
|
| 账户 |
NVIDIA NIM |
|
| 账户 |
Cohere |
|
| 账户 |
OpenRouter |
|
| 账户 |
OpenCode Zen |
|
| 账户 |
Bazaarlink.ai |
|
| 账户 |
aimlapi.com |
|
| 账户 |
OVHcloud AI |
|
| 按模型 |
Voyage AI |
|
| 账户 |
Jina AI |
|
| 账户 |
Hugging Face |
|
| 共享池 |
Cloudflare Workers AI |
|
| 共享池 |
Google Cloud Platform |
|
| 账户 |
MyMemory |
|
| 账户 |
Unstructured.io |
|
| 账户 |
Exa AI |
|
| 账户 |
Tavily |
|
| 账户 |
🚀 快速开始
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 install2. 配置环境
将 .env.example 复制为 .env,并为你希望启用的提供商提供密钥:
cp .env.example .envPORT=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:模型上下文协议(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🤝 社区与治理
📖 架构蓝图:深入探讨内部系统设计和数据流。
🎓 开发者与学习指南:教程、编程用法和 SDK 模式。
🗺️ 产品路线图:计划中的里程碑、分布式状态和即将推出的功能。
💬 支持指南:故障排除、社区讨论和帮助渠道。
🏛️ 项目治理:决策过程、维护者角色和发布策略。
✍️ 贡献指南:添加新提供商适配器的分步说明。
🔒 安全策略:漏洞披露指南。
📜 行为准则:社区标准和期望。
👤 作者
由 Md. Mahedi Zaman Zaber 用 ❤️ 创建和维护。
📄 许可证
本项目是开源的,基于 MIT 许可证 提供。
This server cannot be installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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