# Vaquill (remote · mcp.vaquill.ai)

Legal research: US primary law, Indian case law (31M+ judgments), and citation graph traversal.

- Trust score: 64/100 (medium)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.vaquill.ai`: 64/100 (this document), [markdown](https://verifymcp.io/servers/vaquill-ai-vaquill-mcp/s.md), [page](https://verifymcp.io/servers/vaquill-ai-vaquill-mcp/s)

## Channel facts

- Endpoint: `https://mcp.vaquill.ai/s/_`
- Transports: `streamable-http`
- Auth: `required`
- Version: `0.1.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 60/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 15 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 67/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1759 tokens (~117/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 71/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http vaquill-ai-vaquill-mcp https://mcp.vaquill.ai/s/_
```

### Codex

```toml
[mcp_servers.vaquill-ai-vaquill-mcp]
url = "https://mcp.vaquill.ai/s/_"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vaquill-ai-vaquill-mcp": {
      "type": "remote",
      "url": "https://mcp.vaquill.ai/s/_",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add vaquill-ai-vaquill-mcp --url https://mcp.vaquill.ai/s/_ --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  vaquill-ai-vaquill-mcp:
    url: "https://mcp.vaquill.ai/s/_"
```

### Other

```json
{
  "mcpServers": {
    "vaquill-ai-vaquill-mcp": {
      "type": "http",
      "url": "https://mcp.vaquill.ai/s/_"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 62, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 60, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 58, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 57)

First indexed and scored.

## MCP tools (15)

### `ask_legal_question` (~157 tokens)

AI-generated legal answer grounded in primary sources. countryCode='US' (default) covers USC, CFR, 50-state law, and CourtListener case law. countryCode='IN' covers 31M+ Indian judgments + 23K+ acts. US-only sourcesFilter: 'all' | 'statutes_only' | 'cases_only'. Modes: 'standard' or 'deep' (multi-hop, more thorough). Pass chatHistory for follow-ups. Returns answer with numbered citations.

Input parameters:

- `chat_history`
- `country_code`
- `max_sources` (integer)
- `mode` (string)
- `question` (string, required)
- `sources` (boolean)
- `sources_filter`

### `search_legal_cases` (~163 tokens)

Boolean keyword search of the **Indian** corpus. Supports AND, OR, NOT and quoted phrases. Filter by courtType (supreme_court, high_court), courtName, year range. Returns paginated results with text, citation, court, relevance score, snippet, PDF. Present only the top results, do NOT emphasize total count. Use pageSize 10 for conversational answers, 20 for exhaustive lists. For US case law, use ask_legal_question with countryCode='US'.

Input parameters:

- `country_code`
- `court_name`
- `court_type`
- `page` (integer)
- `page_size` (integer)
- `query` (string, required)
- `year_from`
- `year_to`

### `quick_search` (~116 tokens)

Fast compact **Indian** legal case search returning top 3-5 results with just the essentials: title, citation, court, year, summary excerpt, and PDF link. Same boolean query syntax as search_legal_cases but returns fewer, flatter results. Best when you need a quick overview rather than detailed results.

Input parameters:

- `country_code`
- `court_name`
- `court_type`
- `query` (string, required)
- `top_k` (integer)
- `year_from`
- `year_to`

### `resolve_citation` (~100 tokens)

Resolve any Indian legal citation format to its canonical case record. Accepts SCC, AIR, SCR, MANU, SCALE, INSC formats (e.g., '(2019) 11 SCC 706' or 'AIR 1976 SC 1207'). Returns case details and all known citation aliases/formats. Returns found=false (not an error) when citation cannot be resolved.

Input parameters:

- `citation` (string, required)
- `country_code`

### `search_cases_by_citation` (~137 tokens)

Search for legal cases by citation text or case name. Use when you know part of a case name (e.g., 'Maneka Gandhi') or a partial citation. Filter by court code (SC, DEL, BOM, MAD, etc.), year range, and validity status (GOOD_LAW, OVERRULED, DISTINGUISHED, etc.). Returns up to 50 matching cases with metadata.

Input parameters:

- `country_code`
- `court_code`
- `limit` (integer)
- `query` (string, required)
- `validity_status`
- `year_end`
- `year_start`

### `lookup_case` (~82 tokens)

Get full details for a specific case by its citation. Returns comprehensive case metadata, all known citation aliases, and citation treatment statistics showing how many times the case was followed, distinguished, overruled, approved, or referred. Use after resolve_citation or search_cases_by_citation for deep case analysis.

Input parameters:

- `citation` (string, required)
- `country_code`

### `get_citation_network` (~127 tokens)

Traverse the citation network around a case. Returns nodes (cases) and edges (citing relationships) with treatment types (followed, distinguished, overruled). Specify direction: 'outbound' (cases this cites), 'inbound' (cases citing this), or 'both'. Set depth (1-3 hops) and limit (1-100 nodes). Useful for understanding a case's legal influence.

Input parameters:

- `citation` (string, required)
- `country_code`
- `depth` (integer)
- `direction` (string)
- `limit` (integer)

### `get_pricing` (~51 tokens)

Get current API credit pricing. Returns per-endpoint credit costs and credit-to-currency conversion rates (1 credit = $0.01 USD). No authentication required. Use to check costs before making API calls.

### `search_legislation` (~152 tokens)

Search 23,000+ Indian acts, regulations, and legislation using semantic search. Find specific statutory provisions, definitions, penalties, and procedures. Filter by category (central, state, regulatory), state, department (SEBI, RBI, TRAI, etc.), and year range. Returns relevant act sections with text excerpts, section numbers, provision type, and PDF links. Use for questions like 'What is the penalty for insider trading under SEBI Act?' or 'Definition of goods under GST Act'.

Input parameters:

- `category`
- `department`
- `page_size` (integer)
- `query` (string, required)
- `state`
- `year_from`
- `year_to`

### `get_act_text` (~73 tokens)

Get URLs for the full text, PDF, and HTML versions of a specific Indian act. Pass the act_id (e.g., 'IND_central_2187' for Indian Contract Act). Returns R2 CDN URLs — fetch the text/PDF content directly from those URLs.

Input parameters:

- `act_id` (string, required)

### `get_amendments` (~107 tokens)

Get the complete amendment history for an Indian act. Returns all footnotes showing substitutions, insertions, omissions, and notes made by amending acts. Filter by section number or amendment type. Each footnote shows the amending act name and original text (if available). Use to trace how a statute evolved.

Input parameters:

- `act_id` (string, required)
- `footnote_type`
- `page` (integer)
- `page_size` (integer)
- `section`

### `list_legislation` (~161 tokens)

Browse 23,000+ Indian acts, regulations, and legislation. Use to **discover act_id values** for get_act_text and get_amendments. Filter by category (central, state, regulatory, repealed, spent), state slug, department (sebi, rbi, etc.), year range, and status (in_force, repealed, spent). Sort by year_desc, year_asc, title_asc, title_desc, or popular.

Input parameters:

- `category`
- `department`
- `page` (integer)
- `page_size` (integer)
- `search`
- `sort` (string)
- `state`
- `status`
- `year_from`
- `year_to`

### `search_us_statutes` (~155 tokens)

Semantic search across the **United States Code (USC)** and **Code of Federal Regulations (CFR)**. Use for federal statutory and regulatory questions: SEC (Title 17), FDA (Title 21), civil rights (Title 42), tax (Title 26), etc. Filter by corpusType ('USC' | 'CFR') and titleNumber. Returns sections with citation, title hierarchy, HTML/PDF/XML links. The returned act_id (e.g. 'USC_T42_C21_S1983') feeds get_us_statute_section_text for full text.

Input parameters:

- `corpus_type`
- `limit` (integer)
- `query` (string, required)
- `title_number`

### `get_us_statute_section` (~96 tokens)

Get metadata for a specific US statute or regulation section by act_id (e.g. 'USC_T42_C21_S1983'). The act_id comes from search_us_statutes results or ask_legal_question sources. Returns citation, title hierarchy, breadcrumb, and links to HTML, PDF, and XML formats. Use before get_us_statute_section_text to preview a section.

Input parameters:

- `act_id` (string, required)

### `get_us_statute_section_text` (~82 tokens)

Get the **full text** of a US statute or regulation section (USC or CFR) by act_id. Returns both styled HTML (with cross-references and paragraph numbering as published in the official code) and plain text. Use when you need the actual statutory language for quotation, drafting, or analysis.

Input parameters:

- `act_id` (string, required)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/vaquill-ai-vaquill-mcp/s#diagnostics

## Score history

- 2026-08-03: 64
- 2026-08-02: 63
- 2026-08-01: 63
- 2026-07-31: 62
- 2026-07-30: 60
- 2026-07-29: 59
- 2026-07-28: 59
- 2026-07-27: 58
- 2026-07-26: 57

## Links

- Remote endpoint: https://mcp.vaquill.ai/s/_
- Authorisation metadata: https://mcp.vaquill.ai/.well-known/oauth-protected-resource/s/_
- Repository: https://github.com/Vaquill-AI/vaquill-mcp
- Changelog RSS feed: https://verifymcp.io/servers/vaquill-ai-vaquill-mcp/s/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/vaquill-ai-vaquill-mcp/s/changelog.json
- HTML version of this page: https://verifymcp.io/servers/vaquill-ai-vaquill-mcp/s
