Server definition
- Hash
- sha256:bff53e3e34c06f5074b1ba6de60df8fceb00acb57ba46fd81e11b141ea6b5306
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": "Tewdy is a global service-provider marketplace serving two audiences: people offering skills (plumbers, translators, tutors, cleaners, photographers, and more) and people needing local help. Read-only tools (search_providers, get_provider_details, list_categories, get_category_pricing, get_earnings_estimate) require no authentication. Authenticated tools require an Authorization: Bearer <Tewdy JWT> header — these cover the full transactional flow on both sides: request_quote, get_my_requests, accept_quote, message_provider for clients; list_inbound_requests, submit_quote for providers. Quote acceptance and payment confirmation always happen on tewdy.com via deep link, never in chat.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"quote_id": {
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"quote_id"
],
"type": "object"
},
"name": "accept_quote",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"currency": {
"maxLength": 3,
"minLength": 3,
"type": "string"
},
"location": {
"maxLength": 200,
"type": "string"
}
},
"required": [
"category"
],
"type": "object"
},
"name": "get_category_pricing",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"currency": {
"maxLength": 3,
"minLength": 3,
"type": "string"
},
"hours_per_week": {
"maximum": 80,
"minimum": 1,
"type": "number"
},
"location": {
"maxLength": 200,
"type": "string"
}
},
"required": [
"category",
"hours_per_week"
],
"type": "object"
},
"name": "get_earnings_estimate",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"offset": {
"maximum": 1000,
"minimum": 0,
"type": "integer"
},
"sort_by": {
"enum": [
"createdAt",
"expiresAt",
"quotesReceived"
],
"type": "string"
},
"sort_order": {
"enum": [
"ASC",
"DESC"
],
"type": "string"
},
"status": {
"enum": [
"open",
"closed",
"cancelled",
"expired"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_my_requests",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"provider_id": {
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"provider_id"
],
"type": "object"
},
"name": "get_provider_details",
"outputSchema": null
},
{
"description": "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\").",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"business_type": {
"maxLength": 60,
"type": "string"
}
},
"type": "object"
},
"name": "list_categories",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category_id": {
"maxLength": 120,
"type": "string"
},
"lat": {
"maximum": 90,
"minimum": -90,
"type": "number"
},
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"lng": {
"maximum": 180,
"minimum": -180,
"type": "number"
},
"max_budget": {
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"min_budget": {
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"offset": {
"maximum": 1000,
"minimum": 0,
"type": "integer"
},
"radius_km": {
"maximum": 500,
"minimum": 0.5,
"type": "number"
},
"urgency": {
"enum": [
"urgent",
"normal",
"flexible"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_inbound_requests",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chat_id": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"text": {
"maxLength": 4000,
"minLength": 1,
"type": "string"
}
},
"required": [
"chat_id",
"text"
],
"type": "object"
},
"name": "message_provider",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"budget_max": {
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"budget_min": {
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"category": {
"maxLength": 120,
"type": "string"
},
"currency": {
"maxLength": 3,
"minLength": 3,
"type": "string"
},
"description": {
"maxLength": 2000,
"minLength": 10,
"type": "string"
},
"location_name": {
"maxLength": 200,
"type": "string"
},
"preferred_date": {
"maxLength": 40,
"type": "string"
},
"urgency": {
"enum": [
"urgent",
"normal",
"flexible"
],
"type": "string"
}
},
"required": [
"description"
],
"type": "object"
},
"name": "request_quote",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"maxLength": 120,
"type": "string"
},
"lat": {
"maximum": 90,
"minimum": -90,
"type": "number"
},
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"lng": {
"maximum": 180,
"minimum": -180,
"type": "number"
},
"locationName": {
"maxLength": 200,
"type": "string"
},
"query": {
"maxLength": 200,
"type": "string"
},
"radiusKm": {
"maximum": 500,
"minimum": 0.5,
"type": "number"
}
},
"type": "object"
},
"name": "search_providers",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"availability_date": {
"maxLength": 40,
"type": "string"
},
"business_id": {
"maxLength": 120,
"type": "string"
},
"currency": {
"maxLength": 3,
"minLength": 3,
"type": "string"
},
"estimated_duration": {
"maxLength": 120,
"type": "string"
},
"estimated_price": {
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"message": {
"maxLength": 2000,
"minLength": 10,
"type": "string"
},
"provider_type": {
"enum": [
"individual",
"business"
],
"type": "string"
},
"quote_request_id": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"terms_conditions": {
"maxLength": 2000,
"type": "string"
}
},
"required": [
"quote_request_id",
"provider_type",
"estimated_price",
"currency",
"message"
],
"type": "object"
},
"name": "submit_quote",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:bff53e3e34c06f5074b1ba6de60df8fceb00acb57ba46fd81e11b141ea6b5306 | sha256sum