# agentcite

**Category:** 🔬 Research  
**Repository:** https://github.com/Kevinx702/agentcite  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/agentcite

## Description
Fabrication-free, DOI-backed citations for AI agents — real openAlex sources, never hallucinated.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "agentcite": {
    "command": "npx",
    "args": ["-y","agentcite"]
  }
}
```

## Documentation & README

# AgentCite

Fabrication-free, DOI-backed citations for AI content & agents. Every result is a
real openAlex record (CC0 public-domain data) with a resolvable DOI — the API
never fabricates a source. Built to stop the hallucinated-citation problem that
gets content E-E-A-T-demoted.

> Separate deployable from giftedpicks.com (own Vercel project). Productizes the
> logic of `GiftedPicks/scripts/citation_magnet.py`.

## API (MVP)
- `GET /api/cite?topic=<q>&n=5&since=YYYY` → `{ topic, count, works[], markdown, source }`
  - each work: `{ title, authors[], first_author, year, doi, doi_url, cited_by_count, venue, openalex_id }`
- `GET /api/health` → `{ status, openalex, ts }`

Data: openAlex REST (relevance-ranked, peer-reviewed `type:article`). Set
`OPENALEX_MAILTO` env to join openAlex's polite pool. Edge-cached 1h per topic.

## Roadmap (build order)
1. ✅ Core `/cite` + `/health` (openAlex REST, no key, no binary — serverless-portable)
2. ⏳ API-key + quota gate (Supabase: anon free tier rate-limited vs keyed Pro)
3. ⏳ MCP server: `get_citations(topic, n, since)` (stdio + http) — the agent-native surface
4. ⏳ Stripe billing (TEST mode first; hosted Checkout/Payment Link → webhook provisions quota).
   GATED: needs `.claude/secrets/stripe-test-{publishable,secret}-key` saved by Kevin.
   LIVE go-live = Kevin places the live secret key in the deploy env; agents never hold it.
5. Landing page + MCP-registry listings — owned by Cowork.

## Guardrails
Public-domain data only (zero scraping / no unofficial-site APIs). Honesty is the
product: output always says "verify each DOI resolves." Test-mode payments only
until Kevin flips live; agents never move money or hold the live key.

## Billing (Stripe)
Pro tier via hosted Stripe Checkout (subscription). On `checkout.session.completed`,
the signature-verified webhook (`/api/stripe-webhook`) provisions a Pro API key in
Redis (free→Pro quota elevation). Configure via env:
- `STRIPE_SECRET_KEY`, `STRIPE_PRICE_ID`, `STRIPE_WEBHOOK_SECRET`, `REDIS_URL`
- Create the Pro product/price once: `STRIPE_SECRET_KEY=sk_test_… node scripts/setup-stripe-product.js`
- Without Stripe env set, `/api/checkout` returns `503` and the citation API still runs free-tier.

