search-users
Find users on note.com by entering search keywords to locate specific members or discover new content creators within the platform.
Instructions
ユーザーを検索する
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 検索キーワード | |
| size | No | 取得する件数(最大20) | |
| start | No | 検索結果の開始位置 |
Implementation Reference
- src/tools/search-tools.ts:120-145 (registration)Primary registration of the 'search-users' MCP tool on the McpServer instance. Includes inline Zod input schema definition and the complete async handler function that executes the tool logic by querying the note.com /v3/searches API (context=user), safely extracting and formatting user data, and returning a structured success response.server.tool( "search-users", "ユーザーを検索する", { query: z.string().describe("検索キーワード"), size: z.number().default(10).describe("取得する件数(最大20)"), start: z.number().default(0).describe("検索結果の開始位置"), }, async ({ query, size, start }) => { try { const data = await noteApiRequest(`/v3/searches?context=user&q=${encodeURIComponent(query)}&size=${size}&start=${start}`); const usersArray = safeExtractData(data, commonExtractors.users); const totalCount = safeExtractTotal(data, usersArray.length); const formattedUsers = usersArray.map((user: any) => formatUser(user)); return createSuccessResponse({ total: totalCount, users: formattedUsers }); } catch (error) { return handleApiError(error, "ユーザー検索"); } } );
- src/tools/search-tools.ts:128-144 (handler)Core execution logic (handler function) for the search-users tool: performs API request to note.com searches endpoint with user context, processes response using safeExtractData, formats users via formatUser helper, computes total count, and returns formatted results or handles errors.async ({ query, size, start }) => { try { const data = await noteApiRequest(`/v3/searches?context=user&q=${encodeURIComponent(query)}&size=${size}&start=${start}`); const usersArray = safeExtractData(data, commonExtractors.users); const totalCount = safeExtractTotal(data, usersArray.length); const formattedUsers = usersArray.map((user: any) => formatUser(user)); return createSuccessResponse({ total: totalCount, users: formattedUsers }); } catch (error) { return handleApiError(error, "ユーザー検索"); } }
- src/tools/search-tools.ts:123-127 (schema)Zod-based input schema for search-users tool parameters: query (required string), size (optional number, default 10), start (optional number, default 0).{ query: z.string().describe("検索キーワード"), size: z.number().default(10).describe("取得する件数(最大20)"), start: z.number().default(0).describe("検索結果の開始位置"), },
- src/tools/index.ts:12-19 (registration)Top-level registration aggregator that invokes registerSearchTools(server), which registers the search-users tool among others. Called from main server files.export function registerAllTools(server: McpServer): void { // 各カテゴリのツールを登録 registerSearchTools(server); registerNoteTools(server); registerUserTools(server); registerMembershipTools(server); registerMagazineTools(server); }
- src/note-mcp-server-http.ts:722-739 (handler)Fallback/simpler handler for search-users in HTTP/SSE transport layer: directly dispatches API call and returns raw JSON response (no formatting or extraction). Used when tools/call is invoked over HTTP.} else if (name === "search-users") { // search-usersツールの実装 const { query, size = 10 } = args; const data = await noteApiRequest( `/v3/searches?context=user&q=${encodeURIComponent(query)}&size=${size}`, "GET", null, true ); result = { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };