Skip to main content
Glama

get-test-membership-notes

Retrieve dummy membership article data from note.com for testing purposes. Specify membership key, page number, and articles per page to generate test content.

Instructions

テスト用:メンバーシップの記事一覧をダミーデータで取得する

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
membershipKeyYesメンバーシップキー(例: dummy-key-1)
pageNoページ番号
perPageNoページあたりの記事数

Implementation Reference

  • Handler function for the 'get-test-membership-notes' tool. It generates dummy data for membership information and paginated notes list.
    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, "メンバーシップ記事取得");
      }
    }
  • Zod schema defining the input parameters for the 'get-test-membership-notes' tool: membershipKey (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("ページあたりの記事数"),
    },
  • Registration of the 'get-test-membership-notes' tool using server.tool(), including name, description, input schema, and handler function.
    server.tool(
      "get-test-membership-notes",
      "テスト用:メンバーシップの記事一覧をダミーデータで取得する",
      {
        membershipKey: z.string().describe("メンバーシップキー(例: dummy-key-1)"),
        page: z.number().default(1).describe("ページ番号"),
        perPage: z.number().default(20).describe("ページあたりの記事数"),
      },
      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, "メンバーシップ記事取得");
        }
      }
    );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shimayuz/note-com-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server