tako_mcp.py
import os

from mcp.server.fastmcp import FastMCP
from tako.client import TakoClient
from tako.types.knowledge_search.types import KnowledgeSearchSourceIndex

## Securely load your API key
TAKO_API_KEY = os.getenv("TAKO_API_KEY")

## Initialize the Tako client
tako_client = TakoClient(TAKO_API_KEY)

## Initialize FastMCP server
mcp = FastMCP("tako")

@mcp.tool()
async def search_tako_for_knowledge(query: str) -> str:
    """Search Tako for any knowledge you want and get data and visualization."""
    try:
        tako_card = tako_client.knowledge_search(query)
    except Exception:
        return "No card found"
    return tako_card.model_dump()


if __name__ == "__main__":
    mcp.run(transport="stdio")