Andrew's Freebies MCP
An MCP server providing access to a catalog of U.S. free trials, savings, public benefits, and redeemable value records. It supports search and fetch operations to retrieve evidence-backed information on trials, rebates, and card-linked offers without requiring user authentication or API keys for public access.
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.
https://andrewsfreebies.com/api/mcpWhat its tools do
7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Can change data (1)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to andrewsfreebies.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for actionable free trials and U.S. savings
- Retrieve evidence-backed public benefit information
- Find current rebates and check official deadlines
- Fetch detailed entitlement data for specific products
Source and maintenance
Protocol and capabilities
- Server
- andrews-freebies 2.6.0
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 7 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- 1 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
7 advertised
search — Search Andrew’s Freebies
Use this when the user wants to find, compare, or answer a question about current U.S. free trials, rebates, bonuses, cash back, or other actionable savings. It returns citable answer guides and normalized records. Fetch the best returned id before giving detailed terms. Do not use it for purchases, account access, or guaranteed eligibility.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 160,
"minLength": 2,
"description": "The user’s natural-language savings question, including a provider, product, desired value, condition, or task when known."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}fetch — Fetch an Andrew’s Freebies document
Use this after search returns a guide:SLUG, trial:SLUG, or entitlement:SLUG id and the user needs the complete answer, terms, evidence, verification state, or official action path. Do not guess ids, substitute a guide URL for an offer action, or use this for an id from another service.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "A guide:SLUG, trial:SLUG, or entitlement:SLUG id returned by search."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"id",
"title",
"text",
"url",
"metadata"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"text": {
"type": "string"
},
"title": {
"type": "string"
},
"offers": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"record_type",
"title",
"provider",
"summary",
"status",
"last_checked",
"source_url",
"action_url",
"verification_readiness",
"terms"
],
"properties": {
"id": {
"type": "string"
},
"terms": {
"type": "object",
"additionalProperties": {
"type": [
"string",
"null"
]
}
},
"title": {
"type": "string"
},
"status": {
"type": "string"
},
"summary": {
"type": "string"
},
"provider": {
"type": "string"
},
"action_url": {
"type": "string",
"format": "uri"
},
"source_url": {
"type": "string",
"format": "uri"
},
"record_type": {
"enum": [
"trial",
"entitlement"
],
"type": "string"
},
"last_checked": {
"type": "string"
},
"verification_readiness": {
"type": "object",
"required": [
"status",
"latest_outcome",
"latest_checked_at",
"interpretation"
],
"properties": {
"status": {
"enum": [
"audit-confirmed-exact",
"audit-confirmed-partial",
"audit-inconclusive",
"audit-warning",
"not-audited"
],
"type": "string"
},
"interpretation": {
"type": "string"
},
"latest_outcome": {
"type": [
"string",
"null"
]
},
"latest_checked_at": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"description": "Current matched records for a guide. Each action_url is a measured redirect to that record's cataloged official destination."
},
"metadata": {
"type": "object",
"required": [
"record_type",
"provider",
"status",
"last_checked",
"source_url",
"action_url"
],
"properties": {
"status": {
"type": "string"
},
"provider": {
"type": "string"
},
"action_url": {
"type": [
"string",
"null"
],
"format": "uri"
},
"source_url": {
"type": "string",
"format": "uri"
},
"record_type": {
"enum": [
"trial",
"entitlement",
"guide"
],
"type": "string"
},
"last_checked": {
"type": "string"
},
"copy_checked_at": {
"type": [
"string",
"null"
]
},
"official_action": {
"type": "object",
"required": [
"allowed",
"status",
"reason"
],
"properties": {
"reason": {
"type": "string"
},
"status": {
"enum": [
"ready",
"source-navigation",
"withheld"
],
"type": "string"
},
"allowed": {
"type": "boolean"
}
},
"additionalProperties": false
},
"offers_truncated": {
"type": "boolean"
},
"matched_offer_count": {
"type": "integer",
"minimum": 0
},
"returned_offer_count": {
"type": "integer",
"minimum": 0
},
"verification_readiness": {
"type": "object",
"required": [
"status",
"latest_outcome",
"latest_checked_at",
"interpretation"
],
"properties": {
"status": {
"enum": [
"audit-confirmed-exact",
"audit-confirmed-partial",
"audit-inconclusive",
"audit-warning",
"not-audited"
],
"type": "string"
},
"interpretation": {
"type": "string"
},
"latest_outcome": {
"type": [
"string",
"null"
]
},
"latest_checked_at": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}search_freebies — Search freebies with scope controls
Use this when the user needs explicit corpus scope, result limits, or a rich normalized list rather than the standard citable search/fetch flow. It is read-only: the default uses site-controlled actionable U.S. trials and savings, while only an explicit open-source scope reads public GitHub. Use public-benefits only for eligibility-based services. Do not use it for purchases, account access, or guaranteed eligibility.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 12,
"maximum": 25,
"minimum": 1,
"description": "Maximum normalized items to return; answer guides are reported separately."
},
"query": {
"type": "string",
"maxLength": 160,
"minLength": 2,
"description": "The user's need in natural language, including provider, product, eligibility, or desired value."
},
"scope": {
"enum": [
"auto",
"actionable",
"software",
"savings",
"public-benefits",
"open-source",
"all"
],
"type": "string",
"default": "auto",
"description": "auto routes ordinary requests to actionable trials/savings and explicit public-service needs to the broader benefits corpus."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"api_version",
"query",
"requested_scope",
"resolved_scope",
"count",
"answer_guide_count",
"result_count",
"sources",
"answer_guides",
"items",
"usage"
],
"properties": {
"count": {
"type": "integer",
"minimum": 0,
"description": "Normalized record and repository results returned in items."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"result_type",
"record_type"
],
"properties": {
"id": {
"type": [
"string",
"integer"
]
},
"name": {
"type": "string"
},
"action_url": {
"type": [
"string",
"null"
],
"format": "uri"
},
"record_type": {
"enum": [
"trial",
"entitlement",
null
],
"type": [
"string",
"null"
]
},
"result_type": {
"enum": [
"trial",
"saving",
"public-benefit",
"open-source-repository"
],
"type": "string"
}
},
"additionalProperties": true
},
"description": "Ranked normalized records or, only under an explicit open-source scope, public repository results."
},
"query": {
"type": "string",
"description": "Normalized user query used for retrieval."
},
"usage": {
"type": "object",
"description": "Next-step, ranking, and caution guidance for the returned result set.",
"additionalProperties": {
"type": "string"
}
},
"sources": {
"type": "object",
"description": "Per-corpus matched, omitted, and returned counts.",
"additionalProperties": true
},
"api_version": {
"type": "string",
"description": "Andrew’s Freebies search contract version."
},
"result_count": {
"type": "integer",
"minimum": 0,
"description": "Complete count across answer_guides and items."
},
"answer_guides": {
"type": "array",
"items": {
"type": "object",
"required": [
"result_type",
"id",
"title",
"description",
"updated",
"source_backed_matches",
"url",
"markdown_url",
"agent_instruction"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"updated": {
"type": "string"
},
"description": {
"type": "string"
},
"result_type": {
"type": "string",
"const": "answer-guide"
},
"markdown_url": {
"type": "string",
"format": "uri"
},
"agent_instruction": {
"type": "string"
},
"source_backed_matches": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
}
},
"resolved_scope": {
"enum": [
"actionable",
"software",
"savings",
"public-benefits",
"open-source",
"all"
],
"type": "string"
},
"requested_scope": {
"enum": [
"auto",
"actionable",
"software",
"savings",
"public-benefits",
"open-source",
"all"
],
"type": "string"
},
"answer_guide_count": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_record — Get one normalized freebie record
Use this after search_freebies returns an exact trial or entitlement id and the user needs its complete normalized terms, conditions, sources, official action path, or latest verification state. Do not guess ids or treat a directory-only or inconclusive record as confirmed.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Exact record id returned by search_freebies."
},
"record_type": {
"enum": [
"trial",
"entitlement"
],
"type": "string",
"description": "Use the record_type returned by search_freebies when known."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"record_type",
"id",
"name",
"provider",
"status",
"last_checked",
"source_url",
"action_url",
"official_action",
"verification_readiness"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"provider": {
"type": "string"
},
"action_url": {
"type": [
"string",
"null"
],
"format": "uri"
},
"source_url": {
"type": "string",
"format": "uri"
},
"record_type": {
"enum": [
"trial",
"entitlement"
],
"type": "string"
},
"last_checked": {
"type": "string"
},
"official_action": {
"type": "object",
"required": [
"allowed",
"status",
"reason"
],
"properties": {
"reason": {
"type": "string"
},
"status": {
"enum": [
"ready",
"source-navigation",
"withheld"
],
"type": "string"
},
"allowed": {
"type": "boolean"
}
},
"additionalProperties": false
},
"verification_readiness": {
"type": "object",
"required": [
"status",
"latest_outcome",
"latest_checked_at",
"interpretation"
],
"properties": {
"status": {
"enum": [
"audit-confirmed-exact",
"audit-confirmed-partial",
"audit-inconclusive",
"audit-warning",
"not-audited"
],
"type": "string"
},
"interpretation": {
"type": "string"
},
"latest_outcome": {
"type": [
"string",
"null"
]
},
"latest_checked_at": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_verification — Get verification history
Use this when the user asks how or when one exact Andrew’s Freebies record was checked, whether its terms matched, or what audit warnings exist. Catalog status and audit outcome are separate; blocked, unknown, and fetch errors never prove expiration, and audits never remove or change records.
{
"type": "object",
"required": [
"record_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Maximum append-only audit events to return."
},
"record_id": {
"type": "string",
"description": "Exact trial or entitlement id returned by search or search_freebies."
},
"record_type": {
"enum": [
"trial",
"entitlement"
],
"type": "string",
"description": "Use the record type returned by search when known; omit only when the id uniquely resolves."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"api_version",
"record",
"count",
"items",
"append_only"
],
"properties": {
"count": {
"type": "integer",
"minimum": 0
},
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Newest-first append-only verification events."
},
"record": {
"type": "object",
"required": [
"record_type",
"record_id",
"name",
"category",
"web_url"
],
"properties": {
"name": {
"type": "string"
},
"web_url": {
"type": "string"
},
"category": {
"type": "string"
},
"record_id": {
"type": "string"
},
"record_type": {
"enum": [
"trial",
"entitlement"
],
"type": "string"
}
},
"additionalProperties": false
},
"api_version": {
"type": "string"
},
"append_only": {
"type": "boolean",
"const": true
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_freshness — Get catalog freshness
Use this when the user asks about verification freshness for the actionable-candidate corpus, overdue coverage, scheduler liveness, records sharing an audit outcome, or whether one exact non-directory record is still inside cadence. Directory-only leads and public services remain inspectable elsewhere but are excluded from this denominator. For one record, provide both record_type and record_id; its audit outcome still proves only the fields checked. Blocked or unknown never means expired.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Maximum matching records to return."
},
"outcome": {
"enum": [
"confirmed-exact",
"confirmed-partial",
"terms-changed",
"explicitly-expired",
"moved",
"blocked",
"fetch-error",
"not-found",
"unknown"
],
"type": "string",
"description": "Optional latest-audit outcome filter; outcomes describe evidence, not guaranteed availability."
},
"record_id": {
"type": "string",
"maxLength": 200,
"description": "Optional exact non-directory record id; requires record_type and scopes totals and items to that record."
},
"record_type": {
"enum": [
"trial",
"entitlement"
],
"type": "string",
"description": "Optional corpus filter; required when record_id is provided."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"api_version",
"catalog_scope",
"filters",
"totals",
"by_freshness",
"by_evidence_resolution",
"by_outcome",
"evidence_resolution_interpretation",
"oldest_checked_at",
"newest_checked_at",
"operations",
"items",
"policy"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Newest matching records and their cadence schedules."
},
"policy": {
"type": "string"
},
"totals": {
"type": "object",
"description": "Catalog, cadence, attempted-coverage, and supporting-evidence totals.",
"additionalProperties": {
"type": "number"
}
},
"filters": {
"type": "object",
"required": [
"record_type",
"record_id",
"outcome"
],
"properties": {
"outcome": {
"type": [
"string",
"null"
]
},
"record_id": {
"type": [
"string",
"null"
]
},
"record_type": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"by_outcome": {
"type": "object",
"additionalProperties": {
"type": "integer",
"minimum": 0
}
},
"operations": {
"type": "object",
"description": "Scheduler-origin heartbeat and liveness fields.",
"additionalProperties": true
},
"api_version": {
"type": "string"
},
"by_freshness": {
"type": "object",
"additionalProperties": {
"type": "integer",
"minimum": 0
}
},
"catalog_scope": {
"type": "string",
"description": "The exact record population used by cadence and evidence totals."
},
"newest_checked_at": {
"type": [
"string",
"null"
]
},
"oldest_checked_at": {
"type": [
"string",
"null"
]
},
"by_evidence_resolution": {
"type": "object",
"additionalProperties": {
"type": "integer",
"minimum": 0
}
},
"evidence_resolution_interpretation": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}flag_expired_deal — Report an expired deal
Use this only when the user supplies an exact existing record id and relevant current first-party evidence showing that its offer ended or is unavailable. Do not use it for rumors, third-party summaries, speculation, or a merely blocked or unreachable page. It writes one non-destructive review signal and never removes or changes the catalog record.
{
"type": "object",
"required": [
"record_id",
"evidence_url"
],
"properties": {
"note": {
"type": "string",
"description": "Optional concise factual observation, up to 1,000 characters; never include credentials or personal data."
},
"reporter": {
"type": "string",
"description": "Optional agent or integration label, up to 120 characters; never include a person’s identity."
},
"record_id": {
"type": "string",
"description": "Exact existing id returned by Andrew’s Freebies search or record lookup."
},
"record_type": {
"enum": [
"trial",
"entitlement"
],
"type": "string",
"description": "Use the record type returned by search when known; omit only when the id uniquely resolves."
},
"evidence_url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Current first-party HTTP(S) page supporting the report. Do not submit a rumor, search result, directory, or unrelated provider page."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"api_version",
"flag",
"record",
"original_record_unchanged",
"review_status"
],
"properties": {
"flag": {
"type": "object",
"description": "Append-only internal review signal receipt.",
"additionalProperties": true
},
"record": {
"type": "object",
"required": [
"record_type",
"record_id",
"name",
"web_url"
],
"properties": {
"name": {
"type": "string"
},
"web_url": {
"type": "string"
},
"record_id": {
"type": "string"
},
"record_type": {
"enum": [
"trial",
"entitlement"
],
"type": "string"
}
},
"additionalProperties": false
},
"api_version": {
"type": "string"
},
"review_status": {
"type": "string",
"const": "open"
},
"original_record_unchanged": {
"type": "boolean",
"const": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}Prompts
1 advertised
find_current_freebies — Find current free trials and savings
Search Andrew’s Freebies for current, actionable U.S. trials or savings and verify the best matches before presenting them.
- query
- The product, provider, benefit, or savings need to search for. (required)
Resources
Not advertised
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
- 718 ms
- 95th percentile latency
- 718 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 718 ms · metadata changed · 7 tool(s), 1 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http andrew-s-freebies-mcp https://andrewsfreebies.com/api/mcpCodex
codex mcp add andrew-s-freebies-mcp --url https://andrewsfreebies.com/api/mcpCursor
{
"mcpServers": {
"andrew-s-freebies-mcp": {
"url": "https://andrewsfreebies.com/api/mcp"
}
}
}Cline
{
"mcpServers": {
"andrew-s-freebies-mcp": {
"type": "streamableHttp",
"url": "https://andrewsfreebies.com/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"andrew-s-freebies-mcp": {
"type": "http",
"url": "https://andrewsfreebies.com/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http andrew-s-freebies-mcp https://andrewsfreebies.com/api/mcpClaude Desktop
https://andrewsfreebies.com/api/mcpWindsurf
{
"mcpServers": {
"andrew-s-freebies-mcp": {
"serverUrl": "https://andrewsfreebies.com/api/mcp"
}
}
}Let your agent find its tools
Find servers like Andrew's Freebies MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Andrew's Freebies MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.