{
  "markdown": "# AgentCite\n\nFabrication-free, DOI-backed citations for AI content & agents. Every result is a\nreal openAlex record (CC0 public-domain data) with a resolvable DOI — the API\nnever fabricates a source. Built to stop the hallucinated-citation problem that\ngets content E-E-A-T-demoted.\n\n> Separate deployable from giftedpicks.com (own Vercel project). Productizes the\n> logic of `GiftedPicks/scripts/citation_magnet.py`.\n\n## API (MVP)\n- `GET /api/cite?topic=<q>&n=5&since=YYYY` → `{ topic, count, works[], markdown, source }`\n  - each work: `{ title, authors[], first_author, year, doi, doi_url, cited_by_count, venue, openalex_id }`\n- `GET /api/health` → `{ status, openalex, ts }`\n\nData: openAlex REST (relevance-ranked, peer-reviewed `type:article`). Set\n`OPENALEX_MAILTO` env to join openAlex's polite pool. Edge-cached 1h per topic.\n\n## Roadmap (build order)\n1. ✅ Core `/cite` + `/health` (openAlex REST, no key, no binary — serverless-portable)\n2. ⏳ API-key + quota gate (Supabase: anon free tier rate-limited vs keyed Pro)\n3. ⏳ MCP server: `get_citations(topic, n, since)` (stdio + http) — the agent-native surface\n4. ⏳ Stripe billing (TEST mode first; hosted Checkout/Payment Link → webhook provisions quota).\n   GATED: needs `.claude/secrets/stripe-test-{publishable,secret}-key` saved by Kevin.\n   LIVE go-live = Kevin places the live secret key in the deploy env; agents never hold it.\n5. Landing page + MCP-registry listings — owned by Cowork.\n\n## Guardrails\nPublic-domain data only (zero scraping / no unofficial-site APIs). Honesty is the\nproduct: output always says \"verify each DOI resolves.\" Test-mode payments only\nuntil Kevin flips live; agents never move money or hold the live key.\n\n## Billing (Stripe)\nPro tier via hosted Stripe Checkout (subscription). On `checkout.session.completed`,\nthe signature-verified webhook (`/api/stripe-webhook`) provisions a Pro API key in\nRedis (free→Pro quota elevation). Configure via env:\n- `STRIPE_SECRET_KEY`, `STRIPE_PRICE_ID`, `STRIPE_WEBHOOK_SECRET`, `REDIS_URL`\n- Create the Pro product/price once: `STRIPE_SECRET_KEY=sk_test_… node scripts/setup-stripe-product.js`\n- Without Stripe env set, `/api/checkout` returns `503` and the citation API still runs free-tier.\n",
  "bytes": 2224,
  "sha": "387a799c9407c5e8ebc3a68c62de4f625c2a4b7e4148c3ab304b02f1504898ef",
  "repo_slug": "kevinx702/agentcite",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_kevinx702_agentcite_4b53d21d/readme"
}