get-test-membership-notes
Retrieve test membership article lists using dummy data to verify integration with note.com's membership features.
Instructions
テスト用:メンバーシップの記事一覧をダミーデータで取得する
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| membershipKey | Yes | メンバーシップキー(例: dummy-key-1) | |
| page | No | ページ番号 | |
| perPage | No | ページあたりの記事数 |
Implementation Reference
- src/tools/membership-tools.ts:264-306 (handler)Handler function for the 'get-test-membership-notes' tool. Generates and returns dummy pagination-based membership notes data for testing, without calling any external API.async ({ membershipKey, page, perPage }) => { try { const membershipData = { id: "membership-id", key: membershipKey, name: `テストメンバーシップ (${membershipKey})`, description: "これはテスト用のメンバーシップ説明です。", creatorName: "テストクリエイター", price: 500, memberCount: 100, notesCount: 30 }; const dummyNotes = []; const startIndex = (page - 1) * perPage; const endIndex = startIndex + perPage; const totalNotes = 30; for (let i = startIndex; i < Math.min(endIndex, totalNotes); i++) { dummyNotes.push({ id: `note-${i + 1}`, title: `テスト記事 ${i + 1}`, excerpt: `これはテスト記事 ${i + 1} の要約です。メンバーシップ限定コンテンツとなります。`, publishedAt: new Date(2025, 0, i + 1).toISOString(), likesCount: Math.floor(Math.random() * 100), commentsCount: Math.floor(Math.random() * 20), user: "テストクリエイター", url: `https://note.com/test-creator/n/n${i + 1}`, isMembersOnly: true }); } return createSuccessResponse({ total: totalNotes, page: page, perPage: perPage, membership: membershipData, notes: dummyNotes }); } catch (error) { return handleApiError(error, "メンバーシップ記事取得"); } }
- Input schema validation using Zod for the 'get-test-membership-notes' tool parameters: membershipKey (required string), page (number, default 1), perPage (number, default 20).{ membershipKey: z.string().describe("メンバーシップキー(例: dummy-key-1)"), page: z.number().default(1).describe("ページ番号"), perPage: z.number().default(20).describe("ページあたりの記事数"),
- src/tools/membership-tools.ts:256-257 (registration)Registration of the 'get-test-membership-notes' tool on the MCP server within the registerMembershipTools function.server.tool( "get-test-membership-notes",