togello-mcp-server 1.0.16 → 1.0.18

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 CHANGED
@@ -16,7 +16,7 @@ This server implements the Model Context Protocol (MCP) for managing context in
16
16
  }
17
17
  }
18
18
  }
19
-
19
+ ```
20
20
 
21
21
  # Features
22
22
 
@@ -27,17 +27,15 @@ This server implements the Model Context Protocol (MCP) for managing context in
27
27
 
28
28
  ## Tools
29
29
 
30
- - get-tasks-list: TODO機能で未完了のタスクを取得します。タスクUUID / タスク名 / 予定開始日時 / 予定終了日時 / 優先度 / カテゴリ を認識できます。
31
- - create-task: TODO機能で新しいタスクを作成します。タスク名(taskName)を指定する必要があります。カテゴリーUUID(categoryUUID)、予定開始日時(scheduledStartDate)、URL(url)もオプションで指定できます。
32
- - update-task: TODO機能でタスクを更新します。タスクの完了状態を更新できます。get-tasks-listで取得したタスクUUIDを指定する必要があります。
33
- - get-todo-category-list: TODO機能からカテゴリーリストを取得します。カテゴリー名 / カテゴリーUUID を認識できます。
34
- - get-today-calendar: 連携しているGoogleカレンダーの昨日/今日/明日の予定を取得します。予定名 / 開始日時 / 終了日時 を認識できます。
35
- - get-activity-item-list: 統合機能からアクティビティ項目のリストを取得します。アクティビティ項目UUID / 項目名 を認識できます。
36
- - get-activity-log-list: 統合機能からアクティビティログのリストを取得します。すべてのログの終了日時が入力されている場合、現在何も実行していないことを意味します。終了日時がnullのものがある場合(最大で1つ)、現在その活動を実行中であることを意味します。アクティビティログUUID / 開始日時 / 終了日時 / 項目名 を認識できます。
37
- - start-activity-log: アクティビティログを開始します。get-activity-log-listのすべてのendDateTimeに値がある場合、何も実行されていないため、start-activity-logを呼び出すことができます。
38
- - complete-activity-log: アクティビティログを完了します。get-activity-log-listのendDateTimeにnullがある場合(つまり開始されているアクティビティがある場合)に使用できます。
39
-
40
- ```
30
+ - get-tasks-list: TODO 機能で未完了のタスクを取得します。タスク UUID / タスク名 / 予定開始日時 / 予定終了日時 / 優先度 / カテゴリ を認識できます。
31
+ - create-task: TODO 機能で新しいタスクを作成します。タスク名(taskName)を指定する必要があります。カテゴリー UUID(categoryUUID)、予定開始日時(scheduledStartDate)、URL(url)もオプションで指定できます。
32
+ - update-task: TODO 機能でタスクを更新します。タスクの完了状態を更新できます。get-tasks-list で取得したタスク UUID を指定する必要があります。
33
+ - get-todo-category-list: TODO 機能からカテゴリーリストを取得します。カテゴリー名 / カテゴリー UUID を認識できます。
34
+ - get-today-calendar: 連携している Google カレンダーの昨日/今日/明日の予定を取得します。予定名 / 開始日時 / 終了日時 を認識できます。
35
+ - get-activity-item-list: 統合機能からアクティビティ項目のリストを取得します。アクティビティ項目 UUID / 項目名 を認識できます。
36
+ - get-activity-log-list: 統合機能からアクティビティログのリストを取得します。すべてのログの終了日時が入力されている場合、現在何も実行していないことを意味します。終了日時が null のものがある場合(最大で 1 つ)、現在その活動を実行中であることを意味します。アクティビティログ UUID / 開始日時 / 終了日時 / 項目名 を認識できます。
37
+ - start-activity-log: アクティビティログを開始します。`get-activity-item-list` で取得した項目名(`activityItemName`)を指定する必要があります。`get-activity-log-list` で取得したログリストの全ての `endDateTime` に値がある場合(現在実行中のアクティビティがない場合)に呼び出すことができます。
38
+ - complete-activity-log: アクティビティログを完了します。`get-activity-log-list` で取得した、現在実行中のアクティビティログの UUID(`activityLogUUID`)を指定する必要があります。
41
39
 
42
40
  ## publish
43
41
 
package/build/client.js CHANGED
@@ -43,7 +43,7 @@ export const httpClient = {
43
43
  throw new Error('environment variable TOGELLO_API_TOKEN is not set');
44
44
  }
45
45
  const url = `${API_BASE_URL}${path}`;
46
- const bodyString = body !== null ? JSON.stringify(body) : null;
46
+ const bodyString = body !== null ? JSON.stringify(body) : '{}';
47
47
  const response = await fetch(url, {
48
48
  method: 'PUT',
49
49
  headers: {
@@ -55,6 +55,9 @@ export const httpClient = {
55
55
  if (!response.ok) {
56
56
  throw new Error(`response status: ${response.status}`);
57
57
  }
58
+ if (response.headers.get('content-length') === '0') {
59
+ return undefined;
60
+ }
58
61
  return (await response.json());
59
62
  },
60
63
  };
@@ -3,7 +3,7 @@ export const completeActivityLogHandler = async ({ activityLogUUID }) => {
3
3
  try {
4
4
  await httpClient.putJson({
5
5
  path: `/v2/integration/activity-logs/${activityLogUUID}/work-complete`,
6
- body: null,
6
+ body: {},
7
7
  });
8
8
  return {
9
9
  content: [
@@ -1,11 +1,12 @@
1
1
  import { httpClient } from '../../client.js';
2
- export const updateTaskHandler = async ({ todoUUID, isCompleted, scheduledStartDate, url, }) => {
2
+ export const updateTaskHandler = async ({ todoUUID, isCompleted, scheduledStartDate, scheduledEndDate, url, }) => {
3
3
  try {
4
4
  await httpClient.putJson({
5
5
  path: `/v2/integration/todo/${todoUUID}`,
6
6
  body: {
7
7
  isCompleted,
8
8
  scheduledStartDate,
9
+ scheduledEndDate,
9
10
  url,
10
11
  },
11
12
  });
package/build/index.js CHANGED
@@ -59,6 +59,10 @@ async function main() {
59
59
  .string()
60
60
  .optional()
61
61
  .describe('Scheduled start date in ISO format.'),
62
+ scheduledEndDate: z
63
+ .string()
64
+ .optional()
65
+ .describe('Scheduled end date in ISO format.'),
62
66
  url: z
63
67
  .string()
64
68
  .optional()
@@ -68,12 +72,16 @@ async function main() {
68
72
  server.tool('get-today-calendar', 'Retrieves scheduled events for yesterday/today/tomorrow from the linked Google Calendar. Recognizes event name / start date and time / end date and time. ', {}, getTodayCalendarHandler);
69
73
  server.tool('get-activity-item-list', 'Retrieves the list of activity items from the integration feature. Recognizes activity item UUID / item name', {}, getActivityItemListHandler);
70
74
  server.tool('get-activity-log-list', 'Retrieves the list of activity logs from the integration feature. Since it is a record of what the person has done, if all the end dates are filled in, this person is not doing anything now. If there is one with a null end date, there should be at most one, and if there is one, it means that the person is doing it now. Recognizes activity log UUID / start date and time / end date and time / item name.', {}, getActivityLogListHandler);
71
- server.tool('start-activity-log', 'Starts an activity log. If all the endDateTime of get-activity-log-list have values, it means that nothing is being done, so start-activity-log can be called.', {
75
+ server.tool('start-activity-log',
76
+ // 'Starts an activity log. If all the endDateTime of get-activity-log-list have values, it means that nothing is being done, so start-activity-log can be called.',
77
+ 'Starts an activity log.', {
72
78
  activityItemName: z
73
79
  .string()
74
80
  .describe('Activity log name. Please specify the itemName obtained from get-activity-item-list. You cannot specify a value that is not in itemName, so this tool cannot be used.'),
75
81
  }, startActivityLogHandler);
76
- server.tool('complete-activity-log', 'Completes an activity log. If all the endDateTime of get-activity-log-list have values, it means that nothing is being done, so start-activity-log can be called.', {
82
+ server.tool('complete-activity-log',
83
+ // 'Completes an activity log. If all the endDateTime of get-activity-log-list have values, it means that nothing is being done, so start-activity-log can be called.',
84
+ 'Completes an activity log.', {
77
85
  activityLogUUID: z
78
86
  .string()
79
87
  .describe('Activity log UUID. Please specify the activityLogUUID obtained from get-activity-log-list. You cannot specify a value that is not in activityLogUUID, so this tool cannot be used.'),
@@ -84,3 +92,5 @@ main().catch((error) => {
84
92
  console.error('Fatal error in main():', error);
85
93
  process.exit(1);
86
94
  });
95
+ // en: 'Starts an activity log. If all the endDateTime of get-activity-log-list have values, it means that nothing is being done, so start-activity-log can be called.',
96
+ // ja: 'アクティビティログを開始します。get-activity-log-listのendDateTimeがすべて値を持っている場合、何もしていないことを意味します。そのため、start-activity-logを呼び出すことができます。'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "togello-mcp-server",
4
- "version": "1.0.16",
4
+ "version": "1.0.18",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
7
  "build": "tsc && chmod 755 build/index.js",