owner-clone-ai-mcp 2.1.2 → 2.1.4

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.
@@ -34,6 +34,7 @@ const tools = [
34
34
  properties: {
35
35
  query: { type: 'string', description: '検索クエリ' },
36
36
  limit: { type: 'number', description: '取得件数(デフォルト: 10)' },
37
+ scope: { type: 'string', enum: ['account'], description: 'プロジェクト専用キー使用時に "account" を指定するとアカウント全体を検索(既定はプロジェクトの棚に限定)。棚の外の正本ナレッジを探すときに使う' },
37
38
  },
38
39
  required: ['query'],
39
40
  },
@@ -402,7 +403,7 @@ const handlers = {
402
403
  async search_knowledge(args) {
403
404
  const data = await callApi('/knowledge/search', {
404
405
  method: 'POST',
405
- body: JSON.stringify({ query: args.query, limit: args.limit }),
406
+ body: JSON.stringify({ query: args.query, limit: args.limit, scope: args.scope }),
406
407
  });
407
408
  if (!data.results || data.results.length === 0) {
408
409
  return `「${args.query}」に一致するナレッジは見つかりませんでした。`;
@@ -139,6 +139,16 @@ role: reference(参照) / tool(道具) / output(成果物)`,
139
139
  folder_id: { type: 'string', description: 'ナレッジフォルダID(list_knowledge_folders で確認。省略=解除)' },
140
140
  } },
141
141
  },
142
+ {
143
+ name: 'set_project_brief',
144
+ description: `プロジェクトの事業ブリーフ(ヒアリング回答・前提情報)を更新します【書き込み権限付きキーが必要】。
145
+ キー単位のマージ(渡したキーだけ上書き・値 null でキー削除)。以後の分解(plan_project_goals)と作業指示書(get_goal_briefing)に自動で効きます。`,
146
+ annotations: { destructiveHint: false, idempotentHint: true },
147
+ inputSchema: { type: 'object', properties: {
148
+ project_id: { type: 'string', description: 'プロジェクト紐付きキーなら省略可' },
149
+ brief: { type: 'object', description: '{ ターゲット: "...", 納期: "...", 品質基準: "..." } 形式。1値2000字・全体8KBまで' },
150
+ }, required: ['brief'] },
151
+ },
142
152
  {
143
153
  name: 'distill_project_knowledge',
144
154
  description: '航海日誌から「次も使える学び」をナレッジに整理します(蒸留)【書き込み権限付きキーが必要】。ゴール完了時は自動で走るため、ユーザーに頼まれたときだけ使ってください。',
@@ -261,6 +271,10 @@ const handlers = {
261
271
  ? `✅ 成果物の保存先を設定しました。${d.hint || ''}`
262
272
  : '✅ 保存先を解除しました(未分類に保存されます)';
263
273
  },
274
+ async set_project_brief(args = {}) {
275
+ const d = await callApi('/project-os/brief', { method: 'POST', body: JSON.stringify(args) });
276
+ return `✅ ブリーフを更新しました。${d.hint || ''}\n現在: ${JSON.stringify(d.brief).slice(0, 400)}`;
277
+ },
264
278
  async distill_project_knowledge(args = {}) {
265
279
  const d = await callApi('/project-os/distill', { method: 'POST', body: JSON.stringify(args) });
266
280
  if (d.skipped) return `⏭ ${d.skipped}`;
@@ -136,6 +136,9 @@ assignee_id を調べるために使います。先頭はオーナー自身(ro
136
136
  assignee_id: { type: 'string', description: '担当者のメンバーID(list_team_members のUUID。空文字で担当者解除)' },
137
137
  assignee_name: { type: 'string', description: '担当者の名前(部分一致)。"解除"で担当者を外す。オーナー(APIキーの持ち主)も名前で指定でき、"自分" と書けばオーナー。⚠️ オーナーとメンバーの両方に部分一致すると候補一覧のエラーになるため、フルネームか assignee_id を使う' },
138
138
  project_id: { type: 'string', description: '紐づけるプロジェクトのID(list_projects のUUID。空文字で解除)' },
139
+ owner_note: { type: 'string', description: 'オーナーの補足指示(作業指示書で本文より優先。空文字で削除)' },
140
+ department: { type: 'string', description: '実行部署名(プロジェクトOSの【部署】定義の名前。空文字で解除)' },
141
+ resource_refs: { type: 'array', items: { type: 'object' }, description: 'このタスクで使うもの [{type: knowledge|skill|agent, name, id?}]。丸ごと置き換え・ナレッジは棚にも自動掲載' },
139
142
  },
140
143
  required: ['id'],
141
144
  },
@@ -262,7 +265,7 @@ const handlers = {
262
265
 
263
266
  async update_task(args) {
264
267
  const body = {};
265
- ['title','body','priority','due_date','status','assignee_id','assignee_name','project_id']
268
+ ['title','body','priority','due_date','status','assignee_id','assignee_name','project_id','owner_note','department','resource_refs']
266
269
  .forEach(f => { if (args[f] !== undefined) body[f] = args[f]; });
267
270
  const data = await callApi(`/tasks/${args.id}`, { method: 'PATCH', body: JSON.stringify(body) });
268
271
  return `✅ ${data.message}\nID: ${data.id}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "owner-clone-ai-mcp",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "MCP server for Owner Clone AI — exposes knowledge and agent presets to Claude Code",
5
5
  "main": "index.js",
6
6
  "bin": {