Introducing an MCP Server for ORION-DBs
Navigating Open Research Information Resources on BigQuery with LLMs
orion-mcp, an open-source tool that enables large language models (LLMs) such as Claude to explore schemas, draft SQL queries, estimate costs, execute these queries and export the data using R. This provides a practical entry point for users who are unfamiliar with ORION-DBs, as well as those who wish to use LLMs for data analysis.
Introduction
When working with databases provided by the ORION-DBs collective, I often find it difficult to choose between datasets, understand their schemas, and keep track of changes across releases. To make these collections discoverable, ORION-DBs website documents them. Together, ORION-DBs collections span over 20 TB of open research information on Google BigQuery, including different versions of large datasets from Crossref, OpenAlex, and OpenAIRE. The website is built from schema data fetched daily from BigQuery and versioned on GitHub. Even with the website, however, finding the right dataset and writing the corresponding SQL query remains difficult, particularly for collections with many table variants or frequent schema changes.
I therefore sometimes feed BigQuery schema files into an LLM to ask questions about the available data sources or to generate or validate SQL queries. LLMs perform reasonably well at such coding tasks when given sufficient context, and I have found it similarly useful to discuss data analysis design with an LLM directly when providing background information. It is also a quite cost-sensitive way to deal with data using LLMs.
This blog post introduces orion-mcp, an experimental tool that connects ORION-DBs schemas to AI applications such as Claude Desktop, to make this kind of data exploration and retrieval more systematic. orion-mcp follows a growing number of Model Context Protocol (MCP) servers combining scholarly resources with LLMs, many of them offered by commercial vendors and publishers.
orion-mcp provides the LLM with enough context to write SQL queries, which are then executed on BigQuery rather than in the conversation. Only the schema and the query results are passed along, which reduces token usage and keeps data retrieval auditable. BigQuery handles the underlying database computation and returns only the results to the model, typically at low cost, allowing retrieval strategies to be discussed and refined in natural language.
This post walks through a use case. The tool is at an early stage, so feedback is welcome.
What it does
A typical workflow is to ask which databases are available, explore the relevant schemas, and write a SQL query from that context. Once the results look right, they can be exported for further analysis outside the conversation. I illustrate this below with an open access analysis of publications from authors affiliated with German institutions, and from the University of Göttingen.
The full Claude chat transcript can be found here https://claude.ai/share/ec48f509-78a1-48c9-9f98-98b1c60147ee.
Explore schemas
Schema exploration runs on the same metadata that the ORION-DBs website is built from. These schema files are fetched daily from BigQuery and versioned on GitHub. The MCP server downloads them when it starts, so browsing schemas requires no Google Cloud account and costs nothing.

orion-mcpIn this case, I asked which OpenAlex snapshots ORION-DBs provides and which one is most recent. The model identified the current snapshot and, when I asked it to compare subugoe-collaborative.openalex_walden with the one in MultiObs, focusing on the works table, it worked through how the two differ in schema design.

orion-mcpQuery BigQuery
This is where authentication with Google Cloud and cost matter. Queries run against your own Google Cloud credentials, and before anything executes, orion-mcp estimates the bytes scanned, associated costs, and asks for confirmation. Here, I asked the model to use the subugoe-collaborative.openalex_walden dataset to get the number and proportion of open access articles by year for authors affiliated with German institutions between 2018 and 2025, comparing first and corresponding authors.

orion-mcp will always provide a cost estimate and ask before running a query. This allows to review and discuss the SQL code.From there, I narrowed the analysis to the University of Göttingen, including UMG, asking the model to use ROR IDs to identify the relevant institutions. Each refinement is a separate query with its own cost estimate fetched from Google BigQuery.

When results are returned, follow-up breakdowns and summaries are computed from the R objects held in the local R session.
Export datasets
Once the results looked right, I asked the model to export the raw data: DOI, institution, author role (first or corresponding), publication year, and OA status.

Exports are written as CSV for flat tabular data, or JSON for nested structures, saved to the mounted exports directory so they appear locally outside the container. he container can only access the two folders you explicitly mount, your Google credentials (read-only) and this exports folder, which prevents access to anything else on the computer.

Costs
The BigQuery side of this entire use-case session, five queries plus the export, about 46 GB scanned, cost under $0.30, and would typically fall within Google BigQuery’s free tier of 1 TB per month. Claude usage comes on top. Run against the API with Sonnet, this session would cost roughly another $0.30–0.50; in Claude Desktop, as here, it is covered by the subscription.
Installation
Full instructions are in the GitHub repo README.
The server runs in a Docker container connected to Claude Desktop via its MCP config file. Authentication uses Google’s Application Default Credentials, so local gcloud credentials are used directly and no service account keys are needed. A Google Cloud account includes 1 TB of free queries per month.
The tool is implemented in R using {mcptools} and {ellmer}, assisted with Claude Code. It mainly uses {bigrquery} to interact with Google BigQuery, which I use in my everyday work.
Note that I only tested orion-mcp using Claude and Claude Desktop. If you find any bugs or have questions, please feel free to file an issue.
Responsible use
LLMs make mistakes. Always verify that queries return the results you intended before using them in any analysis. If you plan to use this in a publication, check the outlet’s policy on AI-assisted work and document your process accordingly.
Reuse
Citation
@article{jahn2026,
author = {Jahn, Najko},
title = {Introducing an {MCP} {Server} for {ORION-DBs}},
journal = {Scholarly Communication Analytics},
date = {2026-07-16},
url = {https://subugoe.github.io/scholcomm_analytics/posts/orion_mcp_intro/},
doi = {10.59350/mmvqt-ae749},
langid = {en},
abstract = {The Open Research Information Online Databases collective
(ORION-DBs) provides access to multiple open research information
resources on BigQuery. This post introduces `orion-mcp`, an
open-source tool that enables large language models (LLMs) such as
Claude to explore schemas, draft SQL queries, estimate costs,
execute these queries and export the data using R. This provides a
practical entry point for users who are unfamiliar with ORION-DBs,
as well as those who wish to use LLMs for data analysis.}
}