baconservices-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BACON_PAY_TO | No | Only with base-sepolia: the test copy's receiving address. | |
| BACON_API_URL | No | Only with base-sepolia: the test copy's address. | |
| BACON_CONFIRM | No | auto: ask before each payment when the host can; always: refuse to pay when it can't; never: don't ask (for unattended agents; the limits still apply). | auto |
| BACON_NETWORK | No | base (real USDC, baconservices.com) or base-sepolia (test USDC, a test copy of Bacon). | base |
| BACON_RPC_URL | No | RPC used to check your USDC balance before paying. | https://mainnet.base.org |
| BACON_LEDGER_DIR | No | Where the spend ledger lives. | ~/.baconservices-mcp |
| BACON_MAX_PER_DAY | No | Most spent in any rolling 24 hours, across all processes and restarts. | 5.00 |
| BACON_MAX_PER_CALL | No | Largest single payment, in USDC. | 0.50 |
| BACON_MAX_PER_SESSION | No | Most this server process may spend. | 1.00 |
| BACON_WALLET_KEY_FILE | No | Path to a file containing the buyer wallet's private key. | |
| BACON_DISCLOSE_BALANCE | No | true adds the exact balance and the wallet address to wallet_status. | false |
| BACON_WALLET_PRIVATE_KEY | No | The buyer wallet's private key itself (set only one of the two: BACON_WALLET_KEY_FILE or BACON_WALLET_PRIVATE_KEY). Without either, the free tools still work. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_servicesA | Lists what Bacon Services sells to agents right now, from its live catalog: each service's price in USDC, network, output, input limits, and whether this installed package can run it (and as which tool). Free. |
| quoteA | Gets Bacon's current price for one service without paying, and says whether your spending limits and wallet allow it. Free; nothing is signed. |
| wallet_statusA | Shows the payment network, whether a wallet is configured, your spending limits and what is left of them, and whether the wallet can afford each service (yes/no). Free. The exact balance is shown only if the buyer enabled BACON_DISCLOSE_BALANCE. |
| remove_backgroundA | Removes the background from one photo and returns the subject on a transparent background as a PNG, at the photo's own size. Costs 0.2 USDC per call (real money) on Base, paid from the buyer's wallet over x402 after the buyer's spending limits are checked. Input: PNG, JPEG, WEBP, up to 8 MB, at most 4096 px. Give exactly one of image_url or image_path. Output: image/png, as a download link (and a file with save_to). |
| optimize_imageA | Resizes one image so its longest side is at most max_width pixels (never enlarging it) and encodes it as WebP at the given quality. Transparency is kept; metadata is not carried over. Costs 0.01 USDC per call (real money) on Base, paid from the buyer's wallet over x402 after the buyer's spending limits are checked. Input: PNG, JPEG, WEBP, up to 8 MB, at most 8000 px. Give exactly one of image_url or image_path. Output: image/webp, as a download link (and a file with save_to). |
| image_paletteA | Returns the colours one image is mostly made of, as JSON: up to count colours, most common first, each a hex value with its share of the image and whether it is a neutral. Costs 0.01 USDC per call (real money) on Base, paid from the buyer's wallet over x402 after the buyer's spending limits are checked. Input: PNG, JPEG, WEBP, up to 8 MB, at most 4096 px. Give exactly one of image_url or image_path. Output: JSON, returned in the tool result. |
| brand_from_urlA | Reads one public web page and returns the brand it publishes about itself, as JSON: name, description, logo image URLs, colours, fonts and social profiles. No JavaScript runs; robots.txt is respected. Costs 0.03 USDC per call (real money) on Base, paid from the buyer's wallet over x402 after the buyer's spending limits are checked. Give url: one public web page (http or https, standard ports). Output: JSON, returned in the tool result. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
The three free tools (quote, list_services, wallet_status) are mostly distinct—catalog vs single-service price vs wallet limits—but quote and list_services both surface pricing and could occasionally be confused. The four paid service tools each target a clearly different operation (background removal, image resizing, brand extraction, palette extraction), so overlap is minimal.
All names use snake_case, which is consistent. However, the convention mixes verb_noun (list_services, remove_background, optimize_image, brand_from_url) with noun phrases (quote, wallet_status, image_palette), a minor but noticeable deviation.
Seven tools is well-scoped for a paid-services marketplace: three discovery/status tools plus four paid service tools. Each earns its place with no padding or obvious redundancy.
The surface covers the full buyer lifecycle—discover services, quote a single service, check wallet/limits, and execute paid services—which is solid for this domain. Minor gaps include no tool for funding/top-up, purchase history, or a generic fallback invocation, but core workflows are covered.