
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 分