Tewdy
Find local service providers — plumbers, tutors, translators — and estimate provider earnings.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"tewdy": {
"url": "https://mcp.tewdy.com"
}
}
}원격 엔드포인트
https://mcp.tewdy.comstreamable-http할 수 있는 일
도구 목록
도구 (11)
🟢search_providers(query, category, lat, lng, radiusKm, ...)
Search Tewdy for service providers (plumbers, translators, tutors, cleaners, etc.) by category and/or location. Returns a ranked list including name, rating, response time, and Tewdy profile tag.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200
},
"category": {
"type": "string",
"maxLength": 120
},
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180
},
"radiusKm": {
"type": "number",
"minimum": 0.5,
"maximum": 500
},
"locationName": {
"type": "string",
"maxLength": 200
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_provider_details(provider_id)
Look up the full public profile for a Tewdy provider. Accepts either a Tewdy UUID (returned by search_providers as `id`) or a tewdyTag handle (e.g. "marcus-chen", returned as `tewdyTag`). Returns name, jobTitle, bio, profile picture, languages, capability pricing, ratings, verification status, and tewdyTag.
입력 스키마
{
"type": "object",
"properties": {
"provider_id": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"provider_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_categories(business_type)
List the service categories Tewdy supports (plumbing, translation, tutoring, cleaning, etc.). Returns slug, name, description, and businessType for each. Use this to map a free-text user request to a known category before calling search_providers. Optional business_type filter (e.g. "individual", "company").
입력 스키마
{
"type": "object",
"properties": {
"business_type": {
"type": "string",
"maxLength": 60
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_category_pricing(category, location, currency)
Get aggregated price ranges for a service category, optionally filtered by location. Prefers transacted prices (accepted quotes) when at least 5 samples exist; otherwise falls back to listed (asking) prices from provider capability pricing. Returns median, p25, p75, min, max, sample size, and currency.
입력 스키마
{
"type": "object",
"properties": {
"category": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"location": {
"type": "string",
"maxLength": 200
},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3
}
},
"required": [
"category"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_earnings_estimate(category, location, hours_per_week, currency)
Estimate weekly and monthly earnings for a Tewdy provider in a given category. Uses listed hourly rates from existing providers as the baseline and projects earnings under three utilisation scenarios (40%/60%/80%). Returns ranges, not guarantees.
입력 스키마
{
"type": "object",
"properties": {
"category": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"location": {
"type": "string",
"maxLength": 200
},
"hours_per_week": {
"type": "number",
"minimum": 1,
"maximum": 80
},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3
}
},
"required": [
"category",
"hours_per_week"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡request_quote(category, description, location_name, budget_min, budget_max, ...)
Compose a Tewdy quote request from the user's description. Returns a deep link to the Tewdy app with all fields pre-filled; the user reviews and clicks publish to actually post the request. This tool deliberately does not auto-post — quote acceptance and payment confirmation always happen on tewdy.com via deep link, never in chat. Requires authentication.
입력 스키마
{
"type": "object",
"properties": {
"category": {
"type": "string",
"maxLength": 120
},
"description": {
"type": "string",
"minLength": 10,
"maxLength": 2000
},
"location_name": {
"type": "string",
"maxLength": 200
},
"budget_min": {
"type": "number",
"minimum": 0,
"maximum": 1000000
},
"budget_max": {
"type": "number",
"minimum": 0,
"maximum": 1000000
},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3
},
"urgency": {
"type": "string",
"enum": [
"urgent",
"normal",
"flexible"
]
},
"preferred_date": {
"type": "string",
"maxLength": 40
}
},
"required": [
"description"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_my_requests(status, limit, offset, sort_by, sort_order)
List the authenticated user's quote requests with current status (open / closed / cancelled / expired) and quote-response counts. Read-only — no state changes. Requires authentication.
입력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"open",
"closed",
"cancelled",
"expired"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 1000
},
"sort_by": {
"type": "string",
"enum": [
"createdAt",
"expiresAt",
"quotesReceived"
]
},
"sort_order": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢accept_quote(quote_id)
Look up a quote and return a deep link to the Tewdy app where the user can confirm acceptance and proceed to payment. This tool deliberately does not accept or pay — quote acceptance and payment confirmation always happen on tewdy.com via the deep link, not in chat. Requires authentication.
입력 스키마
{
"type": "object",
"properties": {
"quote_id": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"quote_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡message_provider(chat_id, text)
Send a chat message into an existing Tewdy thread (typically created when a quote was submitted or accepted). The chat_id is the same id surfaced by get_my_requests or accept_quote. Requires authentication.
입력 스키마
{
"type": "object",
"properties": {
"chat_id": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 4000
}
},
"required": [
"chat_id",
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_inbound_requests(category_id, lat, lng, radius_km, min_budget, ...)
For the authenticated provider, list open quote requests that match the provider's capabilities and service area. Optional filters: category, location radius, budget range, urgency. Read-only. Use this to find work to quote on. Requires authentication.
입력 스키마
{
"type": "object",
"properties": {
"category_id": {
"type": "string",
"maxLength": 120
},
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180
},
"radius_km": {
"type": "number",
"minimum": 0.5,
"maximum": 500
},
"min_budget": {
"type": "number",
"minimum": 0,
"maximum": 1000000
},
"max_budget": {
"type": "number",
"minimum": 0,
"maximum": 1000000
},
"urgency": {
"type": "string",
"enum": [
"urgent",
"normal",
"flexible"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 1000
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡submit_quote(quote_request_id, provider_type, business_id, estimated_price, currency, ...)
Submit a quote on an open quote request. The provider sets the estimated price, optional duration and availability, and a short message to the requester. The quote is not a financial commitment — the requester still has to accept (which itself goes through a deep-link confirmation on tewdy.com). Requires authentication.
입력 스키마
{
"type": "object",
"properties": {
"quote_request_id": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"provider_type": {
"type": "string",
"enum": [
"individual",
"business"
]
},
"business_id": {
"type": "string",
"maxLength": 120
},
"estimated_price": {
"type": "number",
"minimum": 0,
"maximum": 1000000
},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3
},
"estimated_duration": {
"type": "string",
"maxLength": 120
},
"availability_date": {
"type": "string",
"maxLength": 40
},
"message": {
"type": "string",
"minLength": 10,
"maxLength": 2000
},
"terms_conditions": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"quote_request_id",
"provider_type",
"estimated_price",
"currency",
"message"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거