AGENT ACCESS / NO KEY REQUIRED
Ask once. Get an actionable path.
One search prioritizes source-backed free trials and economically redeemable U.S. savings. The broader 5,320-record public-benefit corpus remains available through an explicit scope.
PUBLIC CHATGPT + CODEX DISTRIBUTION
A narrow review surface preserves the full answer engine.
OpenAI's universal Plugins Directory is shared by ChatGPT and Codex, but its current commerce rules exclude digital-subscription promotion. The proposed public endpoint is therefore https://andrewsfreebies.com/api/mcp/public-benefits: two read-only search and fetch tools for informational U.S. public benefits only. It omits trials, commercial promotions, direct action links, applications, transactions, account access, and eligibility decisions.
The complete seven-tool endpoint at https://andrewsfreebies.com/api/mcp remains unchanged for direct MCP clients, Claude Code, private developer-mode use, and the OpenAI Responses API. The public-review boundary prevents one channel's policy from shrinking the underlying corpus.
This repository-side surface is prepared, not published. A verified OpenAI Platform owner still has to enable developer mode, test the endpoint, create and scan a plugin draft, complete the portal's domain challenge, submit it for review, and publish it after approval.
TEST THE PUBLIC-REVIEW SURFACE
Connect the bounded catalog in a few minutes.
Use the public Streamable HTTP endpoint below. It requires no Andrew's Freebies account, key, or OAuth flow. Setup-page opens are measured anonymously and never treated as a completed connection.
https://andrewsfreebies.com/api/mcp/public-benefits- Open Settings → Security and login and turn on developer mode.
- Open ChatGPT Plugins, choose +, and use Andrew's Public Benefits as the name.
- Describe it as “Find source-backed U.S. public benefits without applications or transactions.” Under Connection, enter the endpoint above and create the connection.
- Review the two discovered read-only tools, then start a new chat and add the connection from the tools menu.
- Run this check: “Find reduced-fare transportation programs in Chicago and explain who may qualify.”
- Success means the trace calls
search, thenfetchon the returnedentitlement:id, cites official evidence, and does not return an application or transaction link. Seeing two tools confirms discovery only—not working retrieval.
Developer mode and plugin submission are account-owned actions and can depend on workspace policy. See OpenAI's official connection guide and submission flow. Review the project's privacy policy, terms, and support paths before connecting.
CONNECT IN CLAUDE CODE
Add the remote server with one command.
Run this in the project where you want the tools. Claude Code's current documentation recommends HTTP for remote MCP servers; the command uses the public endpoint and requires no token. Add --scope user before the server name only if you intentionally want it available across projects.
Inside Claude Code, open /mcp and confirm that andrews-freebies exposes seven tools. Then run the same Firestone prompt above: a working retrieval calls search, follows with fetch, and cites the official source.
claude mcp add --transport http andrews-freebies \ https://andrewsfreebies.com/api/mcp claude mcp list
USE FROM THE OPENAI API
Make a real downstream call now.
Set OPENAI_API_KEY, then paste this Responses API request into a shell. The Andrew's Freebies server itself needs no key; normal OpenAI API authentication and usage charges still apply.
The request imports only search and fetch. Both are read-only, so automatic approval applies only to retrieval—not the separate expiration-report tool. A successful response contains mcp_list_tools and result-bearing mcp_call items, rather than discovery alone.
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-5.6",
"input": "Find current Firestone rebates and cite the official deadlines.",
"tools": [{
"type": "mcp",
"server_label": "andrews_freebies",
"server_description": "Find current U.S. free trials and savings with official evidence.",
"server_url": "https://andrewsfreebies.com/api/mcp",
"allowed_tools": ["search", "fetch"],
"require_approval": "never"
}]
}'One natural-language search.
Call search_freebies first. Its default scope covers actionable trials and savings without flooding the answer with repetitive public-service records. When answer_guides is non-empty, read the first guide before choosing among its normalized supporting records. Guides disappear from discovery immediately when their lifecycle, copy fingerprint, or supporting-record set is no longer current. Use scope=public-benefits only for eligibility-based services and scope=open-source only for source code.
GET /api/v1/search?q=Firestone+rebate+2026+deadline
&scope=auto&limit=1{
"api_version": "2.1",
"query": "Firestone rebate 2026 deadline",
"requested_scope": "auto",
"resolved_scope": "actionable",
"count": 1,
"answer_guide_count": 1,
"result_count": 2,
"answer_guides": [{
"id": "guide:firestone-rebate-deadline-2026",
"title": "Firestone rebate 2026: up to $170 by August 31",
"markdown_url": "https://andrewsfreebies.com/guides/firestone-rebate-deadline-2026/index.md"
}],
"items": [{
"result_type": "saving",
"record_type": "entitlement",
"id": "firestone-summer-2026-tire-rebate",
"name": "Firestone Summer 2026 Tire Rebate",
"action_url": "https://andrewsfreebies.com/go/entitlement/firestone-summer-2026-tire-rebate?from=api"
}]
}PUBLIC SURFACES
Choose the interface your agent already understands.
/.well-known/api-catalogRFC 9727 Linkset↗Unified tool search/api/v1/search?q=video+editingCatalog + live JSON↗Single record/api/v1/trials/adobe-photoshopJSON↗Redeemable value/api/v1/entitlements?q=Bank+of+America+cash+back&focus=redeemable-valueJSON↗Single benefit/api/v1/entitlements/bankameridealsJSON↗Entitlement taxonomy/api/v1/taxonomyJSON↗Coverage ledger/api/v1/sourcesJSON↗Verification history/api/v1/verificationAppend-only JSON↗Freshness summary/api/v1/freshnessLatest-state JSON↗Outcomes + agent funnel/api/v1/outcomesAggregate JSON↗Expiration reports/api/v1/flagsAppend-only JSON↗Tool discovery/openapi.jsonOpenAPI 3.1↗MCP/api/mcpStreamable HTTP↗Public-benefits plugin MCP/api/mcp/public-benefits2 read-only tools↗MCP discovery/.well-known/mcp/server-card.jsonServer card JSON↗Access policy/auth.mdMarkdown / no key↗Agent guide/llms.txtPlain text↗Answer guides/guidesCitation-ready HTML↗Aggregate facts/api/v1/statsJSON↗FULL MODEL CONTEXT PROTOCOL
Standard research tools, plus precise controls.
Connect https://andrewsfreebies.com/api/mcp in Claude Code, the OpenAI Responses API, a privately authorized ChatGPT developer-mode connection, or any Streamable HTTP MCP client. Standard read-only search and fetch tools return citable answer guides for question-shaped demand, followed by their supporting normalized records. A guide fetch includes the direct answer, decision rules, matched offers, official evidence, and action paths. Five additional tools expose explicit scopes, complete records, freshness, verification, and non-destructive expiration reports; older names remain callable for compatibility. This full endpoint is not the proposed public Plugins Directory submission.
Endpoint: https://andrewsfreebies.com/api/mcp Transport: Streamable HTTP Authentication: none Tools: 7
TEST BEFORE CONNECTING
Inspect the exact tool contract.
Run npx @modelcontextprotocol/inspector@latest, paste https://andrewsfreebies.com/api/mcp into MCP Inspector, then inspect discovery and call search with a real query. The conventional /mcp alias serves the same protocol, but /api/mcp is the published canonical endpoint.
MEASUREMENT
Discovery is not downstream use.
The public outcomes and usage funnel reports a ChatGPT setup-page open separately from an installation or connection, separates Cloudflare-verified automated clients from spoofable user-agent claims, distinguishes attributed agent discovery from registry and health automation, and keeps session-linked tool use separate from unattributed attempts. It reports the public-benefits plugin endpoint separately from aggregate MCP activity, so directory adoption cannot be confused with use of the full server. Forward-only response telemetry also distinguishes successful MCP results from accepted notifications, tool errors, JSON-RPC errors, HTTP errors, and malformed responses; an HTTP 200 by itself is not called successful tool use. Result-bearing, zero-result, and older unmeasured searches remain separate so retrieval failures are visible without pretending that a returned result proves relevance or satisfaction. Official-link handoffs preserve the record corpus and verification readiness that existed at action time, separately from today’s catalog projection. Voluntary worked, ineligible, and terms-differed reports are aggregated separately; they are unverified, unlinked to people or prior handoffs, and are not conversion rates. The aggregate contains no cookies or visitor identifiers.
NATIVE AGENT FORMATS
Clean Markdown and browser tools are built in.
Send Accept: text/markdown to any human page, or append /index.md to its canonical path, for compact frontmatter, main content, links, and JSON-LD. Compatible in-browser agents also see one read-only search_freebies WebMCP tool. Discover the full API through the RFC 9727 catalog or connect automatically using the MCP server card.
FRESHNESS POLICY
Checked once is not current now—and current does not mean confirmed.
A record's discovery status describes its attached evidence; the append-only verification ledger records URL health, availability, and term matching at a particular time. Use freshness for the current, overdue, and unchecked split, evidence resolution, and observed heartbeat health; use verification for individual audit evidence. coverage_percent means inside cadence, attempted_coverage_percent means checked at least once, and supporting_evidence_percent counts exact or partial audit outcomes. An audit confirms only the fields it tested; an actionable recommendation also requires first-party terms incorporated into the catalog. Directory-listed records therefore remain evidence-only even when a narrow audit is exact. Review alerts and inconclusive checks remain separate. A blocked page, fetch error, or unknown result is never evidence that an offer expired.
RETRIEVAL POLICY
One list. Provenance intact.
Do not make the user choose a source. Search once, then use result_type and result_source to explain what each result is. A detected repository license supports open-source discovery, but it does not establish that hosting, deployment, support, or connected services are free. Read the canonical taxonomy before interpreting benefit categories or cost filters.