# Taasky [Verified] [Health: Active]

**Category:** 🤝 Agreements & Coordination  
**Repository:** https://taasky.ai/  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/taasky

## Description
Your agent settles small things with anyone, agent or browser. Nothing is agreed until you say yes.

## Tools
Capabilities this server exposes over MCP:

- **negotiation_open** — Start a new negotiation: creates a room and returns invite_url for the other party. Use it when your human wants to agree something with someone; if you were sent an invite link instead, use negotiation_join. Each call opens a separate room. subject_schema is the shape of the terms; pass subject to open with your terms, which the other side can accept as soon as they join. For a meeting with a few possible times, pass slots instead: no schema needed, and the other side picks one with a tap. options does the same for any schema. The invitation expires after 72 hours if nobody joins.
- **negotiation_join** — Join a room you were invited to; use negotiation_open to start your own instead. subject_schema is the shape of terms you can agree; leave it out to take the other side's as it is (always, for a common_ground room). limits are the bounds your human set (kept private from the other side) and need your own subject_schema. An invitation can be answered once: a used, withdrawn or expired one is refused with the reason. Returns the room and, if the other side opened with terms, terms_on_table: the turn is then yours, to accept with negotiation_respond or answer with negotiation_propose.
- **negotiation_list** — List the rooms whose room_token you pass (up to 20): state, round, whose turn it is, deadline. Use it to see where several negotiations stand; for one room's terms and next move, use negotiation_read.
- **negotiation_read** — Read one room in full: state, whose turn it is, every round, the terms on the table with their subject_hash, next: what to do now, and for_your_human: the room as your human should see it, to show them as it is. Call it before every move and when your human asks how a negotiation is going. Changes nothing. To wait for the other side, pass wait: true: it returns as soon as the room changes, or after 40 seconds with changed: false.
- **negotiation_propose** — Make a move that keeps the negotiation going; to accept or end it, use negotiation_respond. Only on your turn. offer: opening terms, only when no terms are on the table. counter: different terms. need_more_detail: you cannot decide yet; it passes the turn back without new terms. Terms are what is agreed if the other side approves them: for a meeting, the exact slot it takes, never the window your human is free (that belongs in limits). Terms must match your own subject_schema exactly; unknown fields reject the move.
- **negotiation_respond** — Accept or turn down the terms on the table. This is not sent by you: your human is asked to confirm, with the terms shown field by field, and only their answer releases the move. approve must quote the subject_hash of the terms it accepts (from negotiation_read). The room is agreed once both parties approve the same hash. reject closes the room for good; to keep negotiating, counter with negotiation_propose instead. In a common_ground room nothing waits for your human: it goes out at once.
- **negotiation_cancel** — Withdraw from the negotiation; the room closes for both parties and cannot be reopened. Terms on the table lapse. Allowed out of turn, and before the other side joins (the invitation is then withdrawn). Needs your human's confirmation, like negotiation_respond, except in a common_ground room. To turn down terms but stay, counter with negotiation_propose.

## Claude Desktop Quick Installation
No confirmed install details yet, so no config is published. Follow the setup steps in the repository above.

## Documentation

## What Taasky does

Taasky provides MCP tools for negotiating structured agreements between a human's agent and another participant, which may be another agent or someone using a browser. Each negotiation takes place in a room. The initiating agent receives an invitation URL for the other party, while a participant with an invitation joins through the corresponding room.

The agreement can represent arbitrary structured terms through a subject schema. For scheduling, the opening agent can instead provide several possible slots and let the other participant choose one. Options can also be used for schema-based choices. A room records the terms under discussion, whose turn it is, and the history of moves.

## How it works

Start with `negotiation_open` when the human wants to reach a new agreement. The call creates a separate room and returns an `invite_url`. An invitation remains usable for 72 hours if nobody joins. To enter an existing room, use `negotiation_join` with its invitation.

Before making a move, read the room with `negotiation_read`. It returns the state, current turn, complete round history, terms on the table, a hash for those terms, and a `next` instruction. It also includes a human-readable view intended to be shown to the human. Passing `wait: true` waits for a room change, returning after an update or after 40 seconds without one.

Use `negotiation_propose` to place opening terms, submit a counteroffer, or pass the turn when more detail is needed. Use `negotiation_respond` to approve or reject terms. Approval must reference the exact `subject_hash` read from the room, and both parties must approve the same hash for the room to become agreed. Human confirmation is required before ordinary approvals or rejections are sent. A `common_ground` room sends responses without that confirmation step.

## Tools and capabilities

- `negotiation_open` creates a room and invitation. It accepts a subject schema with initial terms, meeting slots, or general options.
- `negotiation_join` accepts an invitation and can define the joining side's schema and private limits. It returns the room and any terms already on the table.
- `negotiation_list` summarizes up to 20 rooms by token, including state, round, turn, and deadline.
- `negotiation_read` provides the full room state, terms, round history, next action, and human-facing view.
- `negotiation_propose` submits opening terms, counters, or a request for more detail. Terms must match the proposing side's schema exactly.
- `negotiation_respond` approves or rejects the current terms, subject to the room's confirmation rules.
- `negotiation_cancel` withdraws from a room. It can be used out of turn, but closes the room for both parties.

## Limitations and notes

Each `negotiation_open` call creates its own room. An invitation can be answered only once; used, withdrawn, or expired invitations are refused. Cancellation is permanent, and any terms on the table lapse when the room closes.

Negotiation moves are turn-based. Opening terms are allowed only when no terms are on the table, counters can be made only on the caller's turn, and unknown or incorrectly shaped fields are rejected. For meetings, the agreed terms must contain the exact selected slot; a participant's available-time bounds belong in private `limits` instead.

Use `negotiation_propose` to continue after seeing terms you do not accept. Rejecting with `negotiation_respond` ends the room, while cancellation also requires human confirmation except in a `common_ground` room.

_Full upstream README: https://allmcps.com/mcp/taasky/readme_

