get_comics
Retrieve lists of Marvel comics based on customizable filters such as characters, creators, events, and publication details. Ideal for managing and accessing comic data efficiently.
Instructions
Fetches lists of Marvel comics with optional filters
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| characters | No | ||
| collaborators | No | ||
| creators | No | ||
| dateDescriptor | No | ||
| dateRange | No | ||
| diamondCode | No | ||
| digitalId | No | ||
| ean | No | ||
| events | No | ||
| format | No | ||
| formatType | No | ||
| hasDigitalIssue | No | ||
| isbn | No | ||
| issn | No | ||
| issueNumber | No | ||
| limit | No | ||
| modifiedSince | No | ||
| noVariants | No | ||
| offset | No | ||
| orderBy | No | ||
| series | No | ||
| sharedAppearances | No | ||
| startYear | No | ||
| stories | No | ||
| title | No | ||
| titleStartsWith | No | ||
| upc | No |
Implementation Reference
- src/tools/get_comics/index.ts:9-13 (handler)Executes the get_comics tool: parses args, queries Marvel API /comics endpoint with optional filters, returns parsed comic data wrapper.handler: async (args: any) => { const argsParsed = GetComicsSchema.parse(args); const res = await httpRequest(`/comics`, serializeQueryParams(argsParsed)); return ComicDataWrapperSchema.parse(res); }
- src/tools/get_comics/schemas.ts:4-32 (schema)Input schema (Zod) for get_comics tool, defining all optional query parameters for filtering Marvel comics.export const GetComicsSchema = z.object({ format: z.string().optional(), formatType: z.string().optional(), noVariants: z.boolean().optional(), dateDescriptor: z.string().optional(), dateRange: z.string().optional(), title: z.string().optional(), titleStartsWith: z.string().optional(), startYear: z.number().optional(), issueNumber: z.number().optional(), diamondCode: z.string().optional(), digitalId: z.number().optional(), upc: z.string().optional(), isbn: z.string().optional(), ean: z.string().optional(), issn: z.string().optional(), hasDigitalIssue: z.boolean().optional(), modifiedSince: z.string().optional(), creators: z.string().optional(), characters: z.string().optional(), series: z.string().optional(), events: z.string().optional(), stories: z.string().optional(), sharedAppearances: z.string().optional(), collaborators: z.string().optional(), orderBy: z.string().optional(), limit: z.number().min(1).max(100).optional(), offset: z.number().optional(), });
- src/tools/get_comics/index.ts:6-14 (registration)Tool definition and registration export for get_comics, including description, input schema reference, and handler function.export const get_comics = { description: `Fetches lists of Marvel comics with optional filters.`, schema: GetComicsSchema, handler: async (args: any) => { const argsParsed = GetComicsSchema.parse(args); const res = await httpRequest(`/comics`, serializeQueryParams(argsParsed)); return ComicDataWrapperSchema.parse(res); } };
- src/tools/schemas.ts:180-188 (schema)Shared output schema used by get_comics handler to parse the Marvel API response for comic lists.export const ComicDataWrapperSchema = z.object({ code: z.number(), status: z.string(), copyright: z.string(), attributionText: z.string(), attributionHTML: z.string(), data: ComicDataContainerSchema, etag: z.string(), });