check_scihub_mirrors
Verify the operational status of Sci-Hub mirror sites to identify accessible sources for academic paper retrieval.
Instructions
Check the health status of all Sci-Hub mirror sites
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| forceCheck | No | Force a fresh health check even if recent data exists |
Implementation Reference
- src/mcp/handleToolCall.ts:315-323 (handler)The handler implementation for the 'check_scihub_mirrors' tool. It destructures the 'forceCheck' argument, optionally calls forceHealthCheck on the Sci-Hub searcher if true, retrieves the mirror status, and returns it as a JSON-formatted text response.case 'check_scihub_mirrors': { const { forceCheck } = args; if (forceCheck) { await searchers.scihub.forceHealthCheck(); } const mirrorStatus = searchers.scihub.getMirrorStatus(); return jsonTextResponse(`Sci-Hub Mirror Status:\n\n${JSON.stringify(mirrorStatus, null, 2)}`); }
- src/mcp/schemas.ts:142-146 (schema)Zod schema defining the input structure for the 'check_scihub_mirrors' tool, with an optional 'forceCheck' boolean parameter.export const CheckSciHubMirrorsSchema = z .object({ forceCheck: z.boolean().optional().default(false) }) .strip();
- src/mcp/tools.ts:338-351 (registration)Tool registration entry in the TOOLS array, defining the name, description, and input schema for 'check_scihub_mirrors'.{ name: 'check_scihub_mirrors', description: 'Check the health status of all Sci-Hub mirror sites', inputSchema: { type: 'object', properties: { forceCheck: { type: 'boolean', description: 'Force a fresh health check even if recent data exists', default: false } } } },
- src/mcp/schemas.ts:256-257 (schema)Switch case in parseToolArgs function that uses the CheckSciHubMirrorsSchema to validate tool arguments.case 'check_scihub_mirrors': return CheckSciHubMirrorsSchema.parse(args);
- src/mcp/schemas.ts:222-222 (registration)Inclusion of 'check_scihub_mirrors' in the ToolName type union.| 'check_scihub_mirrors'