About agentcite
agentcite is a DOI citation API for AI-generated content and agents, returning real works from OpenAlex with resolvable DOIs. It does not fabricate sources; an MCP server remains on the roadmap.
Key features
- 01Search works by topic
- 02Return DOIs and resolver links
- 03Provide author, year, and venue details
- 04Include citation counts and OpenAlex IDs
- 05Generate citation results in Markdown
Use cases
- 01Add literature citations to AI-generated content
- 02Find verifiable academic sources by topic
MCP support
The README lists an MCP server as a future plan and does not describe an available MCP interface.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
1Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| n | integer | No | how many citations (default 5) |
| since | integer | No | earliest publication year, e.g. 2015 |
| topic | string | Yes | the subject to find citations for, e.g. "red light therapy hair growth" |
Details
From the project READMEAgentCite
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 }
- each work:
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)
- ✅ Core
/cite+/health(openAlex REST, no key, no binary — serverless-portable) - ⏳ API-key + quota gate (Supabase: anon free tier rate-limited vs keyed Pro)
- ⏳ MCP server:
get_citations(topic, n, since)(stdio + http) — the agent-native surface - ⏳ Stripe billing (TEST mode first; hosted Checkout/Payment Link → webhook provisions quota).
GATED: needs
.claude/secrets/stripe-test-{publishable,secret}-keysaved by Kevin. LIVE go-live = Kevin places the live secret key in the deploy env; agents never hold it. - 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/checkoutreturns503and the citation API still runs free-tier.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.