NutriRef
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Pay-per-call USDA nutrition data for AI agents.** Structured FoodData Central via the x402 micropayment protocol — agents pay $0.001–$0.005 in USDC per request, no signup, no API keys, no human auth flows.
Live at ** **. Spec at /openapi.json · Swagger at /docs · Bazaar discovery at /.well-known/x402.
Endpoints
| Method | Path | Price | Cache |
|---|---|---|---|
| GET | /v1/nutrition/search?q=&limit= | $0.001 | 24h |
| GET | /v1/nutrition/detail/{fdc_id} | $0.002 | 7d |
| POST | /v1/nutrition/compare | $0.003 | derived |
| POST | /v1/nutrition/recipe | $0.005 | derived |
All values per 100g. Missing nutrients are null, not 0. compare returns per-nutrient winners (highest protein, lowest sodium, etc.). recipe scales by grams and sums.
Use it from Claude (or any MCP agent)
NutriRef ships an MCP server that exposes the four endpoints as native tools. Install it from PyPI:
Then add this to your MCP client config (Claude Desktop's claude_desktop_config.json, Claude Code's MCP settings, etc.):
> Prefer not to install? Use uvx nutriref-mcp as the command to run it on demand. To work from a clone instead, pip install -e ".[mcp]" and set command to python with args: ["-m", "mcp_server"].
The wallet needs USDC on Base mainnet — gas is sponsored by the facilitator, so you only need stablecoin balance. The agent now has nutrition_search, nutrition_detail, nutrition_compare, nutrition_recipe and auto-pays per call.
Use it from any HTTP client
Unpaid requests get 402 Payment Required with x402 payment instructions. Any x402-aware client signs a gasless USDC authorization (EIP-3009) and retries automatically:
Response example
GET /v1/nutrition/detail/173944:
---
Self-hosting
NutriRef is open source; the live instance at nutriref.xyz is one deployment among many possible. To run your own:
Configuration
| Var | Required | Default | Purpose |
|---|---|---|---|
| USDA_API_KEY | yes | — | Free key from fdc.nal.usda.gov |
| USDA_BASE_URL | no | https://api.nal.usda.gov/fdc/v1 | |
| REDIS_URL | no | redis://redis:6379/0 | Response cache |
| X402_NETWORK | no | base-sepolia | base for mainnet |
| X402_RECEIVER_ADDRESS | yes | — | EVM address that receives USDC |
| X402_FACILITATOR_URL | no | https://x402.org/facilitator | https://api.cdp.coinbase.com for mainnet |
| CDP_API_KEY_ID | mainnet only | — | Coinbase Developer Platform key ID |
| CDP_API_KEY_SECRET | mainnet only | — | Coinbase Developer Platform key secret |
| LOG_LEVEL | no | INFO | |
For mainnet you need a Coinbase CDP account and the public x402 facilitator at https://api.cdp.coinbase.com. Testnet works for free with the community facilitator at https://x402.org/facilitator.