
Vaquill
io.github.Vaquill-AI由 GitHub 账号 Vaquill-AI 发布v0.4.2更新于 Nov 7, 2026
Search US and Indian statutes, regulations, constitutions, and court rules.
概览
Vaquill 让助手检索美国联邦与州初级法律及印度立法,支持引注解析并返回条文全文。
- 可以做什么
- 检索美国法规与规章(USC、CFR、各州法典、宪法、法院规则、联邦公报),可按州、篇、年份等筛选
- 解析 Bluebook 引注到具体条文,读取全文、元数据与官方来源链接
- 结合上下文阅读条文:前后条、定义条款、交叉引用、其他州类似规定及观察到的变更
- 浏览法律层级结构,并查询各司法辖区收录了哪些语料
- 检索与浏览印度中央及州法案、监管机构文件、修订历史,以及 IPC/CrPC 到 BNS/BNSS 的对应条文
- 提供通用 search 与 fetch 接口、免费价格查询,以及指南与覆盖范围资源
- 适用场景
- 适合需要基于官方原文回答美国或印度法律法规问题、核对引注、做多州横向比较的场景,让助手引用初级法律原文而非凭记忆作答。
- 运行要求
- 可通过 mcp.vaquill.ai 的远程 streamable HTTP 端点使用,或本地运行 uvx 包。需要 Vaquill 账号与 API 密钥(vq_key_...),以 Authorization Bearer 头、URL 路径或本地运行的 VAQUILL_API_KEY 提供;也支持 OAuth 登录。美国与印度语料为不同端点。
安装
在 SourceWeft 中
- 打开 控制台中的 Vaquill,将其添加到工作区。
- 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.Vaquill-AI%2Fvaquill-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"vaquill": {
"type": "http",
"url": "https://mcp.vaquill.ai/mcp"
}
}
}README
vaquill-mcp
MCP server for Vaquill legal research API. Covers US federal and 50-state primary law: USC, CFR, state statutes and regulations, state and US constitutions, court rules, the Federal Register, executive orders, and agency guidance. Search primary law, resolve statutory citations, browse the hierarchy, and ground answers in official sources, all from your AI tools.
Quick Start
Prerequisites
Sign up at vaquill.ai to get your API key.
Claude.ai (Web)
No installation needed. Add as a remote MCP server from Customize > Connectors > Add custom connector:
Option A: Bearer token (recommended)
Open the Request headers section of the same dialog and add the credential there:
Claude sends the value exactly as you type it and adds no scheme of its own, so the value
field holds Bearer vq_key_... and not Authorization: Bearer vq_key_....
Option B: API key in the URL (compatibility)
Still live, and still the only form that works where a client cannot send a header at all. Prefer Option A everywhere else: a credential in a URL is recorded in server logs, proxies and browsing history, which is why Anthropic's connector guidance advises against it and the MCP specification prohibits it.
Available on Claude Pro, Max, Team, and Enterprise plans. The Request headers section is in beta and is enabled per account, it accepts a short allowlist of header names, and it holds at most four. On Team and Enterprise an owner adds the connector under Organization settings first.
Claude Desktop
Open the config file from Settings > Developer > Edit Config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
For Indian legislation, add --jurisdiction IN. One process serves one
corpus, so run two entries if you want both:
Quit Claude completely and reopen it. It does not reload the file.
Claude Code
Remote (no install):
Local (via uvx):
--scope user registers the server for every project; the default is the current directory
only. -e stores the key with the registration, so it survives Claude Code being launched
from an IDE, which an export in your shell profile does not. Both --header and -e are
variadic, so they have to come after the server name.
Cursor
Edit ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one.
Remote:
Local (via uvx):
VS Code (Copilot)
Add to .vscode/mcp.json. For every project instead of one, run the
MCP: Open User Configuration command and use the same shape there.
Remote:
The credential goes in a prompt rather than in the file, so the file is safe to commit. VS Code asks for it on first start and remembers it. Restart the server after saving, or the tools will not appear.
Local (via uvx):
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json.
Remote:
Windsurf uses serverUrl for a remote server, not url, and interpolates ${env:VAR} if you
would rather read the credential from the environment.
Local (via uvx):
Available Tools
Tools are generated from the live Vaquill API's OpenAPI spec at startup, so the
set always matches the current API. For the authoritative, up-to-date list and
per-call credit costs, run the free get_pricing tool or inspect your MCP
client's tool list.
The US server publishes 26 tools and the India server 22, counting search and
fetch. Every one is read-only. Law change alerts (boards and watches) are deliberately not MCP
tools: the API still serves them, so create and manage alerts in the Vaquill
console or over the REST API directly.
The main groups (representative tools shown):
US statutes & regulations
USC, CFR, all 50 state codes, constitutions, state court rules, the Federal Register, and agency guidance.
Reading a section in context
Utility
search and fetch exist because ChatGPT's deep research and company-knowledge
connectors match a corpus server by those exact names and their single-string
signature, and refuse to work without them. They are thin wrappers over the
typed tools above, which any client that can call them should prefer: the typed
ones filter by jurisdiction, corpus, date and status, and these two do not.
fetch is deliberately lenient about its id, accepting an act_id, a citation
URL, a bare path, or a Bluebook citation such as 42 U.S.C. 1983.
Resources and prompts
This server is not only tools. An MCP server generated from an OpenAPI document publishes one tool per endpoint and nothing else; these two primitives are where the knowledge that is not in the API lives, and neither costs anything in the per-turn tool budget.
Resources (read, don't call):
Prompts (workflows, with the traps built in):
Indian legislation
A separate endpoint on the same host. Central and State Acts plus the instruments of the principal regulators (SEBI, RBI, MCA, IRDAI, TRAI, DGFT): 22,265 enactments and 1,098,577 individually addressable sections.
Same API key, same credit balance as the US endpoint.
One endpoint serves one jurisdiction, deliberately. The US and India
OpenAPI documents are disjoint, and each app derives its entire tool set from
one of them, so nothing under /mcp or /s/ can expose an Indian tool and
nothing under /in/ can expose a US one. The mount path selects an app; it
does not filter one, so there is no per-request check to get wrong. That also keeps an integrator's context window
to the jurisdiction they actually work in.
Environment Variables
Hosted server only
The variables below apply to vaquill-mcp-remote (the deployment behind
mcp.vaquill.ai) and are ignored by the stdio server.
OAuth is OFF unless the whole VAQUILL_OAUTH_* group is set, and the server
behaves exactly as it did before OAuth existed. A PARTIAL group raises at
startup rather than serving a half-built discovery document, because Claude
caches discovery globally by URL for about five minutes across all users, so a
wrong one outlives the misconfiguration that produced it.
The only redirect URI registered upstream is https://mcp.vaquill.ai/auth/callback.
Do NOT also register Claude's (https://claude.ai/api/mcp/auth_callback) or Claude
Code's loopback: this server proxies the flow, so the upstream never sees them, and
the ephemeral-port matching RFC 8252 requires is handled here.
Example Usage
Once configured, you can ask your AI assistant things like:
- "What does 17 CFR 240.10b-5 say about insider trading?"
- "Resolve 42 U.S.C. § 1983 to its section and show the full text"
- "Find California statutes on tenant repair obligations"
- "Browse the Texas statutory codes, then drill into the Penal Code"
Development
Tests
The suite needs no API key and no network access. Every test runs against the
checked-in OpenAPI fixtures in tests/fixtures/, and tests/conftest.py makes
any unmocked HTTP call raise, so a clone plus uv sync is the whole setup.
CI (.github/workflows/test.yml) runs two jobs, and they are deliberately not
redundant. test runs the suite against the locked environment on Python
3.10-3.13. wheel builds the package, installs it into a fresh venv without
the lockfile, and runs the same suite there. The second reproduces what a
customer gets from uvx vaquill-mcp: a lockfile does not constrain anyone
installing the published wheel, so a dependency shipping a breaking major shows
up in that job and nowhere else.
Security
Report a vulnerability to [email protected] (see SECURITY.md and https://www.vaquill.ai/security/vulnerability-disclosure).
Two things worth knowing before you connect this to an agent that holds other tools:
- The server is read-only. Every tool carries
readOnlyHint: trueanddestructiveHint: false, and none writes, sends or deletes anything. The hints describe what the tools can do; they are not a security control, and a client should treat annotations from any server as untrusted unless it trusts the server. - Returned text is third-party content. Statutes, notices, agency decisions and
session laws come from government publishers (and, for some corpora, from vendor
collection and OCR). We sanitise markup and restrict source links to government
hosts, but we do not filter wording for instructions, and
openWorldHint: falsedescribes reach, not provenance. The server sends aninstructionsnote saying so; clients that ignore it should still treat tool output as untrusted.
How It Works
This package is a thin MCP wrapper around the Vaquill Developer API. At startup, it fetches the OpenAPI spec from the live API and auto-generates MCP tools using FastMCP. Tool names are derived automatically from each endpoint's OpenAPI operation id, so new API endpoints show up as clean, ready-to-use tools with no package update; key descriptions are refined for optimal LLM performance. The one exception is a short exclusion list in server.py (_ROUTE_MAPS): the SSE streaming route, and the law change alert routes, which are a product decision rather than a technical limit.
Because the spec is fetched at startup (not bundled), tools automatically reflect any API changes without a package update.
Credits & Pricing
API calls consume credits. The credit costs in the tables above are current at
the time of writing; the get_pricing tool and each tool's own description
always reflect the live price, so treat those as authoritative if they differ.
1 credit = $0.01 USD
License
MIT
Community
Questions, ideas, or want to contribute? Join the Vaquill community on Discord.
来源:README.md,提交 127475c
工具
0版本历史
3- v0.4.2最新Nov 7, 2026
- v0.4.1Oct 2, 2026
- v0.4.0Sep 16, 2026
评分
已满足适用检查项的 85%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分