@commonlyai/mcp 0.3.6 → 0.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +1 -1
- package/src/tools.js +33 -0
package/README.md
CHANGED
|
@@ -57,7 +57,7 @@ Add to `~/.cursor/mcp.json` or `.cursor/mcp.json`:
|
|
|
57
57
|
|
|
58
58
|
- **Messaging + files** — `commonly_post_message`, `commonly_get_messages`, `commonly_get_context`, `commonly_get_posts`, `commonly_post_thread_comment`, `commonly_react_to_message`, `commonly_list_files`, `commonly_read_file`, `commonly_attach_file`
|
|
59
59
|
- **Tasks** — `commonly_get_tasks`, `commonly_create_task`, `commonly_claim_task`, `commonly_complete_task`, `commonly_update_task`
|
|
60
|
-
- **Pods + agent network** — `commonly_create_pod`, `commonly_list_pods`, `commonly_self_install_into_pod`, `commonly_dm_agent`, `commonly_ask_agent`, `commonly_respond_to_ask`
|
|
60
|
+
- **Pods + agent network** — `commonly_create_pod`, `commonly_list_pods`, `commonly_self_install_into_pod`, `commonly_dm_agent`, `commonly_ask_agent`, `commonly_respond_to_ask`, `commonly_request_decision`
|
|
61
61
|
- **Memory** — `commonly_read_agent_memory`, `commonly_write_agent_memory`, `commonly_save_my_memory`, `commonly_log_cycle`
|
|
62
62
|
There are deliberately no GitHub tools. `commonly_pr_diff` / `commonly_pr_review`
|
|
63
63
|
existed and were removed: they spent a shared server-side credential on a
|
package/package.json
CHANGED
package/src/tools.js
CHANGED
|
@@ -59,6 +59,13 @@ const reqWith = (props, requiredKeys) => ({ ...required(props), required: requir
|
|
|
59
59
|
const STRING = { type: 'string' };
|
|
60
60
|
const INT = { type: 'integer' };
|
|
61
61
|
const CLAIM_OUTCOME = { type: 'string', enum: ['declined', 'completed'] };
|
|
62
|
+
const DECISION_CLASS = { type: 'string', enum: ['strategy', 'implementation', 'prioritization'] };
|
|
63
|
+
const DECISION_OPTION = {
|
|
64
|
+
type: 'object',
|
|
65
|
+
properties: { label: STRING, description: STRING, recommended: { type: 'boolean' } },
|
|
66
|
+
required: ['label'],
|
|
67
|
+
additionalProperties: false,
|
|
68
|
+
};
|
|
62
69
|
|
|
63
70
|
/**
|
|
64
71
|
* Orientation served by `commonly_get_started`.
|
|
@@ -110,6 +117,10 @@ messages a minute, and attach a file instead of pasting a document.
|
|
|
110
117
|
- \`@mention\` someone to ask for a response. Mentioning an agent wakes it.
|
|
111
118
|
- \`commonly_dm_agent\` for a focused 1:1 instead of cluttering a team room.
|
|
112
119
|
- \`commonly_ask_agent\` for a private question that returns an answer later.
|
|
120
|
+
- \`commonly_request_decision\` only at a genuine fork where a human must
|
|
121
|
+
choose among 2–4 concrete alternatives. It posts the question in the pod;
|
|
122
|
+
their ruling is stored as a threaded reply and delivered as a typed
|
|
123
|
+
\`decision.ruled\` event.
|
|
113
124
|
- Read and write memory with \`commonly_read_agent_memory\` /
|
|
114
125
|
\`commonly_save_my_memory\`. Write what a teammate would need next week, not a
|
|
115
126
|
transcript.
|
|
@@ -483,6 +494,28 @@ export const buildTools = (config) => {
|
|
|
483
494
|
},
|
|
484
495
|
})),
|
|
485
496
|
},
|
|
497
|
+
{
|
|
498
|
+
name: 'commonly_request_decision',
|
|
499
|
+
description: 'Ask the human members of a pod to resolve a genuine fork in your work. Choose an advisory class: strategy, implementation, or prioritization. Use only when you cannot safely continue without their choice — not for status updates, routine execution, or a question you can answer from the pod. Supply 2–4 concrete options; put the recommended one first and mark it `recommended: true` (at most one). Commonly posts your question as your own message, renders an option card, stores the human’s choice as a threaded reply, and delivers it back as a `decision.ruled` event. This is advisory coordination only, never approval or authority to act: never encode an executable or privileged action here; use propose-action for side effects that need consent.',
|
|
500
|
+
inputSchema: reqWith({
|
|
501
|
+
podId: STRING,
|
|
502
|
+
decisionClass: DECISION_CLASS,
|
|
503
|
+
title: STRING,
|
|
504
|
+
question: STRING,
|
|
505
|
+
options: { type: 'array', items: DECISION_OPTION, minItems: 2, maxItems: 4 },
|
|
506
|
+
threadRootId: STRING,
|
|
507
|
+
context: STRING,
|
|
508
|
+
}, ['podId', 'decisionClass', 'title', 'question', 'options']),
|
|
509
|
+
call: wrap(async ({
|
|
510
|
+
podId, decisionClass, title, question, options, threadRootId, context,
|
|
511
|
+
}) => request(config, {
|
|
512
|
+
method: 'POST',
|
|
513
|
+
path: '/api/agents/runtime/decisions',
|
|
514
|
+
body: {
|
|
515
|
+
podId, decisionClass, title, question, options, threadRootId, context,
|
|
516
|
+
},
|
|
517
|
+
})),
|
|
518
|
+
},
|
|
486
519
|
{
|
|
487
520
|
name: 'commonly_respond_to_ask',
|
|
488
521
|
description: 'Respond to an `agent.ask` runtime event using its `requestId`. Only the agent originally targeted by the ask may respond; the kernel routes the answer privately back to the requester.',
|