dataville-mcp
This server lets MCP clients (Claude Desktop/Code, etc.) discover and query Dataville's public data sources as tools.
list_dataville_sources– returns the list of available Dataville data sources (Wikipedia, arXiv, Project Gutenberg, US Census, USDA FoodData, Papers with Code, SEC EDGAR, OpenAlex, PyPI, Stack Exchange).search_dataville– query a named source withsource,keywords, and optionalparamsfor additional query parameters.Enables tasks like getting the latest PyPI version of a package, recent SEC filings/revenue for a ticker, or USDA nutrition data.
Requires a Dataville API key; supports local stdio via npx or the hosted HTTP MCP endpoint.
Allows searching arXiv preprints and papers by keyword through Dataville.
Allows searching Project Gutenberg's public-domain texts through Dataville.
Allows searching Papers With Code papers, datasets, and code through Dataville.
Allows searching PyPI package metadata and version information through Dataville.
Allows searching Stack Exchange communities' questions and answers through Dataville.
Allows searching Wikipedia articles and content through Dataville's data source API.
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., "@dataville-mcpSearch for recent sales data in the sales source."
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.
dataville-mcp
MCP server exposing Dataville's data source API as tools for MCP clients (Claude Desktop, Claude Code, etc.).
Dataville is a unified REST API over ten public datasets — Wikipedia, arXiv, Project Gutenberg, US Census, USDA FoodData, Papers with Code, SEC EDGAR, OpenAlex, PyPI, and Stack Exchange — behind one interface and one API key, with CSV/Parquet export and SQL query support. This package lets an MCP client search any of those sources as a tool call.
Requires a Dataville API key — get one from the Dataville dashboard.
Tools
list_dataville_sources— lists the data sources available viasearch_dataville.search_dataville— query a data source:{ source, keywords, params? }.
Related MCP server: Exasol MCP Server
Setup
This package is a local (stdio) MCP server: the client launches it on your
machine via npx. If you don't need it running locally, connecting to
Dataville's hosted endpoint instead takes one line and no install.
Hosted, in one line (no install)
Dataville also serves MCP directly over HTTP, so a client can connect without running anything locally — no Node, no config file, no restart:
claude mcp add --transport http dataville https://api.dataville.com/mcpThat works with no credentials at all (anonymous limits). Add
--header "Authorization: Bearer dataville_your_key_here" for the full quota.
Other clients take the same URL; the app's Integrations page has the exact
snippet for each. Use the hosted endpoint unless you specifically want to pin a
version or work offline — the rest of this section covers that local setup.
Prerequisites
Node.js (LTS) installed — this is what runs
npx. Without it the server fails to start. Check withnode --version.A Dataville API key — get one from https://app.dataville.com/api-keys.
The config block is the same everywhere; only where you put it differs:
{
"mcpServers": {
"dataville": {
"command": "npx",
"args": ["-y", "@dataville/dataville-mcp"],
"env": {
"DATAVILLE_API_KEY": "dataville_your_key_here"
}
}
}
}No install step needed — npx fetches and runs the package on demand.
Claude Desktop
Open Settings → Developer → Edit Config. This opens
claude_desktop_config.json:macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the block above (merge into
mcpServersif the file already has one), with your real key.Fully quit and reopen Claude Desktop — quit from the menu bar / system tray, not just closing the window.
The dataville tools now appear under the tools icon in the chat box, and Settings → Developer shows
datavillerunning.
Note: the server appears as tools, not in the Connectors directory — that directory only lists remote (hosted) connectors and will not find a local server. Ask naturally ("get Apple's latest revenue from dataville") and the client calls the tool.
Claude Code
claude mcp add dataville -e DATAVILLE_API_KEY=dataville_your_key_here -- npx -y @dataville/dataville-mcpRestart the session so the tools load. Add -s user to make it available in
every project instead of just the current one.
Configuration
DATAVILLE_API_BASE_URL is optional and defaults to https://api.dataville.com;
set it to http://localhost:5000 to point at a local backend during development.
Running from source
git clone https://github.com/datavilleorg/dataville-mcp.git
cd dataville-mcp
npm install
npm run buildCheck that it works
Ask your client one of these. Each answer is checkable on purpose — a model that skipped the tool and answered from memory sounds just as confident, so a reply on its own proves nothing.
Ask | What proves it |
| Calls |
| A version you can confirm on pypi.org — and it moves, so it can't come from memory. |
| A form type, filing date, revenue figure, and a sec.gov link to open. |
| The exact USDA figure, 14.1 g per 100 g. |
Clients show when a tool ran. If you don't see that, say "use dataville" in the prompt to make it explicit, and check the answer against the source.
Development
npm run dev # tsx watch
npm test # node test runner
npm run build # tscReleasing
Publishes run from CI via npm trusted publishing (OIDC) — no tokens are stored.
To cut a release: bump the version, update CHANGELOG.md, then publish a GitHub
Release for the new tag. The Publish workflow builds, tests, and publishes to npm.
Available Tools
2 toolslist_dataville_sourcesList Dataville data sourcesA
List the data sources available through Dataville's search_dataville tool.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It only states 'List' without confirming read-only behavior, output format, or potential limitations. This minimal information provides little transparency beyond the basic action.
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?
The description is a single, compact sentence with no filler. It efficiently communicates the tool's purpose without unnecessary words or repetition.
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 the tool's simplicity (0 parameters, no output schema), the description sufficiently conveys the core purpose. It could optionally detail what information is included in the list of sources, but the current description is adequate for the tool's scope.
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?
The tool has 0 parameters, and the schema is empty. The baseline is 4, and the description needs to add no parameter details since there are none to explain.
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 action ('List') and the resource ('data sources'), and explicitly ties them to Dataville's search_dataville tool. This distinguishes it from the sibling search tool, which focuses on querying, making the purpose unambiguous.
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 implication is that listing data sources is a precursor to using search_dataville, but the description does not explicitly say when to use this tool versus search_dataville or mention any exclusions. Context is present but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_datavilleSearch a Dataville data sourceA
Query one of Dataville's data sources (see list_dataville_sources for valid source names) with a keyword string and optional query params.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Optional additional query parameters | |
| source | Yes | Data source name, e.g. 'wikipedia', 'arxiv', 'edgar' | |
| keywords | Yes | Search keywords or identifier for the query |
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 clearly states the tool is a query operation, implying no destructive behavior. It does not detail potential behaviors like pagination, rate limits, or result limits, which would elevate transparency. With no annotations, this is adequate but minimal.
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?
The description is a single sentence that efficiently delivers the core purpose, references the sibling tool for additional context, and mentions both the keyword and optional params. No wasted 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?
Given the tool has 3 parameters (100% schema coverage), no output schema, and no annotations, the description is reasonably complete for a simple query tool. It tells the agent what to query and where to find valid sources. However, it lacks information about what the output looks like (e.g., result format) which would be needed for full completeness.
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%, so the schema already documents all parameters. The description adds minimal value beyond the schema, only hinting that 'keywords' is a search string and 'params' are optional. It does not explain how params are used or provide examples. Baseline 3 is appropriate.
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 verb ('Query'), resource ('one of Dataville's data sources'), and key components (keyword string, optional query params). It distinguishes itself from the sibling tool by referencing list_dataville_sources for valid source names.
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 says to use list_dataville_sources to find valid source names, providing clear context for when to use this tool. However, it does not exclude any scenarios or mention when not to use it, missing a point for a perfect score.
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.
2 tool updates
v0.1.0- First observed
list_dataville_sources - First observed
search_dataville
TDQS
The two tools have clearly distinct purposes: one lists available data sources, the other queries a specific source. There is no overlap or ambiguity.
Both tools follow a consistent verb_noun pattern with the 'dataville' prefix ('list_dataville_sources', 'search_dataville'), making them predictable and easy to understand.
With only 2 tools, the server is severely under-scoped for a data platform. While listing and searching are core, many essential operations (e.g., adding/removing sources, metadata exploration) are missing, making the count feel inadequate.
The tool surface is extremely bare. Missing lifecycle operations for sources, lack of search result pagination or filtering, and no way to inspect source schemas or metadata. Agents will hit dead ends quickly.
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
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Public tools to understand Dynamik, discover datasets, and connect account-scoped capabilities.
Query, join, profile, clean and convert CSV/JSON/Parquet with server-side DuckDB over MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables SQL query execution and database structure browsing via MCP tools and resources.MIT
- -licenseNot gradedqualityAmaintenanceProvides an LLM access to the Exasol database via MCP tools, enabling reading of database metadata and execution of data reading queries.18-
- FlicenseNot gradedqualityDmaintenanceEnables file system operations, web scraping, and AI-powered search through MCP tools for use by LLM agents.1-
- AlicenseAqualityDmaintenanceExposes Azure AI Foundry agents, workflows, and AI Search vector-database capabilities as MCP tools, enabling natural language interaction with agents, semantic search, and index management.102MIT
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/datavilleorg/dataville-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server