aifree

Verified free AI offers, API free tiers, credits and student/startup programs from aifree.dev.

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
80%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'compare_offers' description lacks action verbin compare_offers

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,709Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (1.34% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "aifree": {
      "command": "npx",
      "args": [
        "@aifree/mcp"
      ]
    }
  }
}

Runnable packages

npm@aifree/mcp1.0.1stdio

Remote endpoints

https://aifree.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_free_ai_offers(query, category, audience, freeType, cardRequired, ...)

Find free AI tools, API free tiers, credits and programs. Free text plus optional filters; returns the best matches with limits, card rules and the page URL to cite.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Free text, e.g. \"free tts\", \"gemini 2.5\", \"image generation no card\"",
      "type": "string",
      "maxLength": 200
    },
    "category": {
      "type": "string",
      "enum": [
        "coding",
        "image",
        "audio",
        "video",
        "api-credits",
        "assistant",
        "other"
      ]
    },
    "audience": {
      "type": "string",
      "enum": [
        "developers",
        "students",
        "startups",
        "creators",
        "researchers",
        "everyone"
      ]
    },
    "freeType": {
      "type": "string",
      "enum": [
        "free-tier",
        "free-credits",
        "free-trial",
        "student-program",
        "startup-program",
        "fully-free"
      ]
    },
    "cardRequired": {
      "description": "false = only offers that never ask for a card",
      "type": "boolean"
    },
    "region": {
      "description": "ISO 3166-1 alpha-2 country code or \"global\"",
      "type": "string",
      "maxLength": 6
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_offer(slug)

Full details for one offer by slug (the last path segment of an aifree.dev/offer/... URL), including the write-up and, for API free tiers, the models served with their published rate limits (rateLimit: rpm, rpd, tpm, optional tpd and rpmo; null = not published).

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_free_llm_apis(limit)

Free LLM / inference API tiers and credits (Gemini, Groq, OpenRouter, Mistral, Cohere, NVIDIA, …) with their limits and card rules.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_models(query, family, toolCalling, vision, noCard, ...)

Which free API tiers serve an LLM model, with the published free-tier rate limits (RPM, RPD, TPM, TPD, requests/month), context window and tool calling. Same rows and ranking (most requests per day first) as the free LLM API picker. Search by model or provider name, optionally by family.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Model or provider name, e.g. \"gpt-oss 120b\", \"gemini 2.5 flash\", \"groq\"; every word must match",
      "type": "string",
      "maxLength": 200
    },
    "family": {
      "description": "Model family slug, e.g. \"gemini\", \"llama\", \"qwen\", \"gpt\"",
      "type": "string",
      "maxLength": 40
    },
    "toolCalling": {
      "description": "true = only models documented with tool calling",
      "type": "boolean"
    },
    "vision": {
      "type": "boolean"
    },
    "noCard": {
      "description": "true = only offers that never ask for a card",
      "type": "boolean"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢recent_changes(since, kind, hub, limit)

What was listed, verified, changed or expired recently, newest first.

Input Schema

{
  "type": "object",
  "properties": {
    "since": {
      "description": "YYYY-MM-DD",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "kind": {
      "type": "string",
      "enum": [
        "listed",
        "verified",
        "changed",
        "terms_updated",
        "expired",
        "relisted",
        "incident",
        "incident_resolved"
      ]
    },
    "hub": {
      "description": "Only offers of this category hub, e.g. free-ai-coding-tools",
      "type": "string",
      "enum": [
        "free-ai-coding-tools",
        "free-api-credits",
        "student-ai-deals",
        "startup-ai-credits",
        "free-ai-image-tools",
        "free-ai-audio-tools",
        "free-ai-video-tools"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢compare_offers(slugs)

A markdown comparison table (provider, what is free, limits, card rules, catch, expiry, status) for 2-8 offer slugs.

Input Schema

{
  "type": "object",
  "properties": {
    "slugs": {
      "minItems": 2,
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 120
      }
    }
  },
  "required": [
    "slugs"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_eligibility(student, startupStage, country, noCard, building, ...)

Use when someone asks what free AI they qualify for given who they are, e.g. "I am a student in Vietnam with no credit card, what free AI can I get?". Same rules as the aifree.dev/unlock quiz: student and startup programs only when the profile says so, no-card drops offers that ask for a card, country drops offers recorded as other-countries-only (offers with no recorded region stay in and are counted in unrecordedRegionCount), building narrows by category. All parameters are optional; omitted ones mean not a student, no startup, anywhere, card OK, any category. Unknown values are ignored the same way. Returns verified rows first, then by USD value. totalUsd sums USD headline values of verified rows only (tokens, requests, images or minutes count as $0, no exchange rates); listed rows are public but not yet checked by a person. limit (default 20, max 50) only trims the returned list: total, verifiedCount and totalUsd cover every match. Each provider decides who qualifies; cite the offer url and the unlockUrl (the same result as a page).

Input Schema

{
  "type": "object",
  "properties": {
    "student": {
      "description": "true = enrolled student (adds student programs)",
      "type": "boolean"
    },
    "startupStage": {
      "description": "none (default), idea (no company yet), early (incorporated, pre-seed or bootstrapped), funded (raised a round); anything but none adds startup programs",
      "type": "string",
      "enum": [
        "none",
        "idea",
        "early",
        "funded"
      ]
    },
    "country": {
      "description": "ISO 3166-1 alpha-2 code, e.g. \"VN\", \"IN\", \"US\"; unknown codes are ignored",
      "type": "string",
      "maxLength": 8
    },
    "noCard": {
      "description": "true = will not enter a payment card",
      "type": "boolean"
    },
    "building": {
      "description": "any (default), coding, api-credits (apps on LLM APIs), image, audio, video, assistant",
      "type": "string",
      "enum": [
        "any",
        "coding",
        "api-credits",
        "image",
        "audio",
        "video",
        "assistant"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢ask_aifree(question)

A short answer about free AI offers grounded in the verified catalog, citing only offer slugs it was shown. Declines questions outside the catalog. Cached per question for 24 h; subject to a daily budget.

Input Schema

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string",
      "minLength": 3,
      "maxLength": 500
    }
  },
  "required": [
    "question"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools