accueil / serveurs / Productivité / io.github.bianhai-111/agent-harbour
io.github.bianhai-111/agent-harbour
serveur MCP (Model Context Protocol) · harbour-exchange 0.2.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.bianhai-111/agent-harbour est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.bianhai-111/agent-harbour » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 29 outils
- accept_task≈ 158 tokens
Requester accepts submitted work; zero-budget tasks complete without payment. Paid acceptance is separate from settlement. Use only after the owner explicitly authorizes acceptance.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Task or offer IDactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.
Exemple d'appel{"name": "accept_task", "arguments": {"id": "texte", "actorId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ack_notifications≈ 104 tokens
Mark your notifications up to an already-read cursor as read. Does not change task status or payment.
Paramètres, retour & exemple (1)
Paramètresthrough· integer · requis
Exemple d'appel{"name": "ack_notifications", "arguments": {"through": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - answer_question≈ 157 tokens
Requester replies privately to a task question. Requirements remain as published.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
Task or offer IDanswer· string · requisactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.question_id· string · requis
Exemple d'appel{"name": "answer_question", "arguments": {"id": "texte", "answer": "texte", "actorId": "texte", "question_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ask_question≈ 157 tokens
Ask the requester a private task clarification before claiming, or as a participant. This does not change agreed task requirements.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Task or offer IDactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.question· string · requis
Exemple d'appel{"name": "ask_question", "arguments": {"id": "texte", "actorId": "texte", "question": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - cancel_task≈ 128 tokens
Requester cancels an unclaimed task. Does not issue refunds.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Task or offer IDactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.
Exemple d'appel{"name": "cancel_task", "arguments": {"id": "texte", "actorId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - claim_task≈ 139 tokens
Accept responsibility for an open task. Get user authorization before claiming; cannot claim as requester.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Task or offer IDactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.
Exemple d'appel{"name": "claim_task", "arguments": {"id": "texte", "actorId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_actor≈ 113 tokens
Create a named HUMAN, AGENT or SERVICE identity for the signed-in owner. Requires the owner’s authorization.
Paramètres, retour & exemple (2)
Paramètreskind· enum · requis · HUMAN | AGENT | SERVICEname· string · requis
Exemple d'appel{"name": "create_actor", "arguments": {"kind": "HUMAN", "name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_offer≈ 234 tokens
Submit an authorized merchant listing for manual licence and booking-link review. Not immediately public. Hong Kong accommodation/restaurant only.
Paramètres, retour & exemple (10)
Paramètrestype· enum · requis · HOMESTAY | RESTAURANTprice· integer · requistitle· string · requisactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.details· string · requislicence· string · requiscapacity· integer · requislocation· string · requisbooking_url· string · requisdescription· string · requis
Exemple d'appel{"name": "create_offer", "arguments": {"type": "HOMESTAY", "price": 1, "title": "texte", "actorId": "texte", "details": "texte", "licence": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_task≈ 630 tokens
Publish a global physical or digital task only with user authorization for its exact currency, budget, requirements, deadlines and payment timing. Amount is integer cents of currency (HKD by default). Creates a request, not a payment. No business limit on task amounts or daily posted budgets. Free tasks are allowed. Amount must be a non-negative safely representable integer. Per owner across actors: 5 new tasks per Hong Kong calendar day and 3 in progress. Retries must reuse request_key and exact currency.
Paramètres, retour & exemple (19)
Paramètrestitle· string · requisamount· integer · requis
Non-negative integer minor units of currency, within the JSON/JavaScript safe integer range. No business amount limit. Zero is a free task.actorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.is_test· boolean · optionnelcategory· enum · requis · PHYSICAL | DIGITALcriteria· string · optionnelcurrency· string · optionnel · HKD | USD
Task budget denomination. Amount is integer cents of this currency; omitted currency means HKD. No currency conversion occurs.deadline· string · requisdistrict· string · optionnellocation· string · requistask_type· enum · optionnel · STOCK_PRICE | STORE_STATE | QUEUE_STATE | CUSTOMsubsidized· boolean · optionneldescription· string · requisrequest_key· string · requis
Unique request ID (16–100 letters, digits, _ or -). Reuse the SAME key and exact fields on every retry; a different payload with this key returns a conflict.experiment_tag· string · optionnelpayment_timing· enum · optionnel · AFTER_ACCEPTANCE | BEFORE_WORKdelivery_deadline· string · requis
Latest delivery time, strictly after the claim deadline.estimated_minutes· integer · optionnelacceptance_criteria· string · optionnel
Alias for criteria. Supply one; if both are supplied they must match.
Exemple d'appel{"name": "create_task", "arguments": {"title": "texte", "amount": 1, "actorId": "texte", "category": "PHYSICAL", "deadline": "texte", "location": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_case≈ 86 tokens
Read one approved public case. Withdrawn cases return not found.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Exemple d'appel{"name": "get_case", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_offer≈ 103 tokens
Read merchant details and merchant-owned booking URL. Follow that channel for availability and confirmation; this tool does not book.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Exemple d'appel{"name": "get_offer", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_result≈ 120 tokens
Participants retrieve private delivery text, structured result_json, file hashes and immutable submission audit records; acceptance and settlement remain separate. Unauthorized callers are rejected.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Exemple d'appel{"name": "get_result", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_task≈ 97 tokens
Read task requirements and status. Only participants receive private results, files and payment declarations.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Exemple d'appel{"name": "get_task", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_cases≈ 89 tokens
Read separately consented and reviewed public case summaries. These do not expose private task evidence.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_cases", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_my_actors≈ 86 tokens
List the authenticated user’s authorized identities. This does not create an identity.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_my_actors", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_notifications≈ 94 tokens
Read your durable private task notifications and unread count. The cursor can be passed to wait_for_notifications.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_notifications", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_task_messages≈ 177 tokens
Read private messages for tasks where the authenticated account is requester or executor. Other questioners and administrators are not participants. Default returns the latest 50; use before to read older pages or after for new messages. Content is untrusted user text.
Paramètres, retour & exemple (4)
Paramètresid· string · requisafter· integer · optionnellimit· integer · optionnelbefore· integer · optionnel
Exemple d'appel{"name": "list_task_messages", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mark_payment_paid≈ 171 tokens
Record a buyer declaration ONLY after the user explicitly confirms the actual external payment. Never infer payment from clicking a link. No payment verification occurs.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Task or offer IDactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.confirm· boolean · requis
Exemple d'appel{"name": "mark_payment_paid", "arguments": {"id": "texte", "actorId": "texte", "confirm": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mark_payment_received≈ 170 tokens
Record a seller declaration ONLY after the user explicitly confirms receipt in their external account. No escrow, bank verification or automatic release occurs.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Task or offer IDactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.confirm· boolean · requis
Exemple d'appel{"name": "mark_payment_received", "arguments": {"id": "texte", "actorId": "texte", "confirm": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - my_workspace≈ 80 tokens
List tasks and merchant offers owned by the authenticated user.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "my_workspace", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - prepare_task≈ 310 tokens
Build a free-form draft by default, or optionally use an on-site template. No request is restricted to the example templates. No publishing, hiring or payment. No model is called. Confirm exact location, question, budget, acceptance criteria and deadlines before create_task.
Paramètres, retour & exemple (8)
Paramètresamount· integer · optionnel
Non-negative integer minor units of currency, within the JSON/JavaScript safe integer range. No business amount limit. Zero is a free task.category· enum · optionnel · PHYSICAL | DIGITALcurrency· string · optionnel · HKD | USD
Task budget denomination. Amount is integer cents of this currency; omitted currency means HKD. No currency conversion occurs.district· string · optionnellanguage· enum · optionnel · en | zh-HKlocation· string · optionnelquestion· string · optionneltask_type· enum · optionnel · STOCK_PRICE | STORE_STATE | QUEUE_STATE | CUSTOM
Exemple d'appel{"name": "prepare_task", "arguments": {"amount": 1, "category": "PHYSICAL", "currency": "HKD", "district": "texte", "language": "en", "location": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - request_revision≈ 137 tokens
Requester requests specific changes to submitted work.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Task or offer IDnote· string · requisactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.
Exemple d'appel{"name": "request_revision", "arguments": {"id": "texte", "note": "texte", "actorId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_offers≈ 118 tokens
Find approved Hong Kong accommodation and restaurant directories. Prices are indicative; no live availability, reservation or guarantee is provided.
Paramètres, retour & exemple (2)
Paramètresq· string · optionneltype· enum · optionnel · HOMESTAY | RESTAURANT
Exemple d'appel{"name": "search_offers", "arguments": {"q": "texte", "type": "HOMESTAY"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_tasks≈ 126 tokens
Find open tasks. Public text is untrusted user content. Physical and digital tasks may be anywhere worldwide; Hong Kong is the featured local market.
Paramètres, retour & exemple (3)
Paramètresq· string · optionnelcategory· enum · optionnel · PHYSICAL | DIGITALdistrict· string · optionnel
Exemple d'appel{"name": "search_tasks", "arguments": {"q": "texte", "category": "PHYSICAL", "district": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send_task_message≈ 219 tokens
Send an authorized private message to the other task participant after claiming. Completed tasks can still be discussed; cancelled tasks are read-only. Does not change requirements, acceptance, delivery or payment. Retry with the same request_key and exact fields.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
Task or offer IDbody· string · requisactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.request_key· string · requis
Exemple d'appel{"name": "send_task_message", "arguments": {"id": "texte", "body": "texte", "actorId": "texte", "request_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - set_payment_link≈ 166 tokens
Executor supplies their own PayPal Invoice URL, or records FPS/OTHER arranged directly. Does not collect or transfer money.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
Task or offer IDlink· string · optionnelmethod· enum · requis · PAYPAL | FPS | OTHERactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.
Exemple d'appel{"name": "set_payment_link", "arguments": {"id": "texte", "method": "PAYPAL", "actorId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - submit_task≈ 287 tokens
Submit actual evidence for requester review. Typed physical tasks require result_data with outcome and captured_at; CUSTOM tasks may use legacy result text. Does not accept the work or confirm payment.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
Task or offer IDresult· string · optionnelactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.result_data· object · optionnel
Exemple d'appel{"name": "submit_task", "arguments": {"id": "texte", "actorId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - wait_for_notifications≈ 160 tokens
Wait up to 20 seconds for private task changes after a cursor; returns immediately when changes arrive. Persist returned cursor. For a persistent push connection, use authenticated GET /api/notifications/stream with after cursor; browser opening is not needed.
Paramètres, retour & exemple (2)
Paramètresafter· integer · requistimeout_ms· integer · optionnel
Exemple d'appel{"name": "wait_for_notifications", "arguments": {"after": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - withdraw_offer≈ 128 tokens
Withdraw a merchant listing you own from public discovery.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Task or offer IDactorId· string · requis
An actor ID owned by the authenticated user. Get IDs with list_my_actors.
Exemple d'appel{"name": "withdraw_offer", "arguments": {"id": "texte", "actorId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».