Koskamo

aifree.dev MCP

A community-curated Model Context Protocol server that provides agents with verified information on free AI offers, API credits, free tiers, and startup/student programs. It enables searching offers, checking eligibility, comparing free LLM APIs, and accessing rate limits without requiring authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

aifree.dev MCP logo, by aifree.devCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by aifree.dev
MCP endpoint (Streamable HTTP)
https://aifree.dev/mcp
Vendor documentation

What you can do with it

  • Search for verified free AI tools and API credits
  • Check eligibility for student or startup programs
  • Compare free LLM API rate limits and features
  • Find models served by free tiers with RPM/TPM data

Source and maintenance

Community listingRegistry 1.0.1
Maintenance checked

Protocol and capabilities

Server
aifree 1.1.0
MCP protocol
2025-06-18
Tools
13 advertised
Resources
10 advertised
Resource templates
1 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

aifree.dev is a verified directory of free AI offers (free tiers, credits, student and startup programs). Use search_free_ai_offers for "what is free for X", get_offer for details on one slug (including its models and their rate limits), list_free_llm_apis for API free tiers, find_models for which free API serves a given LLM model and at what RPM/RPD/TPM, list_models / get_model for the model catalog (filters, every free source of one model), list_providers, recent_changes for what changed, compare_offers for side-by-side tables, build_stack for a free stack (chat, rag, image, voice, agent, finetune), get_status for aifree's own uptime, check_eligibility for "what can I claim as a student / startup / in country X / without a card". Always cite the offer url. Only rows with status "verified" were tested by a person; "listed" rows are public but unverified. Data: CC BY 4.0.

Tools

13 advertised

search_free_ai_offers — Search free AI offers
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

search_free_ai_offers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Free text, e.g. \"free tts\", \"gemini 2.5\", \"image generation no card\""
    },
    "region": {
      "type": "string",
      "maxLength": 6,
      "description": "ISO 3166-1 alpha-2 country code or \"global\""
    },
    "audience": {
      "enum": [
        "developers",
        "students",
        "startups",
        "creators",
        "researchers",
        "nonprofits",
        "educators",
        "everyone"
      ],
      "type": "string"
    },
    "category": {
      "enum": [
        "coding",
        "image",
        "audio",
        "video",
        "api-credits",
        "assistant",
        "other"
      ],
      "type": "string"
    },
    "freeType": {
      "enum": [
        "free-tier",
        "free-credits",
        "free-trial",
        "student-program",
        "startup-program",
        "nonprofit-program",
        "fully-free"
      ],
      "type": "string"
    },
    "cardRequired": {
      "type": "boolean",
      "description": "false = only offers that never ask for a card"
    }
  }
}
search_free_ai_offers annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_offer — Get one offer
Advertised by the server during the last successful anonymous check.
Advertised read-only

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), the API id of each model when recorded (apiId), whether its vendor documents JSON mode / structured output (structuredOutput, omitted when unknown), and the API base URL with its request shape (apiBaseUrl, apiCompat: openai, anthropic, google or custom).

get_offer input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1
    }
  }
}
get_offer annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
list_free_llm_apis — List free LLM APIs
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

list_free_llm_apis input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1
    }
  }
}
list_free_llm_apis annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
find_models — Find free LLM models and their rate limits
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

find_models input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Model or provider name, e.g. \"gpt-oss 120b\", \"gemini 2.5 flash\", \"groq\"; every word must match"
    },
    "family": {
      "type": "string",
      "maxLength": 40,
      "description": "Model family slug, e.g. \"gemini\", \"llama\", \"qwen\", \"gpt\""
    },
    "noCard": {
      "type": "boolean",
      "description": "true = only offers that never ask for a card"
    },
    "vision": {
      "type": "boolean"
    },
    "toolCalling": {
      "type": "boolean",
      "description": "true = only models documented with tool calling"
    },
    "structuredOutput": {
      "type": "boolean",
      "description": "true = only models documented with JSON mode or structured output (response_format)"
    }
  }
}
find_models annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
recent_changes — Recent catalog changes
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

recent_changes input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "hub": {
      "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"
      ],
      "type": "string",
      "description": "Only offers of this category hub, e.g. free-ai-coding-tools"
    },
    "kind": {
      "enum": [
        "listed",
        "verified",
        "changed",
        "terms_updated",
        "expired",
        "relisted",
        "incident",
        "incident_resolved"
      ],
      "type": "string"
    },
    "page": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 1
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1
    },
    "since": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "YYYY-MM-DD"
    }
  }
}
recent_changes annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
list_models — List models in the free catalog
Advertised by the server during the last successful anonymous check.
Advertised read-only

Every model some live free offer serves (the data behind aifree.dev/model and GET /api/v1/models), most free sources first: slug, family, vendor, context window, tool calling, vision, JSON mode, open weights and how many free sources serve it. Filter by name, family, provider, capability or minimum context; then call get_model for the sources and rate limits.

list_models input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "page": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 1
    },
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "description": "Default 50"
    },
    "query": {
      "type": "string",
      "maxLength": 80,
      "description": "Substring of the model slug, name or a source model name"
    },
    "family": {
      "type": "string",
      "maxLength": 80,
      "description": "Exact family, e.g. \"gpt\", \"llama\", \"gemini\", \"embedding\""
    },
    "vision": {
      "type": "boolean",
      "description": "true = only models with vision"
    },
    "provider": {
      "type": "string",
      "maxLength": 80,
      "description": "Substring of a source provider, offer name or offer slug, e.g. \"groq\""
    },
    "minContextK": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 1,
      "description": "Minimum context window in thousands of tokens, e.g. 128"
    },
    "toolCalling": {
      "type": "boolean",
      "description": "true = only models with tool calling"
    }
  }
}
list_models annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_model — Get one model and where it is free
Advertised by the server during the last successful anonymous check.
Advertised read-only

One model by slug (an alias slug resolves to the canonical one) with every live free source: offer, provider, verified or listed, card rule, context and the published rate limits (rpm, rpd, tpm, tpd, rpmo; null = not published). Same record as GET /api/v1/models/{model}.

get_model input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1
    }
  }
}
get_model annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
list_providers — List providers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Every provider with public offers: slug, offer count, categories, free types and its offers with status and URL. Same data as GET /api/v1/providers.

list_providers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
list_providers annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
build_stack — Build a free AI stack
Advertised by the server during the last successful anonymous check.
Advertised read-only

The aifree.dev/stack builder: for a template (chat, rag, image, voice, agent, finetune) one free pick per slot (llm, emb, vec, host, gpu, tts, stt, image) with alternatives, the tightest published LLM requests per day, cards and programs to watch, and a shareable URL. Optionally pin a slot to an offer slug, require no card, or limit to a country.

build_stack input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "template"
  ],
  "properties": {
    "picks": {
      "type": "object",
      "required": [
        "llm",
        "emb",
        "vec",
        "host",
        "gpu",
        "tts",
        "stt",
        "image"
      ],
      "description": "Pin slots to offer slugs, e.g. { \"llm\": \"groq-free-tier\" }",
      "propertyNames": {
        "enum": [
          "llm",
          "emb",
          "vec",
          "host",
          "gpu",
          "tts",
          "stt",
          "image"
        ],
        "type": "string"
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 120,
        "minLength": 1
      }
    },
    "noCard": {
      "type": "boolean",
      "description": "true = only offers that never ask for a card"
    },
    "region": {
      "type": "string",
      "maxLength": 8,
      "description": "ISO 3166-1 alpha-2 code, e.g. \"VN\"; unknown codes are ignored"
    },
    "template": {
      "enum": [
        "chat",
        "rag",
        "image",
        "voice",
        "agent",
        "finetune"
      ],
      "type": "string"
    }
  }
}
build_stack annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_status — aifree.dev status
Advertised by the server during the last successful anonymous check.
Advertised read-only

aifree.dev own status: overall verdict, 30-day uptime, per-path checks and background job health. Same report as GET /api/v1/status.

get_status input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_status annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
compare_offers — Compare offers side by side
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

compare_offers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slugs"
  ],
  "properties": {
    "slugs": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 120,
        "minLength": 1
      },
      "maxItems": 8,
      "minItems": 2
    }
  }
}
compare_offers annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
check_eligibility — Check which free AI offers a profile can claim
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

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

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.

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

Prompts

Not advertised

No prompt definitions available.

Resources

10 advertised

llms-txt — aifree.dev llms.txt

Advertised by the server during the last successful anonymous check.

Site overview for language models: hubs, comparisons, guides, API.

llms-txt URI
aifree://llms.txt

MIME type: text/plain

hubs — Category hubs

Advertised by the server during the last successful anonymous check.

The seven curated hubs with offer counts and URLs.

hubs URI
aifree://hubs

MIME type: application/json

changes — Recent changes

Advertised by the server during the last successful anonymous check.

The 50 most recent catalog events (same shape as /api/v1/changes).

changes URI
aifree://changes

MIME type: application/json

Free AI coding tools — One hub with its offers

Advertised by the server during the last successful anonymous check.

Free code editors, AI agents, and LLM router credits for developers.

Free AI coding tools URI
aifree://hubs/free-ai-coding-tools

MIME type: application/json

Free AI API credits — One hub with its offers

Advertised by the server during the last successful anonymous check.

One-time credit grants and permanent free tiers for LLM, speech, and image APIs.

Free AI API credits URI
aifree://hubs/free-api-credits

MIME type: application/json

Student AI deals — One hub with its offers

Advertised by the server during the last successful anonymous check.

Verified free AI plans for students - Gemini Pro, ChatGPT Plus, coding tools, and cloud money.

Student AI deals URI
aifree://hubs/student-ai-deals

MIME type: application/json

AI startup credits — One hub with its offers

Advertised by the server during the last successful anonymous check.

Up to $350,000 in verified cloud and AI credit programs for early-stage companies.

AI startup credits URI
aifree://hubs/startup-ai-credits

MIME type: application/json

Free AI image generators — One hub with its offers

Advertised by the server during the last successful anonymous check.

Free image generators and APIs - DALL·E 3, Ideogram, Recraft, and more, limits verified.

Free AI image generators URI
aifree://hubs/free-ai-image-tools

MIME type: application/json

Free AI voice & audio tools — One hub with its offers

Advertised by the server during the last successful anonymous check.

Free TTS, speech-to-text, and AI music - ElevenLabs, Suno, and Deepgram credits, verified.

Free AI voice & audio tools URI
aifree://hubs/free-ai-audio-tools

MIME type: application/json

Free AI video generators — One hub with its offers

Advertised by the server during the last successful anonymous check.

Free AI video generators - Runway, Hailuo, Vidu, and fal daily limits, verified.

Free AI video generators URI
aifree://hubs/free-ai-video-tools

MIME type: application/json

hub — One hub with its offers

Advertised by the server during the last successful anonymous check.

hub URI template
aifree://hubs/{slug}

MIME type: application/json

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2886 ms
95th percentile latency
2886 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2886 ms · metadata changed · 13 tool(s), 10 resource(s), 1 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http aifree-dev-mcp https://aifree.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add aifree-dev-mcp --url https://aifree.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable aifree-dev-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "aifree-dev-mcp": {
      "url": "https://aifree.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "aifree-dev-mcp": {
      "type": "streamableHttp",
      "url": "https://aifree.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start aifree-dev-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "aifree-dev-mcp": {
      "type": "http",
      "url": "https://aifree.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http aifree-dev-mcp https://aifree.dev/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "aifree-dev-mcp": {
      "url": "https://aifree.dev/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "aifree-dev-mcp": {
      "serverUrl": "https://aifree.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like aifree.dev MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.