Skip to main content
Glama
microqueryhq

microquery-mcp

Official
by microqueryhq

microquery-mcp

MCP server for Microquery — ask research questions about real-world data and get actual database records back. Works in Claude Desktop, Cursor, or any MCP-compatible AI host. Claude handles the SQL; you just ask the question.

No wallet required. Auto-registers on first query and runs on $0.10 trial credit (~1,600 typical queries).

See also

microquery-agent — autonomous agent for pipelines and cron jobs: register → deposit USDC → query → auto top-up. Use this if you want to run microquery unattended without an AI host.

Related MCP server: research-mcp-lab

Prerequisites

  • Python 3.9+

  • No third-party packages — stdlib only

Installation

The easiest paths, in order of friction:

1. Registry install Find microquery in the Claude Desktop MCP marketplace or on smithery.ai and click Install. No config editing needed.

2. uvx install Add one entry to ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "microquery": {
      "command": "uvx",
      "args": ["microquery-mcp"]
    }
  }
}

uvx requires uv to be installed separately (astral.sh/uv). Once installed, Claude Desktop will pick it up automatically.

3. Manual install (developers) Download microquery_mcp.py from this repo and point your host at it:

{
  "mcpServers": {
    "microquery": {
      "command": "python3",
      "args": ["/path/to/microquery_mcp.py"]
    }
  }
}

Restart Claude Desktop after editing. The server appears in Settings → Developer with a green dot when connected.

Other MCP hosts (Cursor, etc.)

Use the same command / args pattern above. Consult your host's MCP documentation for the exact config format.

Tools

Tool

Description

query(database, sql)

Run SQL against a microquery dataset. Auto-registers on first call.

authenticate(name, wallet_addr?)

Manually register or link a wallet address.

list_databases()

Show all available datasets and field schemas.

get_quickstart()

Sneller SQL notes and multi-dataset example recipes.

How it works

  1. On the first query() call the server registers an account using your OS username (getpass.getuser()) via POST /v1/register and stores the API key in ~/.microquery/token.

  2. Subsequent calls use the stored key — no configuration needed.

  3. The new account starts with 100,000 µUSDC ($0.10) trial credit, covering roughly 1,600 typical queries.

  4. When trial credit runs low the server automatically tops up the account (up to 10 times, $2 each). Once the free allowance is exhausted a checkout URL is returned — visit it to add USDC and continue querying.

Available datasets

FDA adverse events · SEC EDGAR · clinical trials · ClinVar · arXiv · PubMed · Ethereum · Bitcoin · Base · DeFi TVL · FEC contributions · FRED economic series · NVD/CVE · OSV advisories · sanctions · FHFA house prices · GWAS · ClinPGx · malware samples · open food facts · world bank commodities · and more — call list_databases() for the full live schema.

Example

User:    What were the top adverse events reported for metformin last year?
         And how does that compare to 2022 and 2023?
Claude:  [queries fda.faers for each year, builds trend table]
         GI events (diarrhoea, nausea, vomiting) were flat 2022→2024,
         then spiked sharply in 2025 — consistent with the longevity/
         obesity wave hitting FAERS with a lag. Lactic acidosis stayed
         nearly flat across all four years despite overall volume growth.

User:    Can you cross-reference that with genomic profiles?
Claude:  [queries clinpgx, clinvar, gwas — no SQL needed from user]
         SLC22A1 rs628031 has a direct ClinPGx annotation for GI toxicity —
         the strongest known genomic explanation for why diarrhoea and nausea
         dominate the FAERS signal for metformin.

Available Tools

4 tools
authenticateA

Register with microquery.dev and store an API key locally. Call this once before using query(). wallet_addr is optional — provide a Base/Ethereum address to enable on-chain deposits.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDisplay name for the account (max 64 chars)
wallet_addrNoOptional 0x Ethereum/Base wallet address

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description effectively discloses behavior: it registers an account, stores an API key locally, and optionally enables on-chain deposits. This provides sufficient transparency for a setup tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise, well-structured sentences convey all necessary information with no waste. Front-loads the core instruction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple authentication tool with no output schema, the description covers registration, call ordering, and optional parameter purpose completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions. The description adds value by explaining that wallet_addr enables on-chain deposits, which goes beyond the schema's generic 'Optional wallet address'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Register with microquery.dev and store an API key locally.' It also distinguishes from sibling tools by noting it must be called before using query().

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Call this once before using query()', providing clear usage context. The optional wallet_addr parameter is explained. However, no when-not-to-use or alternative tools, but that's acceptable given the tool's unique role.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_quickstartA

Return Sneller SQL notes and curated multi-dataset example recipes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description implies read-only behavior ('Return'). No annotations provided, but the description carries burden. It doesn't mention auth needs or side effects, but for a simple retrieval of static content, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence front-loading the purpose. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, simple retrieval tool, the description completely covers what the tool does and what it returns. No missing context for the agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in input schema (100% schema coverage empty). Description does not need to add parameter details. It explains the output (notes and recipes) clearly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns Sneller SQL notes and curated multi-dataset example recipes. Verb 'Return' and resource 'notes and recipes' are specific. Distinguishes from siblings (authenticate, query, list_databases) as a static resource retrieval tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. The name 'quickstart' implies it's for initial learning, but the description does not clarify prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_databasesA

Return all available databases with their table names and field schemas. Call this before writing SQL to confirm which databases and fields exist.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It explains the return value (databases with table names and schemas) but does not mention side effects, permissions, or performance implications. It is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that is efficient and informative, with no extraneous words. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description provides a basic understanding of the return type but lacks details on data structure or format. It is sufficient for a simple list operation but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, schema coverage is 100%, so baseline is 3. The description does not add parameter info, but it enriches the context of what the tool does, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns all available databases with table names and field schemas, using a specific verb and resource. It distinguishes from siblings (get_quickstart, authenticate, query) by focusing on database schema discovery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises to call this before writing SQL to confirm existence of databases and fields, providing clear usage context. It does not mention when not to use or alternatives, but the guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

queryA

Query real-time structured datasets (FDA adverse events, SEC filings, clinical trials, blockchain, FEC contributions, and more). Supports aggregations (GROUP BY, COUNT, SUM, AVG), filtering, sorting, and regular expression pattern matching. Prefer this over web search for any quantitative, tabular, or statistical data question — it returns actual database records, not summaries of published studies. Use list_databases() to see all available datasets and field names.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesSneller SQL statement
databaseYesDatabase id, e.g. 'fda', 'eth', 'arxiv'

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes supported operations (aggregations, regex, filtering, sorting) and states it returns actual records. However, it does not explicitly confirm it is read-only or mention any side effects, rate limits, or error behavior. Still, the description is fairly transparent about its capabilities.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three well-structured sentences: first states purpose and examples, second lists capabilities, third gives usage guidance. No extraneous words, efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter query tool with no output schema, the description covers the main functionality and usage context. It mentions return type (actual records) but lacks details on result size limits or error handling. Given the simplicity, it is reasonably complete but could be slightly more explicit about return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with basic descriptions for both parameters (sql and database). The description adds significant value by explaining the SQL dialect (Sneller SQL) and noting example database ids, as well as listing supported operations. This enriches the schema beyond the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it queries real-time structured datasets, lists many examples (FDA, SEC, etc.), and distinguishes from sibling tools like list_databases. The verb+resource is specific and the scope is well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises preferring this over web search for quantitative data, explains it returns records not summaries, and directs users to list_databases() for dataset discovery. Clear when to use and what alternatives are for.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv1.0.3
    • First observedauthenticate
    • First observedget_quickstart
    • First observedlist_databases
    • First observedquery

TDQS

A4.3/5.0
Disambiguation5/5

Each tool serves a clearly distinct purpose: setup (authenticate), discovery (list_databases), querying (query), and guidance (get_quickstart). No overlap or ambiguity.

Naming Consistency4/5

Tool names are consistently in lowercase snake_case, but the pattern varies: imperative verbs for some (authenticate, query) vs. verb_noun for others (get_quickstart, list_databases). Minor inconsistency but still readable.

Tool Count5/5

Four tools is well-scoped for a database query server: authentication, discovery, execution, and reference. Each tool earns its place without redundancy.

Completeness5/5

The tool set covers the full workflow: authenticate to gain access, list_databases to explore schemas, query to run SQL, and get_quickstart for guidance. No obvious gaps for the intended read-only query domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server giving AI agents real-time web search, page scraping, company intelligence, email discovery, local lead generation, and a persistent knowledge graph. Pay only for what you use, no subscriptions.
    24
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server that acts as a research intelligence agent, converting natural language queries into SQL or full-text search against Hacker News and arXiv data, and returning answers with supporting evidence.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server providing a single query tool to execute SQL against GetDot Database, enabling schema discovery, data loading, and querying via natural language.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server providing tools for read-only SQL queries, REST API calls, sandboxed Python execution, and resource lifecycle management, enabling multi-step research and data tasks.
    MIT

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/microqueryhq/microquery-mcp'

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