Skip to main content
Glama
kukapay

crypto-whitepapers-mcp

ask_whitepapers

Search and retrieve relevant cryptocurrency whitepaper content by entering a query, optionally filtered by project name, to access up to 5 matching results from the knowledge base.

Instructions

Search the knowledge base for information related to a query, optionally filtered by project.

Parameters:
    query (str): The search query to find relevant whitepaper content.
    project_name (str, optional): The name of the cryptocurrency project to filter results (e.g., 'bitcoin'). If None, searches all whitepapers.

Returns:
    str: A string containing up to 5 matching results from the knowledge base.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_nameNo
queryYes

Implementation Reference

  • The core handler function for the 'ask_whitepapers' MCP tool. It is decorated with @mcp.tool(), which registers it. The function searches a vector database of cryptocurrency whitepaper PDFs for relevant content matching the query, optionally filtered to a specific project's whitepaper, and returns the top 5 results concatenated.
    @mcp.tool()
    def ask_whitepapers(query: str, project_name: str = None, ctx: Context = None) -> str:
        """Search the knowledge base for information related to a query, optionally filtered by project.
    
        Parameters:
            query (str): The search query to find relevant whitepaper content.
            project_name (str, optional): The name of the cryptocurrency project to filter results (e.g., 'bitcoin'). If None, searches all whitepapers.
    
        Returns:
            str: A string containing up to 5 matching results from the knowledge base.
        """
        
        # Apply filter if project_name is provided
        filters = [{"source": f"{project_name.lower()}.pdf"}] if project_name else None
        
        results = knowledge_base.search(
            query=query,
            num_documents=5,
            filters=filters
        )
        
        if not results:
            return f"No matches found for query '{query}'" + (f" in {project_name} whitepaper" if project_name else "")
        
        return "\n\n".join([r.content for r in results])
  • Input/output schema defined by the function signature and docstring parameters.
    def ask_whitepapers(query: str, project_name: str = None, ctx: Context = None) -> str:
        """Search the knowledge base for information related to a query, optionally filtered by project.
    
        Parameters:
            query (str): The search query to find relevant whitepaper content.
            project_name (str, optional): The name of the cryptocurrency project to filter results (e.g., 'bitcoin'). If None, searches all whitepapers.
    
        Returns:
            str: A string containing up to 5 matching results from the knowledge base.
        """
  • The @mcp.tool() decorator registers the 'ask_whitepapers' function as an MCP tool.
    @mcp.tool()
  • A prompt that instructs the model to use the 'ask_whitepapers' tool for analyzing tokenomics.
    @mcp.prompt()
    def analyze_tokenomics(project_name: str) -> GetPromptResult:
        """Analyze the tokenomics described in a cryptocurrency whitepaper"""
        return GetPromptResult(
            description="Analyze tokenomics of a cryptocurrency",
            messages=[
                PromptMessage(
                    role="user",
                    content=TextContent(
                        type="text",
                        text=f"Analyze the tokenomics (token distribution, supply, incentives) described in the {project_name} whitepaper. "
                             f"Use the 'ask_whitepapers' tool to search the knowledge base for relevant information."
                    )
                )
            ]
        )
Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kukapay/crypto-whitepapers-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server