Skip to main content
Glama

create_query

Save new SQL queries to Dune Analytics for blockchain data analysis. Returns Query ID for tracking and reuse.

Instructions

Save a new query to Dune. Returns Query ID. (Requires Paid Plan)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
sqlYes
descriptionNo

Implementation Reference

  • The main handler function for the MCP 'create_query' tool. It takes name, sql, description; calls dune_service.create_query; and returns success message with URL or error.
    @mcp.tool() def create_query(name: str, sql: str, description: str = "") -> str: """ Save a new query to Dune. Returns Query ID. (Requires Paid Plan) """ try: query_id = dune_service.create_query(name, sql, description) return f"Successfully created Query {query_id}: '{name}'\nURL: https://dune.com/queries/{query_id}" except Exception as e: return f"Error creating query: {str(e)}"
  • src/main.py:154-154 (registration)
    The @mcp.tool() decorator registers the create_query function as an MCP tool, using the function name as the tool name.
    @mcp.tool()
  • The DuneService.create_query helper method that interacts with the DuneClient SDK to create the query and return its ID. Note: ignores description param.
    def create_query(self, name: str, sql: str, description: str = "") -> int: """ Creates a new query in Dune. Returns the new Query ID. """ try: # client.create_query returns a Query object, we need its ID # Removed 'description' arg as it's not supported in current SDK version query = self.client.create_query(name=name, query_sql=sql) return query.base.query_id except Exception as e: logger.error(f"Error creating query '{name}': {e}") raise

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/nice-bills/dune-mcp'

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