Penny Engine — Agent Operations
Remote MCP utilities for agents: structured data, commerce checks, and x402 paid API discovery.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWpenny_url_clean에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"penny-engine": {
"url": "https://penny-agent-api-production.up.railway.app/mcp"
}
}
}원격 엔드포인트
https://penny-agent-api-production.up.railway.app/mcpstreamable-http할 수 있는 일
도구 목록
도구 (16)
🟢penny_margin(price, variableCost, fixedCost)
Unit margin, markup and break-even units. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"price": {
"type": "number"
},
"variableCost": {
"type": "number"
},
"fixedCost": {
"type": "number"
}
},
"required": [
"price",
"variableCost"
],
"additionalProperties": false
}🟢penny_cleaning_quote(hours, hourlyWage, laborBurdenPct, suppliesUsd, overheadUsd, ...)
Commercial cleaning quote by labor and target margin. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"hours": {
"type": "number"
},
"hourlyWage": {
"type": "number"
},
"laborBurdenPct": {
"type": "number"
},
"suppliesUsd": {
"type": "number"
},
"overheadUsd": {
"type": "number"
},
"targetMarginPct": {
"type": "number"
}
},
"required": [
"hours",
"hourlyWage"
],
"additionalProperties": false
}🟢penny_marketplace_profit(salePrice, productCost, shippingCost, shippingCharged, platformFeePct, ...)
Ecommerce net contribution after goods, fees, ads and shipping. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"salePrice": {
"type": "number"
},
"productCost": {
"type": "number"
},
"shippingCost": {
"type": "number"
},
"shippingCharged": {
"type": "number"
},
"platformFeePct": {
"type": "number"
},
"platformFeeFixed": {
"type": "number"
},
"adCost": {
"type": "number"
}
},
"required": [
"salePrice",
"productCost"
],
"additionalProperties": false
}🟢penny_target_price(cost, feePct, feeFixed, targetMarginPct)
Find minimum price for target gross margin after fees. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"cost": {
"type": "number"
},
"feePct": {
"type": "number"
},
"feeFixed": {
"type": "number"
},
"targetMarginPct": {
"type": "number"
}
},
"required": [
"cost"
],
"additionalProperties": false
}🟢penny_campaign_economics(costPerClick, conversionRatePct, contributionPerOrderUsd)
Customer acquisition cost and break-even click price. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"costPerClick": {
"type": "number"
},
"conversionRatePct": {
"type": "number"
},
"contributionPerOrderUsd": {
"type": "number"
}
},
"required": [
"costPerClick",
"conversionRatePct",
"contributionPerOrderUsd"
],
"additionalProperties": false
}🟢penny_subscription_ltv(pricePerMonth, monthlyChurnPct, grossMarginPct, acquisitionCostUsd)
Simple monthly churn lifetime value estimates. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"pricePerMonth": {
"type": "number"
},
"monthlyChurnPct": {
"type": "number"
},
"grossMarginPct": {
"type": "number"
},
"acquisitionCostUsd": {
"type": "number"
}
},
"required": [
"pricePerMonth",
"monthlyChurnPct"
],
"additionalProperties": false
}🟢penny_url_clean(url, removeAllQuery)
Remove common tracking parameters from HTTP links without fetching. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"removeAllQuery": {
"type": "boolean"
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢penny_slugify(text)
Turn a short string into a lowercase ASCII URL slug. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢penny_json_inspect(text)
Parse and inspect bounded JSON input without retaining it. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢penny_html_extract(html)
Extract structured page title, meta tags, headings and JSON-LD from supplied HTML without browsing or executing scripts. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"html": {
"type": "string"
}
},
"required": [
"html"
],
"additionalProperties": false
}🟢penny_csv_to_json(csv)
Transform CSV text into a bounded array of JSON records with quoted cell support. Free, no signup, deterministic.
입력 스키마
{
"type": "object",
"properties": {
"csv": {
"type": "string"
}
},
"required": [
"csv"
],
"additionalProperties": false
}🟢penny_catalog_audit(items, targetMarginPct)
Batch-audit up to 50 product records for duplicate SKUs, missing attributes, malformed URLs and estimated net contribution per order. Useful for scheduled ecommerce catalog ingestion and agent product publishing. No external network calls. Free, no signup.
입력 스키마
{
"type": "object",
"properties": {
"items": {
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"sku": {
"type": "string",
"maxLength": 100
},
"name": {
"type": "string",
"maxLength": 200
},
"price": {
"type": "number",
"minimum": 0
},
"cost": {
"type": "number",
"minimum": 0
},
"shippingCost": {
"type": "number",
"minimum": 0
},
"feePct": {
"type": "number",
"minimum": 0,
"maximum": 70
},
"url": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"sku",
"name"
]
}
},
"targetMarginPct": {
"type": "number",
"minimum": -100,
"maximum": 95
}
},
"required": [
"items"
],
"additionalProperties": false
}🟢penny_trend_radar(limit, commercialOnly)
Get recent US Google Trends rising-search queries and transparent heuristic purchase-intent classification to identify digital product research candidates. Public RSS, cached 10 minutes, no customer or sales data. Free, no signup.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Maximum entries to return; integer 1–25, default 10"
},
"commercialOnly": {
"type": "boolean",
"description": "Only include potential commercial-intent terms; default false"
}
},
"required": [],
"additionalProperties": false
}🟢penny_capability_router(task)
Resolve an agent task to existing Penny Engine capabilities only. Does not execute, purchase, research live web content, or claim to handle arbitrary tasks. Unsupported requests are labeled explicitly. Free, no signup.
입력 스키마
{
"type": "object",
"properties": {
"task": {
"type": "string",
"minLength": 3,
"maxLength": 180
}
},
"required": [
"task"
],
"additionalProperties": false
}🟢penny_fulfillment_preflight(goal, input, maxPriceUsd)
FREE preflight for a catalog audit or agent-output-batch-qa work order, with $0.001 Base USDC checkout instructions. Never charges, signs, or executes the paid call.
입력 스키마
{
"type": "object",
"properties": {
"goal": {
"type": "string",
"enum": [
"catalog-csv-audit",
"agent-output-batch-qa"
]
},
"input": {
"type": "object",
"additionalProperties": false,
"properties": {
"csv": {
"type": "string",
"minLength": 15,
"maxLength": 9500
},
"targetMarginPct": {
"type": "number",
"minimum": 0,
"maximum": 95
},
"jobs": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"result": {},
"expectations": {
"type": "object"
}
},
"required": [
"id",
"result",
"expectations"
]
}
}
}
},
"maxPriceUsd": {
"type": "number",
"minimum": 0.001
}
},
"required": [
"goal",
"input"
],
"additionalProperties": false
}🟢penny_choose_service(task, maxPriceUsd, input)
Given an agent's real task, get the single best supported Penny Engine payable route, exact $0.001 quote, required input, sample, and buyer-authorized checkout instructions. Includes optional FREE CSV preflight; does not sign, pay or execute a paid call.
입력 스키마
{
"type": "object",
"properties": {
"task": {
"type": "string",
"minLength": 3,
"maxLength": 180
},
"maxPriceUsd": {
"type": "number",
"minimum": 0
},
"input": {
"type": "object",
"description": "Optional catalog CSV input for free validation, or a public wallet address."
}
},
"required": [
"task"
],
"additionalProperties": false
}커뮤니티
증거