OneLessTool
Find software subscriptions you can drop using tools you already own, with vendor-verified prices.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- LOWget_tool에서
- LOWcompare_solutions에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"onelesstool": {
"url": "https://onelesstool.com/api/mcp"
}
}
}원격 엔드포인트
https://onelesstool.com/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (9)
🟢search_catalog(query, kinds, limit)
Natural-language search across software products, capabilities (what software does) and replacement workflows. Understands synonyms, e.g. 'make thumbnails' finds YouTube thumbnail workflows. Returns ranked hits with URLs, plus the tool and capabilities the query most likely refers to.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "What the user is looking for: a product name, a task, or an outcome"
},
"kinds": {
"description": "Restrict result types",
"type": "array",
"items": {
"type": "string",
"enum": [
"tool",
"capability",
"workflow",
"guide"
]
}
},
"limit": {
"description": "Max results (default 10)",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_tool(tool)
Full structured profile of a software product: plans and prices (with evidence status and verification date), capabilities with fit and limitations, honest reasons it's hard to replace, risks, related replacement workflows and sources.
입력 스키마
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Tool name or slug, e.g. 'Canva' or 'canva'"
}
},
"required": [
"tool"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_alternatives(tool, capabilities, owned_tools, team_size)
For a specific product (e.g. Canva), list each capability it provides and the best alternatives — ranking tools the user ALREADY owns first at $0 extra. Pass the capabilities the user actually uses (from get_tool) for a precise answer. Includes the honest case for keeping the tool.
입력 스키마
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "The tool the user is considering dropping"
},
"capabilities": {
"description": "Capability slugs the user actually uses this tool for (default: its core capabilities)",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 80
}
},
"owned_tools": {
"description": "Tools the user already pays for, by name or slug, e.g. [\"ChatGPT Plus\", \"google-workspace\"]",
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 80
}
},
"team_size": {
"description": "People who need access (affects per-seat costs)",
"type": "integer",
"minimum": 1,
"maximum": 10000
}
},
"required": [
"tool"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢compare_solutions(capability)
For one capability (e.g. 'youtube-thumbnails', 'crm-contacts', 'workflow-automation'), compare all known tools: fit, quality scores on the dimensions that matter, required skill, cheapest qualifying plan and limitations.
입력 스키마
{
"type": "object",
"properties": {
"capability": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Capability slug, or a phrase like 'make thumbnails' (resolved via search)"
}
},
"required": [
"capability"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_workflows(query, replaces_tool, capability, limit)
Find practical, step-by-step workflows that replace a paid tool or accomplish an outcome with tools the user already owns. Filter by tool being replaced, capability, or free-text query.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 300
},
"replaces_tool": {
"description": "Only workflows that replace this tool",
"type": "string",
"maxLength": 80
},
"capability": {
"type": "string",
"maxLength": 80
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_workflow(slug, sections)
Full replacement guide: before/after, required tools and extra cost, setup steps, copyable prompts, templates/scripts, limitations, risks, a verification checklist to run BEFORE cancelling, and the savings methodology.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"sections": {
"description": "Return only these sections to save context (default: all)",
"type": "array",
"items": {
"type": "string",
"enum": [
"overview",
"steps",
"prompts",
"artifacts",
"limitations",
"verification",
"savings"
]
}
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢recommend_stack(query, capabilities, owned_tools, team_size, skill, ...)
Given the outcomes the user needs (free text or capability slugs) and what they already own, recommend per-capability options (owned tools at $0 first) and a minimal stack covering everything, with incremental monthly cost and warnings about skill, collaboration and data sensitivity.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"description": "Outcome in plain English, e.g. 'I need 15 YouTube thumbnails a month and a simple CRM'",
"type": "string",
"maxLength": 300
},
"capabilities": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 80
}
},
"owned_tools": {
"description": "Tools the user already pays for, by name or slug, e.g. [\"ChatGPT Plus\", \"google-workspace\"]",
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 80
}
},
"team_size": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"skill": {
"description": "User's technical skill",
"type": "string",
"enum": [
"none",
"basic",
"technical"
]
},
"needs_collaboration": {
"type": "boolean"
},
"sensitive_data": {
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢estimate_savings(subscriptions, skill)
Audit the user's subscriptions. For each: keep, downgrade, redundant, test_replacement, review_unused or keep_critical — with the arithmetic. Savings are split into 'likely' and 'possible' and never double-counted. Costs are what the user actually pays (monthly, all seats).
입력 스키마
{
"type": "object",
"properties": {
"subscriptions": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "object",
"properties": {
"tool": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Tool name or slug"
},
"plan": {
"type": "string",
"maxLength": 80
},
"monthly_cost_usd": {
"type": "number",
"minimum": 0,
"maximum": 1000000,
"description": "What they pay per month in total"
},
"seats": {
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"usage": {
"type": "string",
"enum": [
"daily",
"weekly",
"monthly",
"rarely",
"never"
]
},
"capabilities_used": {
"description": "Capability slugs they actually use it for (improves accuracy)",
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"maxLength": 80
}
},
"criticality": {
"type": "string",
"enum": [
"low",
"medium",
"high"
]
}
},
"required": [
"tool",
"monthly_cost_usd"
]
}
},
"skill": {
"type": "string",
"enum": [
"none",
"basic",
"technical"
]
}
},
"required": [
"subscriptions"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_pricing(tool)
List plan prices for one tool or all tools, each with evidence status, verification date and source URL.
입력 스키마
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"maxLength": 80
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거