@ankimcp/anki-mcp-server
Version:
Model Context Protocol server for Anki - enables AI assistants to interact with your Anki flashcards
139 lines (138 loc) • 4.54 kB
TypeScript
import { z } from "zod";
import { AnkiConnectClient } from "../../../clients/anki-connect.client.js";
import { SimplifiedCard } from "../../../types/anki.types.js";
declare const CardStateEnum: z.ZodEnum<{
due: "due";
new: "new";
learning: "learning";
suspended: "suspended";
buried: "buried";
}>;
type CardState = z.infer<typeof CardStateEnum>;
export declare class GetCardsTool {
private readonly ankiClient;
private readonly logger;
constructor(ankiClient: AnkiConnectClient);
getCards({ deck_name, card_state, limit, include_answer, }: {
deck_name?: string;
card_state?: CardState;
limit?: number;
include_answer?: boolean;
}): Promise<{
[x: string]: unknown;
content: ({
type: "text";
text: string;
annotations?: {
audience?: ("user" | "assistant")[] | undefined;
priority?: number | undefined;
lastModified?: string | undefined;
} | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
type: "image";
data: string;
mimeType: string;
annotations?: {
audience?: ("user" | "assistant")[] | undefined;
priority?: number | undefined;
lastModified?: string | undefined;
} | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
type: "audio";
data: string;
mimeType: string;
annotations?: {
audience?: ("user" | "assistant")[] | undefined;
priority?: number | undefined;
lastModified?: string | undefined;
} | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
uri: string;
name: string;
type: "resource_link";
description?: string | undefined;
mimeType?: string | undefined;
size?: number | undefined;
annotations?: {
audience?: ("user" | "assistant")[] | undefined;
priority?: number | undefined;
lastModified?: string | undefined;
} | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
icons?: {
src: string;
mimeType?: string | undefined;
sizes?: string[] | undefined;
theme?: "light" | "dark" | undefined;
}[] | undefined;
title?: string | undefined;
} | {
type: "resource";
resource: {
uri: string;
text: string;
mimeType?: string | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
uri: string;
blob: string;
mimeType?: string | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
};
annotations?: {
audience?: ("user" | "assistant")[] | undefined;
priority?: number | undefined;
lastModified?: string | undefined;
} | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
})[];
_meta?: {
[x: string]: unknown;
"io.modelcontextprotocol/serverInfo"?: {
version: string;
name: string;
websiteUrl?: string | undefined;
description?: string | undefined;
icons?: {
src: string;
mimeType?: string | undefined;
sizes?: string[] | undefined;
theme?: "light" | "dark" | undefined;
}[] | undefined;
title?: string | undefined;
} | undefined;
} | undefined;
structuredContent?: unknown;
isError?: boolean | undefined;
} | {
success: boolean;
message: string;
cards: never[];
total: number;
returned?: undefined;
} | {
success: boolean;
cards: SimplifiedCard[];
total: number;
returned: number;
message: string;
}>;
}
export {};