paput-mcp 2.0.3

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.
Files changed (283) hide show
  1. package/LICENSE.txt +21 -0
  2. package/README.md +208 -0
  3. package/dist/handlers/add-skill-sheet-project/handler.js +16 -0
  4. package/dist/handlers/add-skill-sheet-project/handler.js.map +1 -0
  5. package/dist/handlers/add-skill-sheet-project/index.js +2 -0
  6. package/dist/handlers/add-skill-sheet-project/index.js.map +1 -0
  7. package/dist/handlers/add-skill-sheet-project/tool.js +96 -0
  8. package/dist/handlers/add-skill-sheet-project/tool.js.map +1 -0
  9. package/dist/handlers/add-skill-sheet-skill/handler.js +13 -0
  10. package/dist/handlers/add-skill-sheet-skill/handler.js.map +1 -0
  11. package/dist/handlers/add-skill-sheet-skill/index.js +2 -0
  12. package/dist/handlers/add-skill-sheet-skill/index.js.map +1 -0
  13. package/dist/handlers/add-skill-sheet-skill/tool.js +41 -0
  14. package/dist/handlers/add-skill-sheet-skill/tool.js.map +1 -0
  15. package/dist/handlers/create-idea/handler.js +65 -0
  16. package/dist/handlers/create-idea/handler.js.map +1 -0
  17. package/dist/handlers/create-idea/index.js +3 -0
  18. package/dist/handlers/create-idea/index.js.map +1 -0
  19. package/dist/handlers/create-idea/tool.js +23 -0
  20. package/dist/handlers/create-idea/tool.js.map +1 -0
  21. package/dist/handlers/create-memo/handler.js +99 -0
  22. package/dist/handlers/create-memo/handler.js.map +1 -0
  23. package/dist/handlers/create-memo/index.js +3 -0
  24. package/dist/handlers/create-memo/index.js.map +1 -0
  25. package/dist/handlers/create-memo/tool.js +35 -0
  26. package/dist/handlers/create-memo/tool.js.map +1 -0
  27. package/dist/handlers/create-memo-tool.js +35 -0
  28. package/dist/handlers/create-memo-tool.js.map +1 -0
  29. package/dist/handlers/create-memo.js +72 -0
  30. package/dist/handlers/create-memo.js.map +1 -0
  31. package/dist/handlers/create-note/handler.js +72 -0
  32. package/dist/handlers/create-note/handler.js.map +1 -0
  33. package/dist/handlers/create-note/index.js +3 -0
  34. package/dist/handlers/create-note/index.js.map +1 -0
  35. package/dist/handlers/create-note/tool.js +31 -0
  36. package/dist/handlers/create-note/tool.js.map +1 -0
  37. package/dist/handlers/create-skill-sheet/handler.js +72 -0
  38. package/dist/handlers/create-skill-sheet/handler.js.map +1 -0
  39. package/dist/handlers/create-skill-sheet/index.js +3 -0
  40. package/dist/handlers/create-skill-sheet/index.js.map +1 -0
  41. package/dist/handlers/create-skill-sheet/tool.js +123 -0
  42. package/dist/handlers/create-skill-sheet/tool.js.map +1 -0
  43. package/dist/handlers/delete-idea/handler.js +64 -0
  44. package/dist/handlers/delete-idea/handler.js.map +1 -0
  45. package/dist/handlers/delete-idea/index.js +3 -0
  46. package/dist/handlers/delete-idea/index.js.map +1 -0
  47. package/dist/handlers/delete-idea/tool.js +19 -0
  48. package/dist/handlers/delete-idea/tool.js.map +1 -0
  49. package/dist/handlers/delete-memo/handler.js +52 -0
  50. package/dist/handlers/delete-memo/handler.js.map +1 -0
  51. package/dist/handlers/delete-memo/index.js +3 -0
  52. package/dist/handlers/delete-memo/index.js.map +1 -0
  53. package/dist/handlers/delete-memo/tool.js +19 -0
  54. package/dist/handlers/delete-memo/tool.js.map +1 -0
  55. package/dist/handlers/delete-note/handler.js +64 -0
  56. package/dist/handlers/delete-note/handler.js.map +1 -0
  57. package/dist/handlers/delete-note/index.js +3 -0
  58. package/dist/handlers/delete-note/index.js.map +1 -0
  59. package/dist/handlers/delete-note/tool.js +19 -0
  60. package/dist/handlers/delete-note/tool.js.map +1 -0
  61. package/dist/handlers/delete-skill-sheet-project/handler.js +14 -0
  62. package/dist/handlers/delete-skill-sheet-project/handler.js.map +1 -0
  63. package/dist/handlers/delete-skill-sheet-project/index.js +2 -0
  64. package/dist/handlers/delete-skill-sheet-project/index.js.map +1 -0
  65. package/dist/handlers/delete-skill-sheet-project/tool.js +19 -0
  66. package/dist/handlers/delete-skill-sheet-project/tool.js.map +1 -0
  67. package/dist/handlers/delete-skill-sheet-skill/handler.js +17 -0
  68. package/dist/handlers/delete-skill-sheet-skill/handler.js.map +1 -0
  69. package/dist/handlers/delete-skill-sheet-skill/index.js +2 -0
  70. package/dist/handlers/delete-skill-sheet-skill/index.js.map +1 -0
  71. package/dist/handlers/delete-skill-sheet-skill/tool.js +19 -0
  72. package/dist/handlers/delete-skill-sheet-skill/tool.js.map +1 -0
  73. package/dist/handlers/get-categories/handler.js +40 -0
  74. package/dist/handlers/get-categories/handler.js.map +1 -0
  75. package/dist/handlers/get-categories/index.js +3 -0
  76. package/dist/handlers/get-categories/index.js.map +1 -0
  77. package/dist/handlers/get-categories/tool.js +13 -0
  78. package/dist/handlers/get-categories/tool.js.map +1 -0
  79. package/dist/handlers/get-memo/handler.js +62 -0
  80. package/dist/handlers/get-memo/handler.js.map +1 -0
  81. package/dist/handlers/get-memo/index.js +3 -0
  82. package/dist/handlers/get-memo/index.js.map +1 -0
  83. package/dist/handlers/get-memo/tool.js +19 -0
  84. package/dist/handlers/get-memo/tool.js.map +1 -0
  85. package/dist/handlers/get-note/handler.js +70 -0
  86. package/dist/handlers/get-note/handler.js.map +1 -0
  87. package/dist/handlers/get-note/index.js +3 -0
  88. package/dist/handlers/get-note/index.js.map +1 -0
  89. package/dist/handlers/get-note/tool.js +19 -0
  90. package/dist/handlers/get-note/tool.js.map +1 -0
  91. package/dist/handlers/get-skill-sheet/handler.js +88 -0
  92. package/dist/handlers/get-skill-sheet/handler.js.map +1 -0
  93. package/dist/handlers/get-skill-sheet/index.js +3 -0
  94. package/dist/handlers/get-skill-sheet/index.js.map +1 -0
  95. package/dist/handlers/get-skill-sheet/tool.js +13 -0
  96. package/dist/handlers/get-skill-sheet/tool.js.map +1 -0
  97. package/dist/handlers/get-skill-sheet-projects/handler.js +14 -0
  98. package/dist/handlers/get-skill-sheet-projects/handler.js.map +1 -0
  99. package/dist/handlers/get-skill-sheet-projects/index.js +2 -0
  100. package/dist/handlers/get-skill-sheet-projects/index.js.map +1 -0
  101. package/dist/handlers/get-skill-sheet-projects/tool.js +18 -0
  102. package/dist/handlers/get-skill-sheet-projects/tool.js.map +1 -0
  103. package/dist/handlers/get-skill-sheet-skills/handler.js +13 -0
  104. package/dist/handlers/get-skill-sheet-skills/handler.js.map +1 -0
  105. package/dist/handlers/get-skill-sheet-skills/index.js +2 -0
  106. package/dist/handlers/get-skill-sheet-skills/index.js.map +1 -0
  107. package/dist/handlers/get-skill-sheet-skills/tool.js +13 -0
  108. package/dist/handlers/get-skill-sheet-skills/tool.js.map +1 -0
  109. package/dist/handlers/index.js +26 -0
  110. package/dist/handlers/index.js.map +1 -0
  111. package/dist/handlers/list-ideas/handler.js +52 -0
  112. package/dist/handlers/list-ideas/handler.js.map +1 -0
  113. package/dist/handlers/list-ideas/index.js +3 -0
  114. package/dist/handlers/list-ideas/index.js.map +1 -0
  115. package/dist/handlers/list-ideas/tool.js +13 -0
  116. package/dist/handlers/list-ideas/tool.js.map +1 -0
  117. package/dist/handlers/search-memo/handler.js +84 -0
  118. package/dist/handlers/search-memo/handler.js.map +1 -0
  119. package/dist/handlers/search-memo/index.js +3 -0
  120. package/dist/handlers/search-memo/index.js.map +1 -0
  121. package/dist/handlers/search-memo/tool.js +45 -0
  122. package/dist/handlers/search-memo/tool.js.map +1 -0
  123. package/dist/handlers/search-memo-tool.js +41 -0
  124. package/dist/handlers/search-memo-tool.js.map +1 -0
  125. package/dist/handlers/search-memo.js +80 -0
  126. package/dist/handlers/search-memo.js.map +1 -0
  127. package/dist/handlers/search-notes/handler.js +74 -0
  128. package/dist/handlers/search-notes/handler.js.map +1 -0
  129. package/dist/handlers/search-notes/index.js +3 -0
  130. package/dist/handlers/search-notes/index.js.map +1 -0
  131. package/dist/handlers/search-notes/tool.js +33 -0
  132. package/dist/handlers/search-notes/tool.js.map +1 -0
  133. package/dist/handlers/skill-sheet-basic-info/handler.js +12 -0
  134. package/dist/handlers/skill-sheet-basic-info/handler.js.map +1 -0
  135. package/dist/handlers/skill-sheet-basic-info/index.js +2 -0
  136. package/dist/handlers/skill-sheet-basic-info/index.js.map +1 -0
  137. package/dist/handlers/skill-sheet-basic-info/tool.js +30 -0
  138. package/dist/handlers/skill-sheet-basic-info/tool.js.map +1 -0
  139. package/dist/handlers/skill-sheet-projects/handlers.js +48 -0
  140. package/dist/handlers/skill-sheet-projects/handlers.js.map +1 -0
  141. package/dist/handlers/skill-sheet-projects/index.js +2 -0
  142. package/dist/handlers/skill-sheet-projects/index.js.map +1 -0
  143. package/dist/handlers/skill-sheet-projects/tools.js +228 -0
  144. package/dist/handlers/skill-sheet-projects/tools.js.map +1 -0
  145. package/dist/handlers/skill-sheet-projects/types.js +2 -0
  146. package/dist/handlers/skill-sheet-projects/types.js.map +1 -0
  147. package/dist/handlers/skill-sheet-self-pr/handler.js +12 -0
  148. package/dist/handlers/skill-sheet-self-pr/handler.js.map +1 -0
  149. package/dist/handlers/skill-sheet-self-pr/index.js +2 -0
  150. package/dist/handlers/skill-sheet-self-pr/index.js.map +1 -0
  151. package/dist/handlers/skill-sheet-self-pr/tool.js +18 -0
  152. package/dist/handlers/skill-sheet-self-pr/tool.js.map +1 -0
  153. package/dist/handlers/skill-sheet-skills/handlers.js +57 -0
  154. package/dist/handlers/skill-sheet-skills/handlers.js.map +1 -0
  155. package/dist/handlers/skill-sheet-skills/index.js +2 -0
  156. package/dist/handlers/skill-sheet-skills/index.js.map +1 -0
  157. package/dist/handlers/skill-sheet-skills/tools.js +161 -0
  158. package/dist/handlers/skill-sheet-skills/tools.js.map +1 -0
  159. package/dist/handlers/skill-sheet-skills/types.js +2 -0
  160. package/dist/handlers/skill-sheet-skills/types.js.map +1 -0
  161. package/dist/handlers/update-idea/handler.js +77 -0
  162. package/dist/handlers/update-idea/handler.js.map +1 -0
  163. package/dist/handlers/update-idea/index.js +3 -0
  164. package/dist/handlers/update-idea/index.js.map +1 -0
  165. package/dist/handlers/update-idea/tool.js +23 -0
  166. package/dist/handlers/update-idea/tool.js.map +1 -0
  167. package/dist/handlers/update-memo/handler.js +110 -0
  168. package/dist/handlers/update-memo/handler.js.map +1 -0
  169. package/dist/handlers/update-memo/index.js +3 -0
  170. package/dist/handlers/update-memo/index.js.map +1 -0
  171. package/dist/handlers/update-memo/tool.js +49 -0
  172. package/dist/handlers/update-memo/tool.js.map +1 -0
  173. package/dist/handlers/update-note/handler.js +98 -0
  174. package/dist/handlers/update-note/handler.js.map +1 -0
  175. package/dist/handlers/update-note/index.js +3 -0
  176. package/dist/handlers/update-note/index.js.map +1 -0
  177. package/dist/handlers/update-note/tool.js +34 -0
  178. package/dist/handlers/update-note/tool.js.map +1 -0
  179. package/dist/handlers/update-skill-sheet/handler.js +115 -0
  180. package/dist/handlers/update-skill-sheet/handler.js.map +1 -0
  181. package/dist/handlers/update-skill-sheet/index.js +3 -0
  182. package/dist/handlers/update-skill-sheet/index.js.map +1 -0
  183. package/dist/handlers/update-skill-sheet/tool.js +122 -0
  184. package/dist/handlers/update-skill-sheet/tool.js.map +1 -0
  185. package/dist/handlers/update-skill-sheet-basic-info/handler.js +13 -0
  186. package/dist/handlers/update-skill-sheet-basic-info/handler.js.map +1 -0
  187. package/dist/handlers/update-skill-sheet-basic-info/index.js +2 -0
  188. package/dist/handlers/update-skill-sheet-basic-info/index.js.map +1 -0
  189. package/dist/handlers/update-skill-sheet-basic-info/tool.js +30 -0
  190. package/dist/handlers/update-skill-sheet-basic-info/tool.js.map +1 -0
  191. package/dist/handlers/update-skill-sheet-project/handler.js +16 -0
  192. package/dist/handlers/update-skill-sheet-project/handler.js.map +1 -0
  193. package/dist/handlers/update-skill-sheet-project/index.js +2 -0
  194. package/dist/handlers/update-skill-sheet-project/index.js.map +1 -0
  195. package/dist/handlers/update-skill-sheet-project/tool.js +101 -0
  196. package/dist/handlers/update-skill-sheet-project/tool.js.map +1 -0
  197. package/dist/handlers/update-skill-sheet-self-pr/handler.js +13 -0
  198. package/dist/handlers/update-skill-sheet-self-pr/handler.js.map +1 -0
  199. package/dist/handlers/update-skill-sheet-self-pr/index.js +2 -0
  200. package/dist/handlers/update-skill-sheet-self-pr/index.js.map +1 -0
  201. package/dist/handlers/update-skill-sheet-self-pr/tool.js +18 -0
  202. package/dist/handlers/update-skill-sheet-self-pr/tool.js.map +1 -0
  203. package/dist/handlers/update-skill-sheet-skill/handler.js +25 -0
  204. package/dist/handlers/update-skill-sheet-skill/handler.js.map +1 -0
  205. package/dist/handlers/update-skill-sheet-skill/index.js +2 -0
  206. package/dist/handlers/update-skill-sheet-skill/index.js.map +1 -0
  207. package/dist/handlers/update-skill-sheet-skill/tool.js +45 -0
  208. package/dist/handlers/update-skill-sheet-skill/tool.js.map +1 -0
  209. package/dist/handlers/update-skill-sheet-skills/handler.js +25 -0
  210. package/dist/handlers/update-skill-sheet-skills/handler.js.map +1 -0
  211. package/dist/handlers/update-skill-sheet-skills/index.js +2 -0
  212. package/dist/handlers/update-skill-sheet-skills/index.js.map +1 -0
  213. package/dist/handlers/update-skill-sheet-skills/tool.js +51 -0
  214. package/dist/handlers/update-skill-sheet-skills/tool.js.map +1 -0
  215. package/dist/index.js +9 -0
  216. package/dist/index.js.map +1 -0
  217. package/dist/old-index.js +210 -0
  218. package/dist/old-index.js.map +1 -0
  219. package/dist/server/paput-server.js +38 -0
  220. package/dist/server/paput-server.js.map +1 -0
  221. package/dist/server.js +36 -0
  222. package/dist/server.js.map +1 -0
  223. package/dist/services/api/base.js +35 -0
  224. package/dist/services/api/base.js.map +1 -0
  225. package/dist/services/api/category.js +4 -0
  226. package/dist/services/api/category.js.map +1 -0
  227. package/dist/services/api/client.js +50 -0
  228. package/dist/services/api/client.js.map +1 -0
  229. package/dist/services/api/idea.js +64 -0
  230. package/dist/services/api/idea.js.map +1 -0
  231. package/dist/services/api/index.js +7 -0
  232. package/dist/services/api/index.js.map +1 -0
  233. package/dist/services/api/memo.js +90 -0
  234. package/dist/services/api/memo.js.map +1 -0
  235. package/dist/services/api/note.js +82 -0
  236. package/dist/services/api/note.js.map +1 -0
  237. package/dist/services/api/skill-sheet.js +96 -0
  238. package/dist/services/api/skill-sheet.js.map +1 -0
  239. package/dist/services/api-service.js +83 -0
  240. package/dist/services/api-service.js.map +1 -0
  241. package/dist/services/index.js +2 -0
  242. package/dist/services/index.js.map +1 -0
  243. package/dist/services/paput-api.js +45 -0
  244. package/dist/services/paput-api.js.map +1 -0
  245. package/dist/tool.js +91 -0
  246. package/dist/tool.js.map +1 -0
  247. package/dist/tools/memo.js +134 -0
  248. package/dist/tools/memo.js.map +1 -0
  249. package/dist/types/categories.js +2 -0
  250. package/dist/types/categories.js.map +1 -0
  251. package/dist/types/constants.js +26 -0
  252. package/dist/types/constants.js.map +1 -0
  253. package/dist/types/create-memo.js +2 -0
  254. package/dist/types/create-memo.js.map +1 -0
  255. package/dist/types/delete-memo.js +2 -0
  256. package/dist/types/delete-memo.js.map +1 -0
  257. package/dist/types/get-memo.js +2 -0
  258. package/dist/types/get-memo.js.map +1 -0
  259. package/dist/types/idea.js +2 -0
  260. package/dist/types/idea.js.map +1 -0
  261. package/dist/types/index.js +12 -0
  262. package/dist/types/index.js.map +1 -0
  263. package/dist/types/mcp.js +2 -0
  264. package/dist/types/mcp.js.map +1 -0
  265. package/dist/types/note.js +2 -0
  266. package/dist/types/note.js.map +1 -0
  267. package/dist/types/paput.js +2 -0
  268. package/dist/types/paput.js.map +1 -0
  269. package/dist/types/search-memo.js +2 -0
  270. package/dist/types/search-memo.js.map +1 -0
  271. package/dist/types/skill-sheet.js +2 -0
  272. package/dist/types/skill-sheet.js.map +1 -0
  273. package/dist/types/tool.js +2 -0
  274. package/dist/types/tool.js.map +1 -0
  275. package/dist/types/update-memo.js +2 -0
  276. package/dist/types/update-memo.js.map +1 -0
  277. package/dist/utils/config.js +23 -0
  278. package/dist/utils/config.js.map +1 -0
  279. package/dist/utils/error-handler.js +10 -0
  280. package/dist/utils/error-handler.js.map +1 -0
  281. package/dist/utils/logger.js +19 -0
  282. package/dist/utils/logger.js.map +1 -0
  283. package/package.json +48 -0
@@ -0,0 +1,210 @@
1
+ #!/usr/bin/env node
2
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
+ import {
5
+ CallToolRequestSchema,
6
+ ListToolsRequestSchema,
7
+ } from '@modelcontextprotocol/sdk/types.js';
8
+ import dotenv from 'dotenv';
9
+ // 環境変数の読み込み
10
+ dotenv.config();
11
+ // サーバークラス
12
+ class PaputServer {
13
+ server;
14
+ // コンストラクタ
15
+ constructor() {
16
+ // 環境変数からAPIキーを取得
17
+ const apiKey = process.env.PAPUT_API_KEY;
18
+ const apiUrl = process.env.PAPUT_API_URL ?? 'http://localhost:8080';
19
+ if (!apiKey) {
20
+ throw new Error('PAPUT_API_KEY environment variable is not set');
21
+ }
22
+ // サーバーインスタンスの作成
23
+ this.server = new Server(
24
+ {
25
+ name: 'paput-mcp',
26
+ version: '1.0.0',
27
+ },
28
+ {
29
+ capabilities: {
30
+ tools: {},
31
+ },
32
+ },
33
+ );
34
+ this.setupHandlers(apiUrl, apiKey);
35
+ this.setupErrorHandling();
36
+ }
37
+ // エラーハンドリングのセットアップ
38
+ setupErrorHandling() {
39
+ this.server.onerror = (error) => {
40
+ console.error('[MCP Error]', error);
41
+ };
42
+ process.on('SIGINT', async () => {
43
+ await this.server.close();
44
+ process.exit(0);
45
+ });
46
+ }
47
+ // ハンドラーのセットアップ
48
+ setupHandlers(apiUrl, apiKey) {
49
+ // 利用可能なツール一覧の取得
50
+ this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
51
+ tools: [
52
+ {
53
+ name: 'paput_create_memo',
54
+ description: 'PaPut にメモを作成します',
55
+ inputSchema: {
56
+ type: 'object',
57
+ properties: {
58
+ title: {
59
+ type: 'string',
60
+ description: 'メモのタイトル',
61
+ },
62
+ content: {
63
+ type: 'string',
64
+ description: 'メモの内容',
65
+ },
66
+ is_public: {
67
+ type: 'boolean',
68
+ description: 'メモを公開するかどうか',
69
+ default: false,
70
+ },
71
+ categories: {
72
+ type: 'array',
73
+ items: {
74
+ type: 'string',
75
+ },
76
+ description: 'メモのカテゴリ',
77
+ },
78
+ },
79
+ required: ['title', 'content'],
80
+ },
81
+ },
82
+ ],
83
+ }));
84
+ // ツールの呼び出し
85
+ this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
86
+ // ツール名のチェック
87
+ if (request.params.name !== 'paput_create_memo') {
88
+ return {
89
+ content: [
90
+ {
91
+ type: 'text',
92
+ text: `未知のツールです: ${request.params.name}`,
93
+ },
94
+ ],
95
+ isError: true,
96
+ };
97
+ }
98
+ // パラメータのチェックと型変換
99
+ if (!request.params.arguments) {
100
+ return {
101
+ content: [
102
+ {
103
+ type: 'text',
104
+ text: 'パラメータが不足しています',
105
+ },
106
+ ],
107
+ isError: true,
108
+ };
109
+ }
110
+ // 安全な型変換
111
+ const args = request.params.arguments;
112
+ // 必須パラメータのチェック
113
+ if (typeof args.title !== 'string' || typeof args.content !== 'string') {
114
+ return {
115
+ content: [
116
+ {
117
+ type: 'text',
118
+ text: 'タイトルと本文は文字列で指定してください',
119
+ },
120
+ ],
121
+ isError: true,
122
+ };
123
+ }
124
+ // パラメータの構築
125
+ const params = {
126
+ title: args.title,
127
+ content: args.content,
128
+ is_public: typeof args.is_public === 'boolean' ? args.is_public : false,
129
+ };
130
+ // カテゴリの処理
131
+ if (Array.isArray(args.categories)) {
132
+ params.categories = args.categories.filter(
133
+ (item) => typeof item === 'string',
134
+ );
135
+ }
136
+ try {
137
+ const response = await fetch(`${apiUrl}/api/v1/mcp/memo`, {
138
+ method: 'POST',
139
+ headers: {
140
+ 'Content-Type': 'application/json',
141
+ 'X-API-Key': apiKey,
142
+ },
143
+ body: JSON.stringify({
144
+ title: params.title,
145
+ content: params.content,
146
+ is_public: params.is_public || false,
147
+ categories: (params.categories || []).map((name) => ({ name })),
148
+ }),
149
+ });
150
+ const responseText = await response.text();
151
+ let data;
152
+ try {
153
+ data = JSON.parse(responseText);
154
+ } catch (e) {
155
+ console.error(`JSONパースエラー: ${e.message}`);
156
+ data = {
157
+ success: false,
158
+ message: 'レスポンスのJSONパースに失敗しました',
159
+ };
160
+ }
161
+ if (!response.ok) {
162
+ return {
163
+ content: [
164
+ {
165
+ type: 'text',
166
+ text: `メモの作成に失敗しました: ${data.message || '不明なエラー'}`,
167
+ },
168
+ ],
169
+ isError: true,
170
+ };
171
+ }
172
+ return {
173
+ content: [
174
+ {
175
+ type: 'text',
176
+ text: `メモ「${params.title}」が正常に作成されました。`,
177
+ },
178
+ ],
179
+ };
180
+ } catch (error) {
181
+ const errorMessage =
182
+ error instanceof Error ? error.message : '不明なエラー';
183
+ return {
184
+ content: [
185
+ {
186
+ type: 'text',
187
+ text: `メモの作成中にエラーが発生しました: ${errorMessage}`,
188
+ },
189
+ ],
190
+ isError: true,
191
+ };
192
+ }
193
+ });
194
+ }
195
+ // サーバーの実行
196
+ async run() {
197
+ const transport = new StdioServerTransport();
198
+ transport.onerror = (error) => {
199
+ console.error(`MCPエラー発生: ${error}`);
200
+ };
201
+ await this.server.connect(transport);
202
+ }
203
+ }
204
+ // サーバーの実行
205
+ const server = new PaputServer();
206
+ server.run().catch((error) => {
207
+ console.error('予期せぬエラー:', error);
208
+ process.exit(1);
209
+ });
210
+ //# sourceMappingURL=old-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"old-index.js","sourceRoot":"","sources":["../src/old-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
+ import { setupMemoTool } from '../tools/memo.js';
4
+ import { setupErrorHandling } from '../utils/error-handler.js';
5
+ export class PaputServer {
6
+ server;
7
+ constructor() {
8
+ // 環境変数の取得
9
+ const apiKey = process.env.PAPUT_API_KEY;
10
+ const apiUrl = process.env.PAPUT_API_URL ?? 'http://localhost:8080';
11
+ if (!apiKey) {
12
+ throw new Error('PAPUT_API_KEY environment variable is not set');
13
+ }
14
+ // サーバーの初期化
15
+ this.server = new Server(
16
+ {
17
+ name: 'paput-mcp',
18
+ version: '1.0.0',
19
+ },
20
+ {
21
+ capabilities: {
22
+ tools: {},
23
+ },
24
+ },
25
+ );
26
+ // ツールとエラーハンドリングのセットアップ
27
+ setupMemoTool(this.server, apiUrl, apiKey);
28
+ setupErrorHandling(this.server);
29
+ }
30
+ async run() {
31
+ const transport = new StdioServerTransport();
32
+ transport.onerror = (error) => {
33
+ console.error(`MCPエラー発生: ${error}`);
34
+ };
35
+ await this.server.connect(transport);
36
+ }
37
+ }
38
+ //# sourceMappingURL=paput-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paput-server.js","sourceRoot":"","sources":["../../src/server/paput-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,OAAO,WAAW;IACd,MAAM,CAAS;IAEvB;QACE,UAAU;QACV,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,uBAAuB,CAAC;QAEpE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,WAAW;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB,EAAE;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV;SACF,CAAC,CAAC;QAEH,uBAAuB;QACvB,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,SAAS,CAAC,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CACF"}
package/dist/server.js ADDED
@@ -0,0 +1,36 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
+ import { setupTool } from './tool.js';
4
+ import { setupErrorHandling } from './utils/error-handler.js';
5
+ export class MCPServer {
6
+ server;
7
+ constructor() {
8
+ // 環境変数の取得
9
+ const apiKey = process.env.PAPUT_API_KEY;
10
+ const apiUrl = process.env.PAPUT_API_URL ?? 'https://api.paput.io';
11
+ if (!apiKey) {
12
+ throw new Error('PAPUT_API_KEY environment variable is not set');
13
+ }
14
+ // サーバーの初期化
15
+ this.server = new Server({
16
+ name: 'paput-mcp',
17
+ version: '1.0.0',
18
+ }, {
19
+ capabilities: {
20
+ tools: {},
21
+ resources: {},
22
+ },
23
+ });
24
+ // ツールとエラーハンドリングのセットアップ
25
+ setupTool(this.server, apiUrl, apiKey);
26
+ setupErrorHandling(this.server);
27
+ }
28
+ async run() {
29
+ const transport = new StdioServerTransport();
30
+ transport.onerror = (error) => {
31
+ console.error(`MCPエラー発生: ${error}`);
32
+ };
33
+ await this.server.connect(transport);
34
+ }
35
+ }
36
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,OAAO,SAAS;IACZ,MAAM,CAAS;IAEvB;QACE,UAAU;QACV,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,sBAAsB,CAAC;QAEnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,WAAW;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,EAAE;aACd;SACF,CACF,CAAC;QAEF,uBAAuB;QACvB,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,SAAS,CAAC,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ export class BaseApiService {
2
+ apiUrl;
3
+ apiKey;
4
+ constructor(apiUrl, apiKey) {
5
+ this.apiUrl = apiUrl;
6
+ this.apiKey = apiKey;
7
+ }
8
+ async request(endpoint, method, body) {
9
+ const url = endpoint.startsWith('http')
10
+ ? endpoint
11
+ : `${this.apiUrl}${endpoint}`;
12
+ const options = {
13
+ method,
14
+ headers: {
15
+ 'X-API-Key': this.apiKey,
16
+ ...(method !== 'GET' && method !== 'DELETE'
17
+ ? { 'Content-Type': 'application/json' }
18
+ : {}),
19
+ },
20
+ };
21
+ if (body && method !== 'GET' && method !== 'DELETE') {
22
+ options.body = JSON.stringify(body);
23
+ }
24
+ const response = await fetch(url, options);
25
+ if (method === 'DELETE' && response.status === 204) {
26
+ return {};
27
+ }
28
+ const data = await response.json();
29
+ if (!response.ok) {
30
+ throw new Error(data.error || `HTTP error! status: ${response.status}`);
31
+ }
32
+ return data;
33
+ }
34
+ }
35
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/services/api/base.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IACf,MAAM,CAAS;IACf,MAAM,CAAS;IAEzB,YAAY,MAAc,EAAE,MAAc;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,QAAgB,EAChB,MAAyC,EACzC,IAAU;QAEV,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;YACrC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QAEhC,MAAM,OAAO,GAAgB;YAC3B,MAAM;YACN,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ;oBACzC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC;QAEF,IAAI,IAAI,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACnD,OAAO,EAAO,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export async function getCategories(client) {
2
+ return client.get('/api/v1/mcp/categories');
3
+ }
4
+ //# sourceMappingURL=category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.js","sourceRoot":"","sources":["../../../src/services/api/category.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB;IAEjB,OAAO,MAAM,CAAC,GAAG,CAAqB,wBAAwB,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,50 @@
1
+ export async function apiRequest(config, endpoint, method, body) {
2
+ const url = endpoint.startsWith('http')
3
+ ? endpoint
4
+ : `${config.apiUrl}${endpoint}`;
5
+ const options = {
6
+ method,
7
+ headers: {
8
+ 'X-API-Key': config.apiKey,
9
+ ...(method !== 'GET' && method !== 'DELETE'
10
+ ? { 'Content-Type': 'application/json' }
11
+ : {}),
12
+ },
13
+ };
14
+ if (body && method !== 'GET' && method !== 'DELETE') {
15
+ options.body = JSON.stringify(body);
16
+ }
17
+ const response = await fetch(url, options);
18
+ if (!response.ok) {
19
+ const errorText = await response.text();
20
+ try {
21
+ const errorData = JSON.parse(errorText);
22
+ throw new Error(errorData.error || `HTTP error! status: ${response.status}`);
23
+ }
24
+ catch (e) {
25
+ throw new Error(errorText || `HTTP error! status: ${response.status}`);
26
+ }
27
+ }
28
+ if (response.status === 204) {
29
+ return {};
30
+ }
31
+ const text = await response.text();
32
+ try {
33
+ return JSON.parse(text);
34
+ }
35
+ catch (e) {
36
+ // JSONのパースに失敗したが、リクエストは成功しているので空のオブジェクトを返す
37
+ return {};
38
+ }
39
+ }
40
+ export function createApiClient(apiUrl, apiKey) {
41
+ const config = { apiUrl, apiKey };
42
+ return {
43
+ get: (endpoint) => apiRequest(config, endpoint, 'GET'),
44
+ post: (endpoint, body) => apiRequest(config, endpoint, 'POST', body),
45
+ put: (endpoint, body) => apiRequest(config, endpoint, 'PUT', body),
46
+ delete: (endpoint) => apiRequest(config, endpoint, 'DELETE'),
47
+ request: (endpoint, method, body) => apiRequest(config, endpoint, method, body),
48
+ };
49
+ }
50
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/services/api/client.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,QAAgB,EAChB,MAAkB,EAClB,IAAU;IAEV,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;IAElC,MAAM,OAAO,GAAgB;QAC3B,MAAM;QACN,OAAO,EAAE;YACP,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ;gBACzC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBACxC,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;IAEF,IAAI,IAAI,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE3C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,SAAS,CAAC,KAAK,IAAI,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAC5D,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,EAAO,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,2CAA2C;QAC3C,OAAO,EAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,MAAc;IAC5D,MAAM,MAAM,GAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAE7C,OAAO;QACL,GAAG,EAAE,CAAU,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAI,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;QAE1E,IAAI,EAAE,CAAU,QAAgB,EAAE,IAAU,EAAE,EAAE,CAC9C,UAAU,CAAI,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;QAE/C,GAAG,EAAE,CAAU,QAAgB,EAAE,IAAU,EAAE,EAAE,CAC7C,UAAU,CAAI,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;QAE9C,MAAM,EAAE,CAAU,QAAgB,EAAE,EAAE,CACpC,UAAU,CAAI,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAE3C,OAAO,EAAE,CAAU,QAAgB,EAAE,MAAkB,EAAE,IAAU,EAAE,EAAE,CACrE,UAAU,CAAI,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;KAChD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,64 @@
1
+ export async function listIdeas(client) {
2
+ try {
3
+ const data = await client.get('/api/v1/mcp/ideas');
4
+ return {
5
+ success: true,
6
+ ideas: data,
7
+ };
8
+ }
9
+ catch (error) {
10
+ return {
11
+ success: false,
12
+ ideas: [],
13
+ error: error instanceof Error ? error.message : '不明なエラー',
14
+ };
15
+ }
16
+ }
17
+ export async function createIdea(client, params) {
18
+ try {
19
+ await client.post('/api/v1/mcp/idea', {
20
+ title: params.title,
21
+ });
22
+ return {
23
+ success: true,
24
+ };
25
+ }
26
+ catch (error) {
27
+ return {
28
+ success: false,
29
+ error: error instanceof Error ? error.message : '不明なエラー',
30
+ };
31
+ }
32
+ }
33
+ export async function updateIdea(client, params) {
34
+ try {
35
+ await client.put('/api/v1/mcp/idea', {
36
+ id: params.id,
37
+ title: params.title,
38
+ });
39
+ return {
40
+ success: true,
41
+ };
42
+ }
43
+ catch (error) {
44
+ return {
45
+ success: false,
46
+ error: error instanceof Error ? error.message : '不明なエラー',
47
+ };
48
+ }
49
+ }
50
+ export async function deleteIdea(client, params) {
51
+ try {
52
+ await client.delete(`/api/v1/mcp/idea/${params.id}`);
53
+ return {
54
+ success: true,
55
+ };
56
+ }
57
+ catch (error) {
58
+ return {
59
+ success: false,
60
+ error: error instanceof Error ? error.message : '不明なエラー',
61
+ };
62
+ }
63
+ }
64
+ //# sourceMappingURL=idea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idea.js","sourceRoot":"","sources":["../../../src/services/api/idea.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAiB;IAC/C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAM,mBAAmB,CAAC,CAAC;QAExD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;SACzD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;SACzD,CAAC;IACJ,CAAC;AACH,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE;YACnC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;SACzD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAoB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAErD,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;SACzD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { createApiClient } from './client.js';
2
+ export * from './memo.js';
3
+ export * from './note.js';
4
+ export * from './category.js';
5
+ export * from './idea.js';
6
+ export * from './skill-sheet.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;AAC9D,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,90 @@
1
+ export async function createMemo(client, params) {
2
+ try {
3
+ await client.post('/api/v1/mcp/memo', {
4
+ title: params.title,
5
+ body: params.body,
6
+ is_public: params.is_public || false,
7
+ categories: params.categories || [],
8
+ projects: params.projects || [],
9
+ });
10
+ return {
11
+ success: true,
12
+ };
13
+ }
14
+ catch (error) {
15
+ return {
16
+ success: false,
17
+ error: error instanceof Error ? error.message : '不明なエラー',
18
+ };
19
+ }
20
+ }
21
+ export async function searchMemos(client, params) {
22
+ try {
23
+ const queryParams = new URLSearchParams();
24
+ if (params.word)
25
+ queryParams.append('word', params.word);
26
+ if (params.category_id !== undefined)
27
+ queryParams.append('category_id', params.category_id.toString());
28
+ if (params.ids && params.ids.length > 0) {
29
+ params.ids.forEach((id) => queryParams.append('ids[]', id.toString()));
30
+ }
31
+ if (params.is_public !== undefined)
32
+ queryParams.append('is_public', params.is_public.toString());
33
+ if (params.page !== undefined)
34
+ queryParams.append('page', params.page.toString());
35
+ if (params.limit !== undefined)
36
+ queryParams.append('limit', params.limit.toString());
37
+ const endpoint = `/api/v1/mcp/memos${queryParams.toString() ? '?' + queryParams.toString() : ''}`;
38
+ const data = await client.get(endpoint);
39
+ return {
40
+ success: true,
41
+ memos: data.memos,
42
+ total: data.total,
43
+ };
44
+ }
45
+ catch (error) {
46
+ return {
47
+ success: false,
48
+ error: error instanceof Error ? error.message : '不明なエラー',
49
+ };
50
+ }
51
+ }
52
+ export async function getMemo(client, params) {
53
+ return client.get(`/api/v1/mcp/memo/${params.id}`);
54
+ }
55
+ export async function updateMemo(client, params) {
56
+ try {
57
+ await client.put('/api/v1/mcp/memo', {
58
+ id: params.id,
59
+ title: params.title,
60
+ body: params.body,
61
+ is_public: params.is_public,
62
+ categories: params.categories,
63
+ projects: params.projects,
64
+ });
65
+ return {
66
+ success: true,
67
+ };
68
+ }
69
+ catch (error) {
70
+ return {
71
+ success: false,
72
+ error: error instanceof Error ? error.message : '不明なエラー',
73
+ };
74
+ }
75
+ }
76
+ export async function deleteMemo(client, params) {
77
+ try {
78
+ await client.delete(`/api/v1/mcp/memo/${params.id}`);
79
+ return {
80
+ success: true,
81
+ };
82
+ }
83
+ catch (error) {
84
+ return {
85
+ success: false,
86
+ error: error instanceof Error ? error.message : '不明なエラー',
87
+ };
88
+ }
89
+ }
90
+ //# sourceMappingURL=memo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memo.js","sourceRoot":"","sources":["../../../src/services/api/memo.ts"],"names":[],"mappings":"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"}