sch_search
Search scholarly research papers and academic publications to find relevant studies and citations for research projects.
Instructions
Alias of sch.search
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| top | No | ||
| limit | No |
Implementation Reference
- src/tools/scholar.ts:70-77 (handler)Core handler function implementing academic search by aggregating arXiv, Crossref, and Wikipedia results.export async function schSearch(q: string, top = 5) { const [ax, cr, wiki] = await Promise.all([ arxivSearch(q, top), crossrefSearch(q, top), wikiSearch(q, 'en', top) ]); return [...ax, ...cr, ...wiki].slice(0, top * 2); }
- src/server.ts:159-159 (schema)Zod schema for input parameters of sch_search: query 'q', optional 'top' and 'limit'.const schSearchShape = { q: z.string(), top: z.number().int().optional(), limit: z.number().int().optional() };
- src/server.ts:167-173 (registration)MCP server registration for the 'sch_search' tool (alias), calling schSearch handler.server.tool('sch_search', 'Alias of sch.search', schSearchShape, OPEN, async ({ q, top, limit }) => { const res = await schSearch(q, top ?? limit ?? 5); return { content: [{ type: 'text', text: JSON.stringify(res) }] }; } );
- src/server.ts:160-166 (registration)Primary MCP server registration for the related 'sch.search' tool.server.tool('sch.search', 'Academic-first search (arXiv + Crossref + Wikipedia).', schSearchShape, OPEN, async ({ q, top, limit }) => { const res = await schSearch(q, top ?? limit ?? 5); return { content: [{ type: 'text', text: JSON.stringify(res) }] }; } );