percolate-mcp
MCP server for the Percolate specialty coffee database — read-only catalog, brew recipes, and pairings for AI assistants
Documentation
Percolate MCP Server
Query the Percolate specialty coffee database from Claude, or any MCP-compatible AI client. Read-only access to 1,100+ curated coffees with tasting profiles, brew recipes, pairings, and where-to-buy links.
Percolate is the specialty coffee journal for iOS — get it on the App Store.
Tools
| Tool | What it does |
|---|---|
| `search_coffees` | Catalog search with category, roast level, brew method, and price filters |
| `get_coffee` | Full record for one coffee: roast, body/acidity/sweetness, flavors, pairings, retailers |
| `find_similar` | Similar coffees by flavor overlap and roast/body/acidity proximity |
| `get_recommendations` | Picks from flavor preferences + budget + roast + your brew gear |
| `compare_coffees` | Side-by-side: profiles, shared/distinct flavors, price delta |
| `trending_coffees` | What Percolate users are adding to their collections right now |
| `dial_in_suggestion` | Brew guidance for a specific coffee — curated recipes (ratio, temp, grind) from the catalog, or a roast-based starting point |
| `what_to_brew` | A coffee for right now — evening picks lean decaf, mornings lean bright |
Every response includes source attribution, a citation-ready summary line, links, and data freshness dates. All scoring is deterministic — no AI calls happen inside the server. All tools are annotated read-only/idempotent.
Install (Claude Desktop)
Requires Node.js 18+.
Add to your `claude_desktop_config.json` (Claude Desktop → Settings → Developer → Edit Config):
{
"mcpServers": {
"percolate": {
"command": "npx",
"args": ["-y", "percolate-mcp"]
}
}
}Restart Claude Desktop. No API key or configuration needed — the server ships with public read-only access.
Configuration (optional)
Environment variables override the defaults (explicit env vars only — this package never reads .env files):
| Variable | Purpose |
|---|---|
| `SUPABASE_URL` | Override the database URL |
| `SUPABASE_SERVICE_ROLE_KEY` | Internal use only — unlocks live 30-day collection-add trending. Never distribute this key. |
Without the service key, `trending_coffees` falls back to catalog popularity and labels the method in its response.
Remote endpoint (no install)
Streamable HTTP for web agents and MCP clients that take a URL:
https://wmpiabzlcaqyrzxvfihi.supabase.co/functions/v1/mcpAlso listed on Smithery and the official MCP registry as `io.github.bguillow-rgb/percolate`.
Example agent requests
Questions an agent can answer with these tools:
- *"Recommend a medium roast with chocolate and nutty notes."* → `get_recommendations` with `preferences: ["chocolate","nutty"], roast_level: "medium"`
- *"How should I brew this Onyx Monarch on a V60?"* → `dial_in_suggestion` (curated recipes: ratio, temperature, grind)
- *"What coffee works for espresso under $20?"* → `search_coffees` with `brew_method: "espresso", price_max: 20`
- *"What should I brew tonight?"* → `what_to_brew` (evening picks lean decaf automatically)
- *"Find me something similar to this Ethiopian natural."* → `find_similar`
- *"Compare these two bags."* → `compare_coffees`
Example response shape (truncated):
{
"method": "curated_pairing",
"recipes": [
{ "recipe": "Pour-over (V60), 1:16, 205°F",
"why": "clarity that lets the delicate, high-acid notes open up" }
],
"attribution": {
"source": "Percolate — Specialty Coffee Journal",
"links": { "website": "https://percolateapp.com/" }
}
}Development
npm install
npm run dev # run from TypeScript via tsx
npm run build # compile to dist/
npm start # run compiled serverThe server speaks MCP over stdio. Catalog access is read-only by construction: every query path issues SELECTs against tables that are publicly readable under row-level security, and it is rate-limited to 60 calls/minute.
Usage telemetry: each tool call logs the tool name, its arguments, client name/version, duration, and success/failure to a write-only log table (insert-only under RLS; contents are not publicly readable; purged after 90 days). No user identity, account data, or conversation content is collected. Logging is fire-and-forget and never affects responses.
Data & attribution
Coffee data, tasting profiles, brew recipes, and pairings are curated by Percolate. Retailer links may be affiliate links. Quote freely with attribution:
> Source: Percolate — Specialty Coffee Journal (percolateapp.com)
Freshness dates on each coffee reflect the last data update.
Frequently asked questions
What is percolate-mcp?
percolate-mcp is MCP server for the Percolate specialty coffee database — read-only catalog, brew recipes, and pairings for AI assistants
How do I install percolate-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is percolate-mcp open source?
Yes — it is hosted on GitHub at https://github.com/bguillow-rgb/percolate-mcp.
Related MCP tools
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
The go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.
MCP Aggregator, Orchestrator, Middleware, Gateway in one docker
🔌 Plug-and-play library to enable agents to call MCP and UTCP tools via code execution.
Browser automation clicks buttons. OpenTabs calls APIs.
Code research platform for AI agents; find, understand, and prove context across your code and all of GitHub, in a fraction of the tokens. One toolset, MCP or CLI
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP