microquery-mcp
OfficialProvides the ability to query arXiv research paper metadata and content using SQL.
Enables SQL queries against Bitcoin blockchain data, including transactions and blocks.
Allows SQL queries on Ethereum blockchain data, such as transactions, contracts, and events.
Offers SQL querying of PubMed biomedical literature and citations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@microquery-mcpWhat were the top adverse events for metformin in 2024?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Claude Desktop (recommended)
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 |
| Run SQL against a microquery dataset. Auto-registers on first call. |
| Manually register or link a wallet address. |
| Show all available datasets and field schemas. |
| Sneller SQL notes and multi-dataset example recipes. |
How it works
On the first
query()call the server registers an account using your OS username (getpass.getuser()) viaPOST /v1/registerand stores the API key in~/.microquery/token.Subsequent calls use the stored key — no configuration needed.
The new account starts with 100,000 µUSDC ($0.10) trial credit, covering roughly 1,600 typical queries.
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 toolsauthenticateA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the account (max 64 chars) | |
| wallet_addr | No | Optional 0x Ethereum/Base wallet address |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | Sneller SQL statement | |
| database | Yes | Database id, e.g. 'fda', 'eth', 'arxiv' |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
v1.0.3- First observed
authenticate - First observed
get_quickstart - First observed
list_databases - First observed
query
TDQS
Each tool serves a clearly distinct purpose: setup (authenticate), discovery (list_databases), querying (query), and guidance (get_quickstart). No overlap or ambiguity.
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.
Four tools is well-scoped for a database query server: authentication, discovery, execution, and reference. Each tool earns its place without redundancy.
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
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
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP 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.24MIT
- FlicenseNot gradedqualityCmaintenanceMCP 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.-
- FlicenseNot gradedqualityDmaintenanceMCP server providing a single query tool to execute SQL against GetDot Database, enabling schema discovery, data loading, and querying via natural language.-
- AlicenseNot gradedqualityBmaintenanceAn 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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