MCP App Store
by KeenEthics
Education & Research
Vitark icon

Vitark

by TLY SOFT PRIVATE LIMITED

Overview

Vitark connects ChatGPT to Indian case law and legislation for research grounded in source records. Search Supreme Court and High Court judgments and available tribunal and regulator decisions; find a case by name, case number, neutral citation or CNR; retrieve available judgment text; and look up statutory provisions. Explore similar cases, entity-linked cases and available citation links. Results include available source identifiers and retrieval limits. Judgment text may arrive in slices, and citation links may be unresolved candidates rather than verified later treatment. Verify the underlying text before relying on a result. Connect your existing Vitark account through secure sign-in. Successful substantive research calls use its credit balance; checking the balance is free. Vitark provides legal research information and does not replace advice from a qualified advocate.

Tools

get_credit_balance

ChatGPT
Check the Vitark credit balance of the signed-in account. Free to call. Credits are shared with the Vitark app account. Returns the total, reserved, and available credits for this account.

vitark_case_citations

ChatGPT
Read Acts, cited cases, and approximate reverse citations for a judgment. Args: cnr: Canonical case identifier returned by another Vitark tool. Returns: {status, source_system, source_id, cnr, source_matched, acts_referred, cases_referred, citing_candidates, citing_candidate_count, entity_coverage, reverse_edges_resolved, text_available}. acts_referred and cases_referred are what THIS judgment cites. citing_candidates are judgments that appear to cite it, matched by cited CNR or by normalised title, so a title collision can put an unrelated case in the list. Each candidate carries citation_matched / reverse_edge_resolved: false means the edge itself was not confirmed, not that the candidate is fake. reverse_edges_resolved is true when every candidate resolved — including an empty list, where there is nothing left to resolve. treatment is the producer's own label: followed, relied_on, distinguished, overruled, referred, doubted, or "unknown" when extraction read the judgment and found no express statement. "not_checked" appears only when the producer supplied no treatment value at all — the field absent or null — which says the pipeline has not examined the case, not that the case is unmarked. Neither label is a finding that the case is still good law. entity_coverage.status "not_covered" means this CNR sits outside the entity-extraction subset: the judgment is real and readable through vitark_case_text, only its extracted relationships are missing, and reverse_edges_resolved is true because there is nothing left to resolve. error_code "capability_unavailable" means the citation index is down — a tool outage, never a finding about the case. An error carrying error_class "caller_error" is a bad argument in this call instead. Successful calls can spend credits from the signed-in Vitark account. Repeating a call can spend credits again.

vitark_case_find

ChatGPT
Find a judgment by party or case name, docket number, neutral citation, or 16-character CNR. This is a metadata lookup rather than semantic legal research. Name lookups check the complete catalog and an extracted-case subset. Complete-catalog party and title fields currently cover tribunal rows; the extracted subset adds Supreme Court and High Court names for about 20 percent of the corpus. A CNR can resolve directly to one record with resolver: "cnr_lookup". Results include an opening snippet and may include a clean title and summary. Args: name: Party or case name, without conversational filler. Optional when case_number is supplied. case_number: Docket number, neutral citation, or CNR. Optional when name is supplied. court: Optional exact court name filter. year: Optional decision year. Returns: The envelope contains match_count, match_definitive, resolver, notes, match_kind, match_confidence, and results. Resolver values are cnr_lookup, full_catalog, legacy_extracted_subset, or full_catalog+legacy_extracted_subset. For a zero-result envelope, match_definitive=true records that every applicable lookup completed; false records incomplete coverage. The flag describes lookup coverage and does not grade a returned match. pagination_incomplete records an uninspected remainder. named_lookup_failed with error class capability_unavailable records that lookup was unavailable. match_kind can be cnr, case_number, docket, party, query, or partial; match_confidence can be exact, high, or candidate. Row extras may contain cnr, bench, judges, case type, petitioner, respondent, url, citation, doc_kind, forum, court type, treatment, text availability, chunk offset, and quality flags. A treatment value of not_checked records that later judicial treatment was not examined. Successful calls can spend credits from the signed-in Vitark account. Repeating a call can spend credits again.

vitark_case_text

ChatGPT
Fetch the FULL raw judgement text for a case. Use this when the user asks to read the actual reasoning, ratio, or verbatim content of a judgement, or when you need to quote a specific passage from the court's opinion. Args: cnr: The Case Number Reference (e.g. "ESCR010000971995"), or any reference vitark_case_find accepts — a Supreme Court neutral citation ("1995 INSC 98") or a docket number ("W.P.(C) 912/2025"). A non-CNR reference is resolved against the case-records database first; when it names exactly one judgment its text is returned with resolved_from set. offset: first character to read, for judgements longer than one 50,000-character slice. Pass the next_offset of the previous call to read on; omit it (0) for the beginning. Returns: - cnr: the case identifier the text belongs to - text: raw UTF-8 judgement text (up to 50,000 chars per call) - char_count: character count of this slice - truncated: true when more text remains after this slice - offset / next_offset: where this slice starts, and the offset to pass back to read the next one (null when nothing remains) - resolved_from: the reference given, when it was not a CNR When a reference names several judgments the result is {status: "error", error_code: "ambiguous_case_reference", candidates: [{cnr, title, court, year}]} — call this tool again with the CNR of the one you want. Successful calls can spend credits from the signed-in Vitark account. Repeating a call can spend credits again.

vitark_cases_by

ChatGPT
Find cases using indexed judgment entities and metadata. Args: judge: Fuzzy judge-name filter. party: Fuzzy petitioner or respondent filter. advocate: Fuzzy counsel-name filter. act: Fuzzy Act-name filter; pair with section when known. section: Exact section token within the selected Act. judge_norm: Canonical judge norm returned by entity-suggest. party_norm: Canonical party norm returned by entity-suggest. advocate_norm: Canonical advocate norm returned by entity-suggest. act_norm: Canonical Act norm returned by entity-suggest. act_year: Enactment year to distinguish same-name Acts; requires act or act_norm. court: Court or forum name or alias. year_from: Inclusive decision-year lower bound. year_to: Inclusive decision-year upper bound. category: Extracted subject category. disposition: Extracted disposition. case_type: Exact case type. case_number: Docket, neutral citation, tribunal id, or CNR. page: One-based page number. page_size: Rows per page, from 1 through 50. Returns: {status, source_system, result_count, total, total_capped, page, page_size, results, entity_coverage}. total is the producer's count for the whole filter, capped at 1000 — total_capped: true means the real total is at least that, so page rather than quote the number. This index covers only the part of the corpus with entity extraction, so it is never exhaustive. entity_coverage.status is "complete" (the coverage block is authoritative), "unavailable" (coverage could not be read; say the answer is not exhaustive) or "not_covered" (the requested case or filter sits outside the extracted subset — real, just not indexed here). It is also topic-blind: it filters on who and what, never on what was held. error_code "missing_filter" means no filter was supplied, "invalid_act_year" means act_year arrived without act/act_norm, "section_requires_act" means section arrived without act/act_norm (a section is scoped inside an Act; resolve one with vitark_entity_suggest type="act"), and "capability_unavailable" means this index is down — never a finding about the person, Act or case. An error carrying error_class "caller_error" is a bad argument in this call: fix the argument and retry. Every other error is an outage, so do not retry it as though it were. Row extras: every row's extras may carry url, citation, doc_kind, forum, court_type, treatment (later judicial treatment — "not_checked" means nothing was examined, NOT that the case is good law), text_available, chunk_offset and quality_flags. An absent key is absent data, never a negative finding. Successful calls can spend credits from the signed-in Vitark account. Repeating a call can spend credits again.

vitark_entity_suggest

ChatGPT
Resolve a person, party, Act, or place to an indexed canonical value. Args: type: Entity kind: judge, party, advocate, act, or place. q: At least two characters of the name to resolve. limit: Maximum suggestions, from 1 through 15. Returns: Suggestions with display value, canonical norm, type, and case count. Pass the norm to the matching `*_norm` cases-by filter. Successful calls can spend credits from the signed-in Vitark account. Repeating a call can spend credits again.

vitark_similar_cases

ChatGPT
Find Indian cases similar to a reference case, identified by CNR. How it works: 1. Fetches the full judgement text for the reference CNR. 2. Uses an LLM to extract the core legal issue from the judgement. 3. Runs a semantic search over the vitark corpus with that issue as the query. 4. Filters out the reference CNR from the results. Use this when the user asks for "more cases like this", "similar precedents to X", "what else has dealt with this issue", etc. Args: cnr: The reference case CNR. top_k: Number of rows to return (default 10) — passages by default, judgments when group_by_case is true. group_by_case: Collapse the passages of one judgment onto a single row (best-ranked passage as the snippet, the rest under additional_passages) so top_k counts JUDGMENTS. Retrieval and ordering are unchanged; default false keeps the historical passage-level shape. Returns: - reference_cnr: the input CNR - extracted_issue: the core legal issue used for the search - query: the effective search query (same as extracted_issue) - source_system: "vitark" - result_count: number of ROWS returned - case_count: number of distinct judgments those rows cover — lower than result_count whenever a judgment contributed more than one passage - grouped_by_case: whether the rows are per-judgment - results: list of cases in the same schema as vitark_search Successful calls can spend credits from the signed-in Vitark account. Repeating a call can spend credits again.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

9

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily