from fastmcp import FastMCP
from fastmcp.prompts.prompt import Prompt
from fastmcp.resources.resource import FunctionResource
from fastmcp.tools.tool import FunctionTool
from prompts.sales_prompts import sales_summary_prompt
from resources.sales_resources import list_quarters
from tools.sales_tools import get_total_sales
mcp = FastMCP("sales_server")
# Wrap plain functions into FastMCP Tool/Resource/Prompt objects before adding.
mcp.add_tool(FunctionTool.from_function(get_total_sales))
mcp.add_resource(FunctionResource.from_function(list_quarters, uri="resource://sales/quarters"))
mcp.add_prompt(Prompt.from_function(sales_summary_prompt))
if __name__ == "__main__":
mcp.run(transport="stdio")