Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CARPE_API_KEYNoCarpe Diem API key (cdm_…). Enables account-billed paid tools; without credentials only free tools work.
CARPE_MCP_HOSTNoHTTP mode bind host. Defaults to 127.0.0.1; any non-local host requires CARPE_MCP_AUTH_TOKEN.
CARPE_READ_ONLYNoSet to 1 to remove every tool that can spend or change anything, leaving free tools only. Default: 0.
CARPE_STATE_DIRNoDirectory for persisted x402 spend state. Default: ~/.carpe-mcp
CARPE_OUTPUT_DIRNoDirectory where media files are written.
CARPE_X402_RPC_URLNoRPC URL used to read the USDC permit nonce and balance. Default: https://mainnet.base.org
CARPE_DEFAULT_ROUTENoDefault API surface: carpe (/v1) or router (/router). Default: carpe.
CARPE_MAX_SPEND_USDNoMaximum session spend in USD for the spend guard. Default: 5. Set 0 to disable.
CARPE_MCP_AUTH_TOKENNoBearer token required for HTTP mode when CARPE_MCP_HOST is not localhost. Must be at least 16 characters.
CARPE_HTTP_TIMEOUT_MSNoHTTP timeout in milliseconds. Default: 120000.
CARPE_MAX_MEDIA_BYTESNoMaximum media download size in bytes. Default: 32 MiB.
CARPE_MAX_VIDEO_BYTESNoMaximum video download size in bytes. Default: 64 MiB.
CARPE_X402_BUDGET_USDNox402 spending budget in USD (minimum 0.10). Required when CARPE_X402_PRIVATE_KEY is set.
CARPE_MAX_PER_CALL_USDNoMaximum spend per paid call in USD. Default: 0.50. Set 0 to disable.
CARPE_X402_PRIVATE_KEYNoPrivate key for x402 pay-per-call mode (USDC on Base). The private key never leaves the process and is never logged.
CARPE_DEFAULT_CHAT_MODELNoDefault chat model. Default: deepseek-v4-flash.
CARPE_MCP_ALLOWED_ORIGINSNoAllowed browser origins for HTTP mode.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Carpe Diem MCP: Venice AI models (text, image, video, audio, music, embeddings, web search) bought on the Carpe Diem marketplace, usually below Venice list prices. Two API surfaces, chosen per call with route: "carpe" = /v1, served only by Carpe inside its TEE (private); "router" = /router, the cheapest market, which may be outside a TEE (each result says route_used and tee). Use carpe_quote before expensive text calls, carpe_model_details for model constraints, carpe_balance for funds. Results report the exact cost billed. Payment: none configured — paid tools will refuse; set CARPE_API_KEY. Spend guard: max $0.5 per call, $5 per session (0 = no limit).

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
carpe_list_modelsA

Page through the live Carpe Diem model catalogue (Venice models plus Carpe metadata). Filter by type (text, image, video, tts, …), capability, privacy or a search string. Use carpe_diem_type to pick the right tool: text/code → carpe_chat, embedding → carpe_embeddings, image → carpe_image_generate, imageEdit → carpe_image_edit, upscale → carpe_image_upscale, tts → carpe_tts, asr → carpe_transcribe, music → carpe_music_generate, video/imageToVideo/referenceToVideo → carpe_video_generate. route "router" reads /router/models, which adds the best-price markets able to serve each text model. Free.

carpe_model_detailsA

Everything about one model: catalogue row (capabilities, constraints such as video durations or music lengths, TTS voices), Carpe price (USD per 1M tokens, or fixed cost per image/call), Venice rate limits and live capacity. Free.

carpe_pricingB

Live Carpe prices. Token models: USD per 1M input/output tokens (inputPrice/outputPrice, after the dynamic multiplier; inputBase/outputBase are Venice list prices). Media: fixed USD per image/edit/web call. Filter by model substring. Free.

carpe_quoteA

Price a text request BEFORE running it, on both surfaces: what /v1 (Carpe alone, in its TEE) would bill, and what /router (best price) would pick among the markets — with each market's price, availability and whether it is a TEE. Give messages (or a prompt) so the input size is estimated, or input_tokens directly. Costs nothing.

carpe_marketsA

Live state of the /router best-price markets: which markets are on, the external routing fee, observed latency per market, and whether external execution is open to this key. Free.

carpe_statusB

Operator health (database, settlement, providers) and marketplace capacity (headroom, dynamic price multiplier). Free.

carpe_balanceA

Spendable balance of the Carpe Diem account behind CARPE_API_KEY: credits (1 credit = $0.01; escrow = purchased, pending = spent not yet settled, holds = reserved for in-flight requests, available = spendable), unsettled debt, prepaid account and the active payment rail. Free.

carpe_usage_historyB

Per-request history of the account, newest first: model, provider pseudonym, tokens, cost (USDC), market that served, routing reason, latency, savings. Free.

carpe_usage_summaryA

Account spend aggregated by model and by day over the last N days (1–90, default 7). Free.

carpe_key_usageB

Requests, tokens and cost per API key of the account over the last N days, with each key's rail and status. Free.

carpe_routing_summaryB

How the account's /router requests were served: wins per market and savings versus Carpe-only pricing. Free.

carpe_rate_limitsA

The operator rate limit applied to this key right now (max per window, remaining, reset), separate read budget, and parallel lanes. Free.

carpe_purchasesC

Credit purchases made by card on the account. Free.

carpe_topup_linkA

Card top-up for this account. Nothing is charged by this tool: with create: true it returns a checkout URL that a HUMAN must open to pay (valid for a limited time); otherwise it only lists the credit tiers. Never open or pay the link yourself.

carpe_session_spendA

What this MCP server has spent since it started, per tool, against the CARPE_MAX_SPEND_USD and CARPE_MAX_PER_CALL_USD guards. Local, free.

carpe_x402_statusA

x402 mode only: the agent wallet address, its USDC balance on Base, the permit budget, what was billed and what is left. Free.

carpe_revoke_this_keyA

IRREVERSIBLE: permanently revokes the API key this server uses (CARPE_API_KEY). Every later call with it fails. Use only if the user explicitly asks, or if the key leaked. Requires confirm: "REVOKE".

carpe_chatA

Run a chat completion on Carpe Diem (OpenAI-compatible; Venice models: GPT, Claude, Gemini, DeepSeek, GLM, Qwen, Llama, uncensored models…). Two surfaces: route "carpe" (/v1, Carpe's TEE, private) or route "router" (/router, cheapest market). Returns the answer plus usage, the exact cost billed and which market served it. Supports function tools, response_format (JSON schema), reasoning_effort and Venice web search. Paid — use carpe_quote first for expensive requests.

carpe_embeddingsA

Compute embedding vectors (OpenAI-compatible) for 1–128 texts. route "carpe" (/v1) or "router" (/router, cheapest market; privacy applies). Paid per input token.

carpe_web_searchB

Live web search through Carpe (Venice augment/search). Always on /v1 — no market arbitrates web search. Flat fee per call (see carpe_pricing, model augment-search).

carpe_web_scrapeB

Fetch one web page as text/markdown through Carpe (Venice augment/scrape). Always on /v1. Flat fee per call.

carpe_image_generateA

Generate image(s) from a prompt (Venice image models: Flux, GPT Image, Nano Banana, Seedream, Qwen Image, Recraft, uncensored SD…). Images are returned inline and/or saved to CARPE_OUTPUT_DIR. Fixed price per image (carpe_pricing). Slow models run as a queued job automatically.

carpe_image_editC

Transform one image from a prompt (imageEdit models such as qwen-image-2-edit, nano-banana-2-edit, gpt-image-2-edit). image: https URL, data: URI or (stdio) a local file path.

carpe_image_multi_editB

Compose or edit from 1–3 source images and a prompt (e.g. "put the product from image 1 on the table of image 2"). Always on /v1 — no market arbitrates multi-edit. Runs as a queued job.

carpe_image_upscaleA

Increase image resolution 1–4× (source ≥ 256×256). Always on /v1. image: https URL, data: URI or local path (stdio).

carpe_image_statusB

Fetch the result of a queued image job (job_id from an image tool). Polls on the surface that created the job. Free.

carpe_ttsA

Turn text (≤ 4096 characters) into speech. Voices are model-specific: omit voice for the model default, or read the voices of a model with carpe_model_details. A cloned voice (vv_… from carpe_voice_clone) only works on route "carpe" with the model it was cloned for. Billed per character.

carpe_transcribeB

Speech to text (Whisper-compatible). audio: https:// URL, data: URI, or local path (stdio). Formats such as mp3, wav, m4a, flac, ogg, webm.

carpe_voice_cloneA

Upload a short reference sample (one speaker) and get a vv_… voice handle for carpe_tts (route "carpe", same model). The upload itself is free but needs a funded account. ONLY with consent: the voice must be the user's own, or its speaker must have agreed to be cloned. The handle expires (~7 days).

carpe_video_generateA

Queue a video (Sora, Veo, Kling, Seedance, Wan, LTX, Grok Imagine…; text-to-video, image-to-video, reference-to-video). The payload is priced first (free quote) and refused locally above CARPE_MAX_PER_CALL_USD. Returns a job_id; carpe_video_status downloads the MP4 when ready (videos take minutes). Read the model constraints (durations, aspect ratios, resolutions) with carpe_model_details.

carpe_video_statusA

Check a video job from carpe_video_generate; when completed, downloads the MP4 to CARPE_OUTPUT_DIR (or the temp dir) and returns its path. Polls the surface that created the job. Free.

carpe_music_generateA

Queue music, a sound effect, or long-form speech (music-pipeline models: ElevenLabs Music, ACE-Step, Lyria, MiniMax, ElevenLabs sound effects / TTS v3-v4). Each model has its own accepted durations, lyrics and instrumental options — read them with carpe_model_details first. Returns a job_id for carpe_music_status.

carpe_music_statusA

Check a music job from carpe_music_generate; when completed, the track is saved to disk (it can be retrieved only once on /v1) and returned. Free.

Prompts

Interactive templates invoked by user choice

NameDescription
cheapest_model_forPick a suitable model, compare prices on /v1 and /router with carpe_quote, then run the task on the cheapest acceptable option.
cost_reportSummarise the account spend: balance, usage by model and day, router savings.
private_inferenceAnswer a confidential request on /v1 only (Carpe TEE), with a model Venice runs privately.

Resources

Contextual data attached and managed by the client

NameDescription
modelsLive model catalogue (GET /v1/models): ids, carpe_diem_type, capabilities, constraints, voices.
pricingLive prices (GET /pricing): USD per 1M tokens and fixed costs per image / call.
marketsBest-price router state (GET /router/markets): markets on, fee, latency.

TDQS

B3.4/5.0

Scored across 33 tools

Disambiguation4/5

Most tools map to a distinct action+resource: generation (image/video/music/tts/transcribe), web utilities, and account introspection are clearly separated, and carpe_image_edit vs carpe_image_multi_edit vs carpe_image_upscale is spelled out in the descriptions. The weakest zone is the free billing/observability cluster (carpe_status, carpe_balance, carpe_x402_status, carpe_session_spend, carpe_rate_limits, carpe_usage_history, carpe_usage_summary, carpe_key_usage, carpe_routing_summary, carpe_markets, carpe_pricing, carpe_quote), where an agent can easily pick the wrong one; the long descriptions mitigate but don't eliminate this.

Naming Consistency4/5

Every tool shares the carpe_ prefix and stays snake_case and readable, which makes the set feel like one product. The only deviation is mixed conventions inside the prefix: some are verb phrases (carpe_list_models, carpe_image_generate, carpe_revoke_this_key) while others are bare nouns (carpe_chat, carpe_pricing, carpe_balance, carpe_status), so the verb_noun pattern is not fully predictable.

Tool Count3/5

33 tools is above the comfortable range and a sizeable share of them are free metadata/accounting calls rather than capabilities. The domain is genuinely broad (chat, embeddings, search, scrape, image, video, music, TTS, ASR, voice cloning, billing), so the volume is partly earned, but the surface feels heavy and would benefit from consolidating the usage/status/balance family.

Completeness4/5

Coverage is strong across the whole media and text lifecycle: catalogue discovery, pricing/quoting, generation, and polling for image, video, and music jobs, plus balance, purchases, top-up, usage, and key handling. Remaining gaps are mostly lifecycle edges: no cancel/delete for queued jobs, no job listing, and for keys only revoke of the server's own key with no create/rotate.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues