import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
import { z, ZodTypeAny } from "zod";
import { zodToJsonSchema } from "zod-to-json-schema";
import type { FirebaseMcpServer } from "./index";
import { Config } from "../config";
import { RC } from "../rc";
import { cleanSchema } from "./util";
export interface ServerToolContext {
projectId: string;
accountEmail: string | null;
config: Config;
host: FirebaseMcpServer;
rc: RC;
}
export interface ServerTool<InputSchema extends ZodTypeAny = ZodTypeAny> {
mcp: {
name: string;
description?: string;
inputSchema: any;
annotations?: {
title?: string;
// If this tool modifies data or not.
readOnlyHint?: boolean;
// this tool can destroy data.
destructiveHint?: boolean;
// this tool is safe to run multiple times.
idempotentHint?: boolean;
}
}
}
About Us