TaskMan of London
Registry code: 16d1f1aaec3cf9a0
Book London furniture assembly, wall mounting, handyman, electrical, and smart home jobs.
from a public catalogue that lists it, not from the operator
- endpoint
- https://taskman.london/mcp
- protocol
- http-sse ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is TaskMan of London live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is TaskMan of London free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does TaskMan of London have?
- 20 tools: match_providers, create_booking_request, list_customer_addresses, get_booking_payment_status, get_booking_status, start_booking_payment, create_customer_booking, update_contact_note, ….
- Is TaskMan of London safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99.1%· all time 99.1%
last good check
of 20 tools
- degraded → live
- live → degraded· HTTP 522
- degraded → live
- degraded → live
- live → degraded· timeout after 20000ms
- used for
- find a london handyman service
- check service area and availability
- get a quote estimate
- book a furniture assembly or mounting job
- check booking status
- takes → gives
- text, data → data
- tools
- 11 reads7 changes data1 moves money1 sends messages
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
find_services reads open 1h ago
Use when the user needs help identifying which TaskMan of London service fits their job, especially for vague home-service requests in London.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "area": { "type": "string", "maxLength": 80, "minLength": 2 }, "query": { "type": "string", "maxLength": 200, "minLength": 2 }, "urgency": { "enum": [ "flexible", "specific_date", "urgent" ], "type": "string" } }, "additionalProperties": false }arguments 25 linesmatch_providers reads unknown never probed
Use when an agent needs a single deterministic provider-matching result for assignment. Returns an ordered_candidates array sorted best-to-worst, where the first can_assign=true candidate is the assignee.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "service_type", "area_postcode", "urgency" ], "properties": { "urgency": { "enum": [ "flexible", "specific_date", "urgent" ], "type": "string" }, "location_id": { "type": "string", "maxLength": 120, "minLength": 1 }, "service_type": { "enum": [ "furniture_assembly", "wall_mounting", "handyman", "electrician", "smart_home_installation" ], "type": "string" }, "area_postcode": { "type": "string", "maxLength": 12, "minLength": 2 }, "preferred_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" } }, "additionalProperties": false }arguments 44 linescreate_booking_request changes data unknown never probed
Use when the user is ready to submit details for a real TaskMan of London booking request.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "customer_name", "phone", "postcode", "service_type", "task_summary", "consent_to_contact" ], "properties": { "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "phone": { "type": "string", "maxLength": 25, "minLength": 7 }, "source": { "type": "string", "const": "chatgpt_app", "default": "chatgpt_app" }, "postcode": { "type": "string", "maxLength": 12, "minLength": 3 }, "photos_url": { "type": "string", "format": "uri" }, "service_type": { "enum": [ "furniture_assembly", "wall_mounting", "handyman", "electrician", "smart_home_installation" ], "type": "string" }, "task_summary": { "type": "string", "maxLength": 500, "minLength": 8 }, "customer_name": { "type": "string", "maxLength": 120, "minLength": 2 }, "preferred_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "idempotency_key": { "type": "string", "maxLength": 200, "minLength": 8 }, "time_preference": { "enum": [ "morning", "afternoon", "evening", "flexible" ], "type": "string" }, "consent_to_contact": { "type": "boolean" } }, "additionalProperties": false }arguments 80 lineslist_customer_addresses reads unknown never probed
Use after verification to list saved addresses linked to the verified customer.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "session_token" ], "properties": { "session_token": { "type": "string", "maxLength": 300, "minLength": 20 } }, "additionalProperties": false }arguments 15 linesget_booking_payment_status reads unknown never probed
Use to check whether a booking payment session is pending, paid, failed, canceled, or expired before attempting booking creation.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "session_token", "payment_session_id" ], "properties": { "session_token": { "type": "string", "maxLength": 300, "minLength": 20 }, "payment_session_id": { "type": "string", "maxLength": 200, "minLength": 6 } }, "additionalProperties": false }arguments 21 linesget_booking_status reads unknown never probed
Use when the user already has a TaskMan booking request and wants an update.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "booking_request_id" ], "properties": { "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "phone": { "type": "string", "maxLength": 25, "minLength": 7 }, "booking_request_id": { "type": "string", "maxLength": 80, "minLength": 4 } }, "additionalProperties": false }arguments 25 linesstart_booking_payment moves money unknown never probed
Use after collecting booking details to create a Stripe checkout payment session before final booking submission.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "session_token", "service_type", "task_summary" ], "properties": { "address_id": { "type": "string", "maxLength": 120, "minLength": 2 }, "contact_id": { "type": "string", "maxLength": 120, "minLength": 1 }, "service_type": { "enum": [ "furniture_assembly", "wall_mounting", "handyman", "electrician", "smart_home_installation" ], "type": "string" }, "task_summary": { "type": "string", "maxLength": 500, "minLength": 8 }, "session_token": { "type": "string", "maxLength": 300, "minLength": 20 }, "preferred_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "deposit_amount_minor": { "type": "integer", "maximum": 500000, "exclusiveMinimum": 0 } }, "additionalProperties": false }arguments 51 linescreate_customer_booking changes data unknown never probed
Use after verification, detail collection, and confirmed paid payment session to create a booking scoped to the verified customer.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "session_token", "service_type", "task_summary", "payment_session_id" ], "properties": { "address_id": { "type": "string", "maxLength": 120, "minLength": 2 }, "contact_id": { "type": "string", "maxLength": 120, "minLength": 1 }, "photos_url": { "type": "string", "format": "uri" }, "service_type": { "enum": [ "furniture_assembly", "wall_mounting", "handyman", "electrician", "smart_home_installation" ], "type": "string" }, "task_summary": { "type": "string", "maxLength": 500, "minLength": 8 }, "session_token": { "type": "string", "maxLength": 300, "minLength": 20 }, "preferred_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "idempotency_key": { "type": "string", "maxLength": 200, "minLength": 8 }, "time_preference": { "enum": [ "morning", "afternoon", "evening", "flexible" ], "type": "string" }, "consent_to_contact": { "type": "boolean", "default": true }, "payment_session_id": { "type": "string", "maxLength": 200, "minLength": 6 } }, "additionalProperties": false }arguments 74 linesupdate_contact_note changes data unknown never probed
Use to append an internal CRM note for the verified customer during or after booking.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "session_token", "note" ], "properties": { "note": { "type": "string", "maxLength": 2000, "minLength": 4 }, "session_token": { "type": "string", "maxLength": 300, "minLength": 20 } }, "additionalProperties": false }arguments 21 linesverify_customer_otp changes data unknown never probed
Use after sending an OTP challenge, to verify the one-time passcode and open a short-lived booking session.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "challenge_id", "otp_code" ], "properties": { "otp_code": { "type": "string", "pattern": "^\\d{4,8}$" }, "challenge_id": { "type": "string", "maxLength": 120, "minLength": 8 } }, "additionalProperties": false }arguments 20 linesstart_trusted_phone_session changes data unknown never probed
Use in trusted telephony flows when the caller number is already verified by the channel provider and you need a short-lived booking session without OTP.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "identifier" ], "properties": { "identifier": { "type": "string", "maxLength": 200, "minLength": 5 } }, "additionalProperties": false }arguments 15 linesstart_customer_verification sends messages unknown never probed
Use when an existing customer wants to verify identity (OTP or magic link) before assistant-led booking.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "identifier" ], "properties": { "identifier": { "type": "string", "maxLength": 200, "minLength": 5 }, "method_preference": { "enum": [ "otp", "magic_link", "auto" ], "type": "string", "default": "auto" }, "channel_preference": { "enum": [ "sms", "email", "auto" ], "type": "string", "default": "auto" } }, "additionalProperties": false }arguments 33 linestag_contact changes data unknown never probed
Use to add CRM tags to the verified customer for booking workflow tracking.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "session_token", "tags" ], "properties": { "tags": { "type": "array", "items": { "type": "string", "maxLength": 80, "minLength": 1 }, "maxItems": 20, "minItems": 1 }, "session_token": { "type": "string", "maxLength": 300, "minLength": 20 } }, "additionalProperties": false }arguments 26 linesget_customer_availability reads unknown 15h ago
Use after verification to check availability for a verified customer at a selected saved address.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "session_token", "service_type" ], "properties": { "address_id": { "type": "string", "maxLength": 120, "minLength": 2 }, "service_type": { "enum": [ "furniture_assembly", "wall_mounting", "handyman", "electrician", "smart_home_installation" ], "type": "string" }, "session_token": { "type": "string", "maxLength": 300, "minLength": 20 }, "preferred_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "time_preference": { "enum": [ "morning", "afternoon", "evening", "flexible" ], "type": "string" } }, "additionalProperties": false }arguments 44 linesget_customer_profile reads unknown 15h ago
Use after verification to load scoped customer profile details from CRM for booking.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "session_token" ], "properties": { "session_token": { "type": "string", "maxLength": 300, "minLength": 20 } }, "additionalProperties": false }arguments 15 linesget_quote_estimate reads unknown 15h ago
Use when the user asks about likely cost, ballpark pricing, or whether a task needs a custom quote.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "service_type", "task_summary" ], "properties": { "brand": { "type": "string", "maxLength": 80 }, "postcode": { "type": "string", "maxLength": 12 }, "item_type": { "type": "string", "maxLength": 80 }, "wall_type": { "type": "string", "maxLength": 80 }, "item_count": { "type": "integer", "maximum": 25, "exclusiveMinimum": 0 }, "service_type": { "enum": [ "furniture_assembly", "wall_mounting", "handyman", "electrician", "smart_home_installation" ], "type": "string" }, "task_summary": { "type": "string", "maxLength": 500, "minLength": 8 }, "preferred_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "photos_provided": { "type": "boolean" } }, "additionalProperties": false }arguments 54 linescheck_availability reads unknown 1h ago
Use when the user asks about dates, timing, or whether a service can likely be booked soon.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "service_type", "postcode" ], "properties": { "postcode": { "type": "string", "maxLength": 12, "minLength": 3 }, "service_type": { "enum": [ "furniture_assembly", "wall_mounting", "handyman", "electrician", "smart_home_installation" ], "type": "string" }, "preferred_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "time_preference": { "enum": [ "morning", "afternoon", "evening", "flexible" ], "type": "string" } }, "additionalProperties": false }arguments 39 linescheck_service_area reads unknown 1h ago
Use when the user provides a London postcode or asks whether TaskMan covers their area.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "postcode" ], "properties": { "postcode": { "type": "string", "maxLength": 12, "minLength": 3 }, "service_type": { "enum": [ "furniture_assembly", "wall_mounting", "handyman", "electrician", "smart_home_installation" ], "type": "string" } }, "additionalProperties": false }arguments 25 lineslist_service_types reads unknown 8h ago
Use after verification to show supported service types before collecting booking details.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "session_token" ], "properties": { "session_token": { "type": "string", "maxLength": 300, "minLength": 20 } }, "additionalProperties": false }arguments 15 linesverify_magic_link_token changes data unknown never probed
Use when the customer clicks a magic link and provides the token for verification.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "token" ], "properties": { "token": { "type": "string", "maxLength": 4000, "minLength": 24 } }, "additionalProperties": false }arguments 15 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id16d1f1aaec3cf9a0.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/16d1f1aaec3cf9a0/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/16d1f1aaec3cf9a0?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.