Spaces:
Runtime error
Runtime error
| from mcp.server.fastmcp import FastMCP | |
| from ebook_agent.tools import EbookAgentTools | |
| import os | |
| from dotenv import load_dotenv | |
| from typing import Optional | |
| # Load environment variables | |
| load_dotenv() | |
| # Initialize FastMCP | |
| mcp = FastMCP("Ebook-Builder") | |
| # Initialize Tools | |
| agent_tools = EbookAgentTools() | |
| def outline_ebook(topic: str, genre: str) -> str: | |
| """ | |
| Generate a table of contents and outline for an ebook. | |
| Args: | |
| topic: The main theme or subject of the book. | |
| genre: The literary genre (e.g., Sci-Fi, Mystery, Non-fiction). | |
| """ | |
| return agent_tools.create_book_outline(topic, genre) | |
| def write_chapter(title: str, context: str) -> str: | |
| """ | |
| Draft a complete chapter for the ebook. | |
| Args: | |
| title: The title of the chapter. | |
| context: Background information or a summary of what happens in the chapter. | |
| """ | |
| return agent_tools.write_book_chapter(title, context) | |
| def generate_cover(title: str, genre: str, description: str) -> str: | |
| """ | |
| Generate a professional cover image for the ebook. | |
| Args: | |
| title: The title of the book. | |
| genre: The genre of the book. | |
| description: A visual description for the cover art. | |
| """ | |
| return agent_tools.create_book_cover(title, genre, description) | |
| def compile_ebook(title: str, author: str, chapters_json: str, cover_path: Optional[str] = None) -> str: | |
| """ | |
| Assembles the generated chapters and cover into a final EPUB file. | |
| Args: | |
| title: The title of the book. | |
| author: The author's name. | |
| chapters_json: A JSON string containing a list of chapters (e.g., '[{"title": "Chap 1", "content": "..."}]'). | |
| cover_path: Optional path to the cover image file. | |
| """ | |
| return agent_tools.build_final_ebook(title, author, chapters_json, cover_path) | |
| def main(): | |
| mcp.run() | |
| if __name__ == "__main__": | |
| main() | |