@tk_wfl/o2n-mcp-server 0.1.3 → 0.2.1
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/dist/index.js +142 -17
- package/dist/index.js.map +1 -1
- package/dist/plan-store.d.ts.map +1 -1
- package/dist/plan-store.js +2 -2
- package/dist/plan-store.js.map +1 -1
- package/package.json +4 -3
package/dist/index.js
CHANGED
|
@@ -1,18 +1,54 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
2
|
+
import crypto from 'node:crypto';
|
|
3
3
|
import { promises as fs } from 'node:fs';
|
|
4
4
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
5
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
6
6
|
import { z } from 'zod';
|
|
7
|
-
import { scanVault, runMigration, NotionClient, NotionApi, StateStore, writeReport, buildReport, reportPath, statePath, loadCredentials, } from '@tk_wfl/o2n-core';
|
|
7
|
+
import { scanVault, runMigration, NotionClient, NotionApi, StateStore, writeReport, buildReport, reportPath, statePath, loadCredentials, assertObsidianVault, NotAnObsidianVaultError, VaultNotAllowedError, parseStateFile, planHash, } from '@tk_wfl/o2n-core';
|
|
8
8
|
import { loadOrCreatePlan, savePlan } from './plan-store.js';
|
|
9
9
|
import { getJob, setJob } from './jobs.js';
|
|
10
10
|
const server = new McpServer({ name: 'o2n-mcp-server', version: '0.1.0' });
|
|
11
11
|
function text(content) {
|
|
12
12
|
return { content: [{ type: 'text', text: content }] };
|
|
13
13
|
}
|
|
14
|
+
const PREPARE_TTL_MS = 10 * 60 * 1000;
|
|
15
|
+
const preparedMigrations = new Map();
|
|
16
|
+
function allowedVaultRoots() {
|
|
17
|
+
const raw = process.env.O2N_ALLOWED_VAULTS;
|
|
18
|
+
if (!raw)
|
|
19
|
+
return null;
|
|
20
|
+
const roots = raw.split(',').map((p) => p.trim()).filter(Boolean);
|
|
21
|
+
return roots.length > 0 ? roots : null;
|
|
22
|
+
}
|
|
23
|
+
function mcpWriteEnabled() {
|
|
24
|
+
return process.env.O2N_ENABLE_MCP_WRITE === '1';
|
|
25
|
+
}
|
|
26
|
+
function writeTokenMatches(token) {
|
|
27
|
+
const configured = process.env.O2N_MCP_WRITE_TOKEN;
|
|
28
|
+
return configured !== undefined && configured.length >= 16 && token === configured;
|
|
29
|
+
}
|
|
30
|
+
/** vaultPathが実際にObsidian vaultらしいディレクトリでなければエラーを返す(任意パスアクセス対策) */
|
|
31
|
+
async function guardVaultPath(vaultPath) {
|
|
32
|
+
try {
|
|
33
|
+
const roots = allowedVaultRoots();
|
|
34
|
+
if (!roots) {
|
|
35
|
+
return { error: text('O2N_ALLOWED_VAULTS が未設定のため、MCPからのvaultアクセスを拒否しました。許可するvaultの実パスをカンマ区切りで設定してください。') };
|
|
36
|
+
}
|
|
37
|
+
const resolved = await assertObsidianVault(vaultPath, { allowedVaultRoots: roots });
|
|
38
|
+
return { error: null, vaultPath: resolved };
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
if (err instanceof NotAnObsidianVaultError || err instanceof VaultNotAllowedError) {
|
|
42
|
+
return { error: text(err.message) };
|
|
43
|
+
}
|
|
44
|
+
throw err;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
14
47
|
server.tool('scan_vault', 'Obsidian vaultを走査してインベントリ要約を返す。副作用なし(読み取りのみ)。', { vaultPath: z.string().describe('Obsidian vaultの絶対パス') }, async ({ vaultPath }) => {
|
|
15
|
-
const
|
|
48
|
+
const guard = await guardVaultPath(vaultPath);
|
|
49
|
+
if (guard.error)
|
|
50
|
+
return guard.error;
|
|
51
|
+
const inventory = await scanVault(guard.vaultPath);
|
|
16
52
|
const summary = {
|
|
17
53
|
vaultPath: inventory.vaultPath,
|
|
18
54
|
noteCount: inventory.notes.length,
|
|
@@ -29,7 +65,10 @@ server.tool('get_plan', '現在の移行計画を返す。存在しなければ
|
|
|
29
65
|
vaultPath: z.string().describe('Obsidian vaultの絶対パス'),
|
|
30
66
|
parentPageId: z.string().optional().describe('移行先のNotion親ページID(未指定なら既存計画の値を使う)'),
|
|
31
67
|
}, async ({ vaultPath, parentPageId }) => {
|
|
32
|
-
const
|
|
68
|
+
const guard = await guardVaultPath(vaultPath);
|
|
69
|
+
if (guard.error)
|
|
70
|
+
return guard.error;
|
|
71
|
+
const plan = await loadOrCreatePlan(guard.vaultPath, parentPageId);
|
|
33
72
|
return text(JSON.stringify(plan, null, 2));
|
|
34
73
|
});
|
|
35
74
|
const folderPlanSchema = z.object({
|
|
@@ -37,36 +76,76 @@ const folderPlanSchema = z.object({
|
|
|
37
76
|
mode: z.enum(['page_tree', 'database']),
|
|
38
77
|
suggestionReason: z.string().optional(),
|
|
39
78
|
});
|
|
40
|
-
server.tool('update_plan', '移行計画を部分更新する(folders・parentPageId・skipListなど)。', {
|
|
79
|
+
server.tool('update_plan', '移行計画を部分更新する(folders・parentPageId・skipListなど)。O2N_ENABLE_MCP_WRITE=1 と確認トークンが必要。', {
|
|
41
80
|
vaultPath: z.string().describe('Obsidian vaultの絶対パス'),
|
|
42
81
|
patch: z
|
|
43
82
|
.object({
|
|
44
83
|
parentPageId: z.string().optional(),
|
|
45
84
|
folders: z.array(folderPlanSchema).optional(),
|
|
46
85
|
skipList: z.array(z.string()).optional(),
|
|
86
|
+
confirmationToken: z.string().optional(),
|
|
47
87
|
})
|
|
48
88
|
.describe('計画への部分更新'),
|
|
49
89
|
}, async ({ vaultPath, patch }) => {
|
|
50
|
-
const
|
|
90
|
+
const guard = await guardVaultPath(vaultPath);
|
|
91
|
+
if (guard.error)
|
|
92
|
+
return guard.error;
|
|
93
|
+
if (!mcpWriteEnabled())
|
|
94
|
+
return text('MCPからの計画更新は無効です。O2N_ENABLE_MCP_WRITE=1 を設定してください。');
|
|
95
|
+
if (!patch.confirmationToken || !writeTokenMatches(patch.confirmationToken))
|
|
96
|
+
return text('confirmationToken が一致しないため、計画更新を拒否しました。');
|
|
97
|
+
const plan = await loadOrCreatePlan(guard.vaultPath);
|
|
51
98
|
if (patch.parentPageId)
|
|
52
99
|
plan.parentPageId = patch.parentPageId;
|
|
53
100
|
if (patch.folders)
|
|
54
101
|
plan.folders = patch.folders;
|
|
55
102
|
if (patch.skipList)
|
|
56
103
|
plan.skipList = patch.skipList;
|
|
57
|
-
await savePlan(vaultPath, plan);
|
|
104
|
+
await savePlan(guard.vaultPath, plan);
|
|
58
105
|
return text(JSON.stringify(plan, null, 2));
|
|
59
106
|
});
|
|
60
|
-
server.tool('
|
|
61
|
-
'明示的な確認を得ること。ユーザーの明示的な確認なしに呼び出さないこと。進捗は migration_status で確認する。', {
|
|
107
|
+
server.tool('prepare_migration', '移行内容を固定し、commit_migrationで使用するrequestIdを返す。ここではNotionへの書き込みを開始しない。', {
|
|
62
108
|
vaultPath: z.string().describe('Obsidian vaultの絶対パス'),
|
|
63
109
|
parentPageId: z.string().describe('移行先のNotion親ページID'),
|
|
64
|
-
dryRun: z.boolean().default(
|
|
110
|
+
dryRun: z.boolean().default(true).describe('trueの場合、書き込みAPIを呼ばずシミュレーションのみ行う'),
|
|
65
111
|
}, async ({ vaultPath, parentPageId, dryRun }) => {
|
|
66
|
-
const
|
|
112
|
+
const guard = await guardVaultPath(vaultPath);
|
|
113
|
+
if (guard.error)
|
|
114
|
+
return guard.error;
|
|
115
|
+
const resolved = guard.vaultPath;
|
|
116
|
+
if (!dryRun && !mcpWriteEnabled()) {
|
|
117
|
+
return text('MCPからの本実行は無効です。O2N_ENABLE_MCP_WRITE=1 と O2N_MCP_WRITE_TOKEN を設定し、commit_migrationで確認トークンを渡してください。');
|
|
118
|
+
}
|
|
119
|
+
const inventory = await scanVault(resolved);
|
|
120
|
+
const plan = await loadOrCreatePlan(resolved, parentPageId);
|
|
121
|
+
const request = {
|
|
122
|
+
requestId: crypto.randomUUID(),
|
|
123
|
+
vaultPath: resolved,
|
|
124
|
+
parentPageId: plan.parentPageId,
|
|
125
|
+
planHash: planHash(plan),
|
|
126
|
+
noteCount: inventory.notes.length,
|
|
127
|
+
attachmentCount: inventory.attachments.length,
|
|
128
|
+
dryRun,
|
|
129
|
+
createdAt: Date.now(),
|
|
130
|
+
};
|
|
131
|
+
preparedMigrations.set(request.requestId, request);
|
|
132
|
+
return text(JSON.stringify({
|
|
133
|
+
requestId: request.requestId,
|
|
134
|
+
vaultPath: request.vaultPath,
|
|
135
|
+
parentPageId: request.parentPageId,
|
|
136
|
+
dryRun: request.dryRun,
|
|
137
|
+
noteCount: request.noteCount,
|
|
138
|
+
attachmentCount: request.attachmentCount,
|
|
139
|
+
planHash: request.planHash,
|
|
140
|
+
commitInstructions: dryRun
|
|
141
|
+
? 'commit_migration に requestId を渡すとdry-runを開始します。'
|
|
142
|
+
: '本実行には O2N_ENABLE_MCP_WRITE=1 と O2N_MCP_WRITE_TOKEN に一致する confirmationToken が必要です。',
|
|
143
|
+
}, null, 2));
|
|
144
|
+
});
|
|
145
|
+
async function startMigrationJob(resolved, parentPageId, dryRun) {
|
|
67
146
|
const existing = getJob(resolved);
|
|
68
147
|
if (existing?.status === 'running') {
|
|
69
|
-
return
|
|
148
|
+
return `既に移行が実行中です(進捗 ${existing.done}/${existing.total})。migration_status で確認してください。`;
|
|
70
149
|
}
|
|
71
150
|
const inventory = await scanVault(resolved);
|
|
72
151
|
const plan = await loadOrCreatePlan(resolved, parentPageId);
|
|
@@ -79,7 +158,14 @@ server.tool('start_migration', '移行を開始する(バックグラウンド
|
|
|
79
158
|
throw new Error('Notionと連携されていません。CLIで `o2n login` を実行するか、NOTION_TOKEN を設定してください。');
|
|
80
159
|
const client = new NotionClient({ token, dryRun });
|
|
81
160
|
const api = new NotionApi(client);
|
|
82
|
-
const
|
|
161
|
+
const me = dryRun ? undefined : await api.getMe();
|
|
162
|
+
const state = await StateStore.load(resolved, plan.parentPageId, {
|
|
163
|
+
readOnly: dryRun,
|
|
164
|
+
planHash: planHash(plan),
|
|
165
|
+
notionWorkspaceId: dryRun ? undefined : (me?.bot?.workspace_name ?? 'unknown-workspace'),
|
|
166
|
+
notionBotId: dryRun ? undefined : (me?.id ?? 'unknown-bot'),
|
|
167
|
+
allowUnsignedState: false,
|
|
168
|
+
});
|
|
83
169
|
const entries = await runMigration({
|
|
84
170
|
vaultPath: resolved,
|
|
85
171
|
plan,
|
|
@@ -114,16 +200,52 @@ server.tool('start_migration', '移行を開始する(バックグラウンド
|
|
|
114
200
|
});
|
|
115
201
|
}
|
|
116
202
|
})();
|
|
117
|
-
return
|
|
203
|
+
return (`移行を開始しました(${dryRun ? 'dry-run' : '本実行'})。対象: ${inventory.notes.length}ノート・${inventory.attachments.length}添付。` +
|
|
118
204
|
`推定所要時間: 約${Math.ceil(estimateSeconds / 60)}分。migration_status で進捗を確認してください。`);
|
|
205
|
+
}
|
|
206
|
+
server.tool('commit_migration', 'prepare_migrationで固定した内容を実行する。dry-run以外はO2N_MCP_WRITE_TOKENと一致するconfirmationTokenが必須。', {
|
|
207
|
+
requestId: z.string().describe('prepare_migrationが返したrequestId'),
|
|
208
|
+
confirmationToken: z.string().optional().describe('本実行時にO2N_MCP_WRITE_TOKENと一致している必要がある確認トークン'),
|
|
209
|
+
}, async ({ requestId, confirmationToken }) => {
|
|
210
|
+
const prepared = preparedMigrations.get(requestId);
|
|
211
|
+
if (!prepared)
|
|
212
|
+
return text('requestId が見つかりません。prepare_migration をやり直してください。');
|
|
213
|
+
if (Date.now() - prepared.createdAt > PREPARE_TTL_MS) {
|
|
214
|
+
preparedMigrations.delete(requestId);
|
|
215
|
+
return text('requestId の有効期限が切れました。prepare_migration をやり直してください。');
|
|
216
|
+
}
|
|
217
|
+
if (!prepared.dryRun) {
|
|
218
|
+
if (!mcpWriteEnabled())
|
|
219
|
+
return text('MCPからの本実行は無効です。O2N_ENABLE_MCP_WRITE=1 を設定してください。');
|
|
220
|
+
if (!confirmationToken || !writeTokenMatches(confirmationToken))
|
|
221
|
+
return text('confirmationToken が一致しないため、本実行を拒否しました。');
|
|
222
|
+
}
|
|
223
|
+
const inventory = await scanVault(prepared.vaultPath);
|
|
224
|
+
const plan = await loadOrCreatePlan(prepared.vaultPath, prepared.parentPageId);
|
|
225
|
+
if (planHash(plan) !== prepared.planHash || inventory.notes.length !== prepared.noteCount || inventory.attachments.length !== prepared.attachmentCount) {
|
|
226
|
+
preparedMigrations.delete(requestId);
|
|
227
|
+
return text('prepare_migration後に計画またはvault内容が変わったため、実行を拒否しました。prepare_migrationをやり直してください。');
|
|
228
|
+
}
|
|
229
|
+
preparedMigrations.delete(requestId);
|
|
230
|
+
return text(await startMigrationJob(prepared.vaultPath, prepared.parentPageId, prepared.dryRun));
|
|
231
|
+
});
|
|
232
|
+
server.tool('start_migration', '廃止済み。安全な2段階フローの prepare_migration → commit_migration を使用してください。', {
|
|
233
|
+
vaultPath: z.string().describe('Obsidian vaultの絶対パス'),
|
|
234
|
+
parentPageId: z.string().describe('移行先のNotion親ページID'),
|
|
235
|
+
dryRun: z.boolean().default(true).describe('互換性のための引数。実行はされません。'),
|
|
236
|
+
}, async () => {
|
|
237
|
+
return text('start_migration は安全上の理由で無効化されました。prepare_migration で内容を固定し、commit_migration で実行してください。');
|
|
119
238
|
});
|
|
120
239
|
server.tool('migration_status', '進行中/完了した移行の進捗(done / failed / pending件数、現在のパス)を返す。', { vaultPath: z.string().describe('Obsidian vaultの絶対パス') }, async ({ vaultPath }) => {
|
|
121
|
-
const
|
|
240
|
+
const guard = await guardVaultPath(vaultPath);
|
|
241
|
+
if (guard.error)
|
|
242
|
+
return guard.error;
|
|
243
|
+
const resolved = guard.vaultPath;
|
|
122
244
|
const job = getJob(resolved);
|
|
123
245
|
let stateSummary = {};
|
|
124
246
|
try {
|
|
125
247
|
const raw = await fs.readFile(statePath(resolved), 'utf-8');
|
|
126
|
-
const state = JSON.parse(raw);
|
|
248
|
+
const state = parseStateFile(JSON.parse(raw));
|
|
127
249
|
stateSummary = Object.values(state.notes).reduce((acc, n) => {
|
|
128
250
|
acc[n.status] = (acc[n.status] ?? 0) + 1;
|
|
129
251
|
return acc;
|
|
@@ -135,8 +257,11 @@ server.tool('migration_status', '進行中/完了した移行の進捗(done /
|
|
|
135
257
|
return text(JSON.stringify({ job: job ?? { status: 'not_started' }, noteStatusCounts: stateSummary }, null, 2));
|
|
136
258
|
});
|
|
137
259
|
server.tool('get_report', 'レポート(.o2n/report.md)の内容を返す。', { vaultPath: z.string().describe('Obsidian vaultの絶対パス') }, async ({ vaultPath }) => {
|
|
260
|
+
const guard = await guardVaultPath(vaultPath);
|
|
261
|
+
if (guard.error)
|
|
262
|
+
return guard.error;
|
|
138
263
|
try {
|
|
139
|
-
const content = await fs.readFile(reportPath(vaultPath), 'utf-8');
|
|
264
|
+
const content = await fs.readFile(reportPath(guard.vaultPath), 'utf-8');
|
|
140
265
|
return text(content);
|
|
141
266
|
}
|
|
142
267
|
catch {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/plan-store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-store.d.ts","sourceRoot":"","sources":["../src/plan-store.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"plan-store.d.ts","sourceRoot":"","sources":["../src/plan-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4C,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMhG,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAYvG;AAED,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpF"}
|
package/dist/plan-store.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { promises as fs } from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { scanVault, buildPlan } from '@tk_wfl/o2n-core';
|
|
3
|
+
import { scanVault, buildPlan, parseMigrationPlan } from '@tk_wfl/o2n-core';
|
|
4
4
|
function planPath(vaultPath) {
|
|
5
5
|
return path.join(vaultPath, '.o2n', 'plan.json');
|
|
6
6
|
}
|
|
7
7
|
export async function loadOrCreatePlan(vaultPath, parentPageId) {
|
|
8
8
|
try {
|
|
9
9
|
const raw = await fs.readFile(planPath(vaultPath), 'utf-8');
|
|
10
|
-
const plan = JSON.parse(raw);
|
|
10
|
+
const plan = parseMigrationPlan(JSON.parse(raw));
|
|
11
11
|
if (parentPageId)
|
|
12
12
|
plan.parentPageId = parentPageId;
|
|
13
13
|
return plan;
|
package/dist/plan-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-store.js","sourceRoot":"","sources":["../src/plan-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAsB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"plan-store.js","sourceRoot":"","sources":["../src/plan-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAsB,MAAM,kBAAkB,CAAC;AAEhG,SAAS,QAAQ,CAAC,SAAiB;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB,EAAE,YAAqB;IAC7E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC;QACxE,MAAM,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAiB,EAAE,IAAmB;IACnE,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tk_wfl/o2n-mcp-server",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "o2n(Obsidian→Notion移行ツール)のローカルMCPサーバー",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
"dist"
|
|
26
26
|
],
|
|
27
27
|
"publishConfig": {
|
|
28
|
-
"access": "public"
|
|
28
|
+
"access": "public",
|
|
29
|
+
"provenance": true
|
|
29
30
|
},
|
|
30
31
|
"scripts": {
|
|
31
32
|
"build": "tsc -p tsconfig.json && chmod +x dist/index.js",
|
|
@@ -33,7 +34,7 @@
|
|
|
33
34
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
34
35
|
},
|
|
35
36
|
"dependencies": {
|
|
36
|
-
"@tk_wfl/o2n-core": "^0.
|
|
37
|
+
"@tk_wfl/o2n-core": "^0.2.0",
|
|
37
38
|
"@modelcontextprotocol/sdk": "^1.9.0",
|
|
38
39
|
"zod": "^4.4.3"
|
|
39
40
|
},
|