Blogger MCP Server

by niyonabil
Verified
import { blogger_v3 } from 'googleapis'; import { BloggerBlog, BloggerPost, BloggerLabel } from './types'; /** * Types personnalisés pour compenser les limitations de l'API Blogger */ interface BloggerLabelList { kind?: string; items?: BloggerLabel[]; } /** * Service d'interaction avec l'API Blogger de Google */ export declare class BloggerService { private blogger; /** * Initialise le service Blogger avec l'API key */ constructor(); /** * Liste tous les blogs accessibles * @returns Liste des blogs */ listBlogs(): Promise<blogger_v3.Schema$BlogList>; /** * Récupère les détails d'un blog spécifique * @param blogId ID du blog à récupérer * @returns Détails du blog */ getBlog(blogId: string): Promise<blogger_v3.Schema$Blog>; /** * Simule la création d'un nouveau blog * Note: L'API Blogger ne permet pas réellement de créer un blog via API * Cette méthode simule la fonctionnalité et retourne un message d'erreur explicatif * * @param blogData Données du blog à créer * @returns Message d'erreur explicatif */ createBlog(blogData: Partial<BloggerBlog>): Promise<any>; /** * Liste les posts d'un blog * @param blogId ID du blog * @param maxResults Nombre maximum de résultats à retourner * @returns Liste des posts */ listPosts(blogId: string, maxResults?: number): Promise<blogger_v3.Schema$PostList>; /** * Recherche des posts dans un blog * @param blogId ID du blog * @param query Terme de recherche * @param maxResults Nombre maximum de résultats à retourner * @returns Liste des posts correspondants */ searchPosts(blogId: string, query: string, maxResults?: number): Promise<blogger_v3.Schema$PostList>; /** * Récupère un post spécifique * @param blogId ID du blog * @param postId ID du post * @returns Détails du post */ getPost(blogId: string, postId: string): Promise<blogger_v3.Schema$Post>; /** * Crée un nouveau post dans un blog * @param blogId ID du blog * @param postData Données du post à créer * @returns Post créé */ createPost(blogId: string, postData: Partial<BloggerPost>): Promise<blogger_v3.Schema$Post>; /** * Met à jour un post existant * @param blogId ID du blog * @param postId ID du post * @param postData Données du post à mettre à jour * @returns Post mis à jour */ updatePost(blogId: string, postId: string, postData: Partial<BloggerPost>): Promise<blogger_v3.Schema$Post>; /** * Supprime un post * @param blogId ID du blog * @param postId ID du post * @returns Statut de la suppression */ deletePost(blogId: string, postId: string): Promise<void>; /** * Liste les labels d'un blog * @param blogId ID du blog * @returns Liste des labels */ listLabels(blogId: string): Promise<BloggerLabelList>; /** * Récupère un label spécifique * @param blogId ID du blog * @param labelName Nom du label * @returns Détails du label */ getLabel(blogId: string, labelName: string): Promise<BloggerLabel>; } export {};