Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
SEC filings, Wikipedia, arXiv, US Census and more for AI agents, with every answer source-linked.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
DATAVILLE_API_KEY, DATAVILLE_API_BASE_URL, Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"dataville": {
"command": "npx",
"args": [
"-y",
"@dataville/dataville-mcp"
],
"env": {
"DATAVILLE_API_KEY": "your-value",
"DATAVILLE_API_BASE_URL": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http dataville https://api.dataville.com/mcp --header 'Authorization: your-value'claude mcp add dataville --env DATAVILLE_API_KEY=your-value --env DATAVILLE_API_BASE_URL=your-value -- npx -y @dataville/dataville-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"dataville": {
"url": "https://api.dataville.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"dataville": {
"command": "npx",
"args": [
"-y",
"@dataville/dataville-mcp"
],
"env": {
"DATAVILLE_API_KEY": "your-value",
"DATAVILLE_API_BASE_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"dataville": {
"type": "http",
"url": "https://api.dataville.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"dataville": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dataville/dataville-mcp"
],
"env": {
"DATAVILLE_API_KEY": "your-value",
"DATAVILLE_API_BASE_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
DATAVILLE_API_BASE_URL envAuthorization 机密 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过域名 dataville.com 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:DATAVILLE_API_KEY, Authorization
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.1.8)于25天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Python MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Local-only Python MCP server for the Files.com API.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
Docs: docs.dataville.com · Connect an AI tool · Data sources. Examples: dataville-wikimedia, dataville-sec-edgar, company-intelligence-agent. Live demos: app.dataville.com/demos.
| Tool | What it does |
|---|---|
list_dataville_sources | Every source, with the SQL tables (if any) you can query for it. |
describe_dataville_source | One source's keyword format, a working example, and its tables' columns: { source }. |
search_dataville | Look one thing up by keywords and get the best match: { source, keywords, summary? }. |
query_dataville | Read-only SQL SELECT over the stored tables for lists, filters, counts, joins, and paging with LIMIT/OFFSET: { sql }. |
All four only read data. query_dataville covers every stored source except census and news, which are fetched live per search. It returns at most 1,000 rows per call and is billed per row returned. It reads Dataville's stored copy: some sources are loaded in bulk, others only hold records fetched before, so for one specific item search_dataville is the reliable route.
Once connected, ask in plain language and the client picks the source:
requests package on PyPI — what's the latest version and license?"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.
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/mcp
That works with no credentials at all (anonymous limits). Add --header "Authorization: Bearer dataville_your_key_here" for the full quota. Cursor and VS Code users can use the install buttons at the top of this page. 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.
npx. Without it the server fails to start. Check with node --version.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_config.json:~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonmcpServers if the file already has one), with your real key.dataville running.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 mcp add dataville -e DATAVILLE_API_KEY=dataville_your_key_here -- npx -y @dataville/dataville-mcp
Restart the session so the tools load. Add -s user to make it available in every project instead of just the current one.
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.
The server reads DATAVILLE_API_KEY from its environment and sends it only as an Authorization: Bearer header to DATAVILLE_API_BASE_URL, which is https://api.dataville.com unless you change it. It never logs the key or sends it anywhere else. The base URL must use https. Plain http is accepted only for localhost, 127.0.0.1 and [::1], so the key never crosses the network unencrypted.
All four tools are read-only: they search and query Dataville and never create, change or delete anything.
git clone https://github.com/datavilleorg/dataville-mcp.git
cd dataville-mcp npm install npm run build
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 |
|---|---|
Which data sources does Dataville have? | Calls list_dataville_sources and names all eleven. |
Using Dataville, what is the latest version of the requests package on PyPI? | A version you can confirm on pypi.org — and it moves, so it can't come from memory. |
Using Dataville, get the latest SEC filing for AAPL and its revenue. | A form type, filing date, revenue figure, and a sec.gov link to open. |
Using Dataville, how much protein is in 100g of uncooked quinoa? | The exact USDA figure, 14.1 g per 100 g. |
Using Dataville SQL, list 5 Project Gutenberg books by Mark Twain. | Calls query_dataville and returns titles with Gutenberg IDs you can open at gutenberg.org/ebooks/ . |
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.
npm run dev # tsx watch
npm test # node test runner npm run build # tsc
Publishes run from CI. npm uses trusted publishing (OIDC), so no npm token is stored; the MCP Registry step signs in with the MCP_PRIVATE_KEY repo secret. 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, then publishes server.json to the MCP Registry (its version is set from package.json, so don't bump it by hand).
The registry name com.dataville/dataville-mcp is authorized by a DNS TXT record on the dataville.com apex (v=MCPv1; k=ed25519; p= ), checked against the Ed25519 private key in the MCP_PRIVATE_KEY repo secret (hex). If the mcp-registry job fails at login, check that record and secret, then re-run just that job.